亲爱的
在PowerBI中,使用DirectQuery,我希望将每天发生的次数总和除以总天数
让我为您提供示例数据。
数据表:
ID;DATE;HOUR
715;2019-10-19;15:47:37
181;2019-10-19;15:56:11
349;2019-10-19;15:57:25
6ec;2019-10-19;15:58:16
57e;2019-10-19;16:02:35
860;2019-10-19;16:03:42
7a5;2019-10-19;16:03:52
978;2019-10-19;16:05:19
da0;2019-10-20;11:00:45
c2d;2019-10-20;23:04:53
355;2019-10-20;23:04:53
4f5;2019-10-20;23:05:10
396;2019-10-21;14:42:24
5f7;2019-10-21;14:43:37
93a;2019-10-21;14:55:36
a44;2019-10-21;14:59:21
264;2019-10-21;15:05:20
f48;2019-10-21;15:07:01
还有一个汇总的维度表,其中包含 DataTable中的值:
DimHourTable:
COMPLETEHOUR;HOUR24
15:47:37;15
15:56:11;15
15:57:25;15
15:58:16;15
16:02:35;16
16:03:42;16
16:03:52;16
16:05:19;16
11:00:45;11
23:04:53;23
23:04:53;23
23:05:10;23
14:42:24;14
14:43:37;14
14:55:36;14
14:59:21;14
15:05:20;15
15:07:01;15
注意:DataTable [HOUR]和DimHourTable [COMPLETEHOUR]
之间与双向过滤器的关系
我现在正在这样做:
formula1
Occurrences = COUNTA( DataTable[id] )
formula2
CountDays = DISTINCTCOUNT( DataTable[date] )
formula3
Avg_Occurrences = DIVIDE( [Occurences] , [CountDays] )
然后我将以下内容放入矩阵
行:DimHourTable [HOUR24]
值:平均发生次数
有了该样本数据,这就是我得到的平均值。
11 -> 1
14 -> 4
15 -> 3
16 -> 4
23 -> 3
最后将其除以包含该特定小时的天数。
但是,实际上,我想要这个:
11 -> 0.33
14 -> 1.33
15 -> 2
16 -> 1.33
23 -> 1
我想将发生次数除以 DataTable 中出现的总天数,而不考虑是否包含特定的小时数。
有人知道如何解决吗?
谢谢!
答案 0 :(得分:0)
尝试将其用于Formula2
CountDays = CALCULATE ( DISTINCTCOUNT ( DataTable[date] ), ALL ( 'DataTable' ) )
使用切片器时,您也可以尝试
CountDays = CALCULATE ( DISTINCTCOUNT ( DataTable[date] ), ALLSELECTED ( 'DataTable' ) )
ALL和ALLSELECTED函数将删除由DimHourTable[HOUR24]
创建的filtercontext,它们放在矩阵可视化行中