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
- 在此示例中,仅应考虑 ID 1 和 3。
预期输出:
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" } )
)
我正在尝试创建 dax 度量,该度量仅针对特定交易类型的同一 table 中具有一笔或多笔交易的 ID 计算交易。 示例交易 table(从这个 table 我需要计算至少有一笔 A 类交易的客户的交易数量:
id | type | count |
---|---|---|
1 | A | 10 |
2 | B | 5 |
2 | C | 11 |
3 | A | 4 |
3 | C | 1 |
- 在此示例中,仅应考虑 ID 1 和 3。
预期输出:
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" } )
)