DAX Measure 根据条件统计交易

DAX Measure count transaction based on condition

我正在尝试创建 dax 度量,该度量仅针对特定交易类型的同一 table 中具有一笔或多笔交易的 ID 计算交易。 示例交易 table(从这个 table 我需要计算至少有一笔 A 类交易的客户的交易数量:

id type count
1 A 10
2 B 5
2 C 11
3 A 4
3 C 1

预期输出:

type sum(count)
A 14
B 0
C 1

请注意,由于我正在连接到 SSAS 模型(实时连接),因此我只需要采取措施即可实现此目标

您需要 2 个 自定义列 和 1 个 测量 来实现您所需的输出,如下所示-

自定义列-

custom_cplumn_count_A = 

var current_row_id = your_table_name[id]
var a_count =
COUNTROWS(
    FILTER(
        ALL(your_table_name),
        your_table_name[type] = "A"
            && your_table_name[id] = current_row_id
    )
)

RETURN if(a_count >= 1,1,0)
custom_column_count_A_2 = your_table_name[count] * your_table_name[custom_cplumn_count_A]

测量-

sum_count = sum(your_table_name[custom_column_count_A_2])

这是最终输出-

可以通过非常有效的单一措施从当前 table 开始,无需任何 table 修改。

Measure =
CALCULATE (
    SUM ( 'Table 1'[count] ),
    CALCULATETABLE ( VALUES ( 'Table 1'[id] ), 'Table 1'[type] IN { "A" } )
)