Power BI中日级USERELATIONSHIP失效问题求助
解决USERELATIONSHIP度量值日期筛选返回空值的问题
问题分析
你的度量值Resolved = CALCULATE(COUNT('Query1'[number]), USERELATIONSHIP('Date'[Date],'Query1'[resolved_at]))在日期筛选时返回空值,核心原因是:
- 日期筛选器基于Date表与Query1表的主活跃关系(比如工单新增日期
created_at),此时筛选上下文会锁定Date表的日期范围; USERELATIONSHIP仅会关联与筛选日期完全匹配的resolved_at记录,若筛选日期内无对应已解决工单,就会返回空值;- 移除筛选后,度量值会统计所有历史
resolved_at的工单总数,因此数据正常。
结合你“统计员工前一日已解决工单总数”的需求,以下是修正后的DAX公式:
修正后的度量值(前一日已解决工单)
Resolved_Previous_Day = CALCULATE( COUNT('Query1'[number]), USERELATIONSHIP('Date'[Date], 'Query1'[resolved_at]), DATEADD('Date'[Date], -1, DAY) )
公式说明
DATEADD('Date'[Date], -1, DAY):将当前筛选的日期上下文向前偏移1天,定位到“前一日”;USERELATIONSHIP:激活Date表与resolved_at的非活跃关系,统计前一日所有已解决的工单数量;- 该公式会自动适配日期筛选器的选择,比如你筛选2024-05-20,就会返回2024-05-19的已解决工单总数。
额外补充:若需统计筛选日期范围内的已解决工单
如果你的需求是统计筛选日期范围内(而非前一日)的已解决工单,可使用以下公式避免空值:
Resolved_In_Range = CALCULATE( COUNT('Query1'[number]), USERELATIONSHIP('Date'[Date], 'Query1'[resolved_at]), ALLSELECTED('Date') )
ALLSELECTED('Date')会保留用户选择的日期范围,同时通过USERELATIONSHIP关联该范围内的resolved_at记录。
内容的提问来源于stack exchange,提问作者user21265764
相关产品推荐
相关产品推荐

