Power-Bi中计算排除周末的上月恒定日均度量(含DELTA参数)
Power BI 带DELTA偏移的恒定上月工作日日均金额度量值实现
以下是调整后的完整DAX代码:
dailyAverageValue = -- 固定天数常量DELTA,可直接修改为业务需要的数值 VAR DELTA = 15 VAR BaseDate = TODAY() - DELTA -- 计算基准日期对应的上月起止范围 VAR PrevMonthStart = EOMONTH(BaseDate, -2) + 1 VAR PrevMonthEnd = EOMONTH(BaseDate, -1) -- 清除外部筛选,保证度量值为全行统一的恒定值 VAR ClearFilter = REMOVEFILTERS('TABLE') -- 统计上月排除周末的有效天数 VAR nobs = CALCULATE( DISTINCTCOUNT('TABLE'[DATE]), ClearFilter, 'TABLE'[DATE] >= PrevMonthStart, 'TABLE'[DATE] <= PrevMonthEnd, 'TABLE'[WEEK_DAY_NO] <> 6, 'TABLE'[WEEK_DAY_NO] <> 7 ) -- 统计上月对应金额总和 VAR summ = CALCULATE( SUM('TABLE'[VALUES]), ClearFilter, 'TABLE'[DATE] >= PrevMonthStart, 'TABLE'[DATE] <= PrevMonthEnd ) -- 处理空值/除数为0异常 RETURN IF(nobs > 0, DIVIDE(summ, nobs), 0)
主要调整说明:
- 新增固定常量
DELTA,可直接修改数值匹配业务规则,若需要动态调整也可以替换为Power BI参数 - 新增基准日期锚点逻辑,以
TODAY() - DELTA为基准计算对应的上月范围,替代原有依赖上下文的PREVIOUSMONTH函数,完全匹配窗口偏移要求 - 新增
REMOVEFILTERS清除表的外部筛选,保证度量值不受报表页面筛选器、行上下文影响,实现全行统一恒定值的要求 - 修复原参考代码中
SUM函数的语法错误(缺失右括号) - 新增除数为0的异常处理,避免无数据时返回报错
内容的提问来源于stack exchange,提问作者solid
相关产品推荐
相关产品推荐

