【发布时间】:2022-01-16 00:41:14
【问题描述】:
我正在尝试从表 Cases 中选择行,计算列表中每个 Broker 的行数,然后获取每个 Broker 的排名。我的代码工作到最后一步。我知道这是因为使用表 2 代码的度量给了我正确的结果。但是我在计算排名时做错了。你能告诉我问题是什么吗?我尝试使用 ALL(Table3),但这给了我一个语法错误(“所有需要一个表引用,而不是一个表表达式。”)
这让我发疯了。我浪费了数小时尝试变体、寻找示例、阅读文档,但这里有些东西我就是不明白。我终于让 FILTER、SELECTCOLUMNS、SUMMARIZE 和 ADDCOLUMNS 序列正常工作。 (虽然显然不推荐使用 SUMMARIZE 添加列——但在这里似乎可以正常工作。)
BrkPricedCtRank =
VAR Table0 =
FILTER ( 'Cases',
not ISBLANK( [Date To Pricing] )
&& [Date Initiated] >= date(2021,1,1)
&& [Date Initiated] <= DATE(2021,12,31) )
VAR Table1 =
SELECTCOLUMNS(
Table0,
"Broker", [Broker]
)
VAR Table2 =
SUMMARIZE(
Table1,
[Broker],
"PricedCt", COUNTROWS( Table1 ) )
--For measure BrkPricedCt. the code continues with these 2 lines.
--That measure gives me what I want.
-- RETURN
-- MINX( Table2, [PricedCt] )
VAR Table3 =
ADDCOLUMNS(
Table2,
"Rank", RANKX( Table2, [PricedCt] ) )
return MINX( Table3, [Rank] )
【问题讨论】: