如何调整DAX公式使denom响应Excel时间轴滑块?
解决方案
问题原因
你当前的denom公式使用ALL('Cumulative Events')会清除所有筛选上下文,包括时间轴对Receipt_Date的筛选,所以时间轴滑块调整时数值不会变化;而num公式继承了当前的筛选(PT行筛选+时间轴筛选),因此会随滑块变化。
调整后的DAX公式
要让denom响应时间轴筛选,同时排除PT行字段的筛选(保证每个PT行的denom都是当前时间范围内的总唯一Case数),修改denom公式如下:
denom = CALCULATE(DISTINCTCOUNT('Cumulative Events'[Case_num]), ALL('Cumulative Events'[PT]))
最终的占比公式
基于调整后的num和denom,可以直接创建占比度量值:
Case_Ratio = DIVIDE([num], [denom], 0)
(使用DIVIDE函数可以避免除数为0的错误,第三个参数是除数为0时的返回值,这里设为0)
原理说明
ALL('Cumulative Events'[PT])仅清除PT列的筛选上下文,保留了时间轴对Receipt_Date的筛选,因此denom会随时间轴滑块调整而变化。- 此时
num是当前PT行+时间轴筛选下的唯一Case数,denom是当前时间轴筛选下所有PT的总唯一Case数,两者的比值就是每个PT在对应时间范围内的占比。
内容的提问来源于stack exchange,提问作者P E
相关产品推荐
相关产品推荐

