根据行在 PowerBI DAX 中的值获取每行计数的值以用于函数
Get a value per count of rows based on their value in PowerBI DAX for use in function
假设我有一家酒店的数据库,它的结构有点像这样:
Guest Name
Revision Date
Check-In Date
Guest Room
Case Number
Checked-Out
Kurt Ambrose
2022-01-18
2022-01-16
108
100000054
null
John Forge
2022-01-18
2022-01-16
222
100000050
null
James Cutter
2022-01-18
2022-01-12
106
100000042
null
Kurt Ambrose
2022-01-19
2022-01-16
108
100000054
null
John Forge
2022-01-19
2022-01-16
222
100000050
Complete
James Cutter
2022-01-19
2022-01-12
106
100000042
null
Kurt Ambrose
2022-01-20
2022-01-16
108
100000054
null
James Cutter
2022-01-20
2022-01-12
106
100000042
null
Kurt Ambrose
2022-01-21
2022-01-16
108
100000054
null
James Cutter
2022-01-21
2022-01-12
106
100000042
null
Kurt Ambrose
2022-01-22
2022-01-16
108
100000054
null
James Cutter
2022-01-22
2022-01-12
106
100000042
null
John Forge
2022-01-22
2022-01-22
111
100000055
null
Serin Osman
2022-01-22
2022-01-22
202
100000056
null
Kurt Ambrose
2022-01-23
2022-01-16
108
100000054
null
James Cutter
2022-01-23
2022-01-12
106
100000042
null
John Forge
2022-01-23
2022-01-22
111
100000055
null
Serin Osman
2022-01-23
2022-01-22
202
100000056
Partial
所以在这种情况下,如果我想获得在这个数据库中的平均停留时间,我的想法告诉我要做的是计算每个修订日期的案例数,因为我不能使用名称,因为 John Forge 检查了出去然后回到酒店并得到一个新的案例编号,这算作一次新的住宿,这会影响平均值,所以我需要计算每个修订日期和案例编号并将该数字添加到平均值的计算中,但如果“签出”列中有文本则排除。我也想在以后的可视化中使用其他类型的指标。
问题是,我不知道如何在 DAX 中为 PowerBI 编写这种需求,或者它是否可能。我可以帮忙吗?
试试这个测量:
Average Time of Stay :=
VAR MyTable =
SUMMARIZE(
Table1,
Table1[Case Number],
"Count", COUNTROWS( FILTER( Table1, Table1[Checked-Out] = "null" ) )
)
RETURN
AVERAGEX( MyTable, [Count] )
假设我有一家酒店的数据库,它的结构有点像这样:
Guest Name | Revision Date | Check-In Date | Guest Room | Case Number | Checked-Out |
---|---|---|---|---|---|
Kurt Ambrose | 2022-01-18 | 2022-01-16 | 108 | 100000054 | null |
John Forge | 2022-01-18 | 2022-01-16 | 222 | 100000050 | null |
James Cutter | 2022-01-18 | 2022-01-12 | 106 | 100000042 | null |
Kurt Ambrose | 2022-01-19 | 2022-01-16 | 108 | 100000054 | null |
John Forge | 2022-01-19 | 2022-01-16 | 222 | 100000050 | Complete |
James Cutter | 2022-01-19 | 2022-01-12 | 106 | 100000042 | null |
Kurt Ambrose | 2022-01-20 | 2022-01-16 | 108 | 100000054 | null |
James Cutter | 2022-01-20 | 2022-01-12 | 106 | 100000042 | null |
Kurt Ambrose | 2022-01-21 | 2022-01-16 | 108 | 100000054 | null |
James Cutter | 2022-01-21 | 2022-01-12 | 106 | 100000042 | null |
Kurt Ambrose | 2022-01-22 | 2022-01-16 | 108 | 100000054 | null |
James Cutter | 2022-01-22 | 2022-01-12 | 106 | 100000042 | null |
John Forge | 2022-01-22 | 2022-01-22 | 111 | 100000055 | null |
Serin Osman | 2022-01-22 | 2022-01-22 | 202 | 100000056 | null |
Kurt Ambrose | 2022-01-23 | 2022-01-16 | 108 | 100000054 | null |
James Cutter | 2022-01-23 | 2022-01-12 | 106 | 100000042 | null |
John Forge | 2022-01-23 | 2022-01-22 | 111 | 100000055 | null |
Serin Osman | 2022-01-23 | 2022-01-22 | 202 | 100000056 | Partial |
所以在这种情况下,如果我想获得在这个数据库中的平均停留时间,我的想法告诉我要做的是计算每个修订日期的案例数,因为我不能使用名称,因为 John Forge 检查了出去然后回到酒店并得到一个新的案例编号,这算作一次新的住宿,这会影响平均值,所以我需要计算每个修订日期和案例编号并将该数字添加到平均值的计算中,但如果“签出”列中有文本则排除。我也想在以后的可视化中使用其他类型的指标。
问题是,我不知道如何在 DAX 中为 PowerBI 编写这种需求,或者它是否可能。我可以帮忙吗?
试试这个测量:
Average Time of Stay :=
VAR MyTable =
SUMMARIZE(
Table1,
Table1[Case Number],
"Count", COUNTROWS( FILTER( Table1, Table1[Checked-Out] = "null" ) )
)
RETURN
AVERAGEX( MyTable, [Count] )