如何过滤比较两个不同的列 DAX
How to filter comparing two different columns DAX
我在 Table1[client] 和 Table2[client_source] 领域有以下两个 tables 相关:
Table 1 :
Date Client wait_duration
03/08/2020 client1 42
03/08/2020 client2 8
03/08/2020 client1_x 10
03/08/2020 client2 10
03/08/2020 client1_x 10
03/08/2020 client3 32
03/08/2020 client3 21
03/08/2020 client3 18
03/08/2020 client1_y 128
Table 2 :
client source_client Treshhold
AAA client1 60
AAA client1_x 60
AAA client1_y 60
BBB client2 30
CCC client3 20
我的 objective 是将具有 duration_wait > 的行计数到其关联的阈值。
所以我在 Power Pivot 中尝试了以下 DAX 公式:
=COUNTROWS(CALCULATETABLE(Table1;Table1[wait_duration] <= Table2[Treshold]))
但它给了我以下错误:
“表达式包含多列,但在用作 table 过滤器表达式的 True / False 表达式中只能使用一列。”
我试图在表达式中使用 RELATED(Table2[Treshold]),但引擎似乎无法 link 列并在公式中注入相关的阈值。 .
如果不能在表达式中使用这两列,我该如何比较它们?
我需要 table,因为它允许我将不同的实体分组在一个唯一的客户名称下,并为每个客户应用不同的阈值。
如有任何建议,我们将不胜感激。谢谢!
假设 Table 2
包含 source_client
的唯一值最好使用 FILTER
而不是 CALCULATEDTABLE
Client Duration =
COUNTROWS (
FILTER ( Table1, Table1[wait_duration] > RELATED ( Table2[Treshhold] ) )
)
生成输出
我在 Table1[client] 和 Table2[client_source] 领域有以下两个 tables 相关:
Table 1 :
Date Client wait_duration
03/08/2020 client1 42
03/08/2020 client2 8
03/08/2020 client1_x 10
03/08/2020 client2 10
03/08/2020 client1_x 10
03/08/2020 client3 32
03/08/2020 client3 21
03/08/2020 client3 18
03/08/2020 client1_y 128
Table 2 :
client source_client Treshhold
AAA client1 60
AAA client1_x 60
AAA client1_y 60
BBB client2 30
CCC client3 20
我的 objective 是将具有 duration_wait > 的行计数到其关联的阈值。
所以我在 Power Pivot 中尝试了以下 DAX 公式:
=COUNTROWS(CALCULATETABLE(Table1;Table1[wait_duration] <= Table2[Treshold]))
但它给了我以下错误: “表达式包含多列,但在用作 table 过滤器表达式的 True / False 表达式中只能使用一列。”
我试图在表达式中使用 RELATED(Table2[Treshold]),但引擎似乎无法 link 列并在公式中注入相关的阈值。 .
如果不能在表达式中使用这两列,我该如何比较它们? 我需要 table,因为它允许我将不同的实体分组在一个唯一的客户名称下,并为每个客户应用不同的阈值。
如有任何建议,我们将不胜感激。谢谢!
假设 Table 2
包含 source_client
的唯一值最好使用 FILTER
而不是 CALCULATEDTABLE
Client Duration =
COUNTROWS (
FILTER ( Table1, Table1[wait_duration] > RELATED ( Table2[Treshhold] ) )
)
生成输出