如何在PowerBI中依据业务规则统计有效文档确认请求用户数?
解决文档确认请求有效用户数统计问题(PowerBI DAX方案)
核心需求回顾
每个文档可多次经历「编辑-发布」循环,每次新发布后,此前所有的确认请求自动失效,仅需统计最后一次发布后的确认请求用户数(去重),以及其中已完成确认的用户数。
步骤1:生成每个文档的最新发布记录
先创建计算表,提取每个文档最后一次发布的时间和对应工作流ID,作为判断确认请求有效性的基准:
Latest Publish Workflows = CALCULATETABLE ( SUMMARIZE ( Activity, Document[Id], "Latest Publish Time", MAX ( Activity[Executed] ), "Latest Publish Workflow Id", MAX ( Workflow[Workflow Id] ) ), Workflow[Type] = "Authoring", // 匹配你的工作流类型字段实际取值 Activity[Type] = "Publish" // 匹配你的发布活动类型字段实际取值 )
步骤2:标记有效确认请求
在Activity表中添加计算列,判断每条确认请求是否属于最后一次发布后的有效请求:
Is Valid Request = VAR CurrentDocId = RELATED ( Document[Id] ) // 获取当前文档的最后一次发布时间 VAR LastPublishTime = LOOKUPVALUE ( 'Latest Publish Workflows'[Latest Publish Time], 'Latest Publish Workflows'[Id], CurrentDocId ) VAR ActivityTime = Activity[Executed] RETURN // 仅对确认类活动进行有效性判断 IF ( Activity[Type] = "Acknowledge", // 匹配你的确认活动类型字段实际取值 ActivityTime >= LastPublishTime, FALSE )
步骤3:创建度量值统计有效请求
总有效请求用户数(去重)
Total Valid Requests = CALCULATE ( DISTINCTCOUNT ( Activity[User] ), Activity[Is Valid Request] = TRUE() )
已完成确认的有效用户数
Completed Valid Requests = CALCULATE ( DISTINCTCOUNT ( Activity[User] ), Activity[Is Valid Request] = TRUE(), Activity[Acknowledged] = TRUE() )
最终使用
将上述两个度量值拖入条形图,即可得到预期结果:总有效请求数为3,已完成请求数为2。
注意:代码中引号内的字段值需和你实际数据中的取值完全匹配,若有差异请自行调整。
内容的提问来源于stack exchange,提问作者DrFloyd5
相关产品推荐
相关产品推荐

