提取每月首日最小余额:Liabilities账户DAX公式问题
解决每月月初初始余额提取问题
原公式的核心问题有两个:一是硬编码了"Assets"分类,无法适配Liabilities;二是直接取交易表的最小日期,没有结合日历表精准定位每月首日,且未针对单日多条记录取最小Balance。
修正后的通用DAX公式(支持动态筛选分类/账户)
月初初始余额 = VAR 当前月份首日 = MIN('DATE'[Date]) -- 从日历表取当前筛选月份的首日 RETURN CALCULATE( MIN('GL Master'[Balance]), -- 取单日多条记录中的最小Balance 'GL Master'[Date] = 当前月份首日, ALLSELECTED('GL Master'[Account Name]) -- 保留账户名称的筛选上下文 )
单独针对Liabilities的专用公式(如果需要单独度量值)
Liabilities Balance 1st Value = VAR 当前月份首日 = MIN('DATE'[Date]) RETURN CALCULATE( MIN('GL Master'[Balance]), 'GL Master'[Category 2] = "Liabilities", 'GL Master'[Date] = 当前月份首日, ALLSELECTED('GL Master'[Account Name]) )
关键调整说明
- 改用日历表
'DATE'的最小日期定位每月首日,确保精准对应日历的月初节点 - 直接对
'GL Master'[Balance]取MIN,替代原公式中的[Master Balance TT],避免累计逻辑干扰单日余额提取 - 加入
ALLSELECTED('GL Master'[Account Name]),确保账户名称的筛选规则正常生效 - 通用公式移除了硬编码的分类条件,可通过切片器、筛选器动态切换Assets或Liabilities
内容的提问来源于stack exchange,提问作者Ed_7830
相关产品推荐
相关产品推荐

