请求创建按上下文国家和年份汇总订单金额的DAX度量值
Power BI 度量值:按国家和年份计算年度总金额(忽略日期、卖家ID上下文)
针对你的需求,这里提供一个DAX度量值,能自动适配不同的可视化上下文,同时响应仪表板的筛选器:
年度国家总金额 = VAR CurrentYear = SELECTEDVALUE('订单表'[order date].[Year]) VAR CurrentCountry = SELECTEDVALUE('订单表'[country]) RETURN CALCULATE( SUM('订单表'[amount]), -- 移除日期(日维度)和卖家ID的上下文筛选 REMOVEFILTERS('订单表'[order date].[Date], '订单表'[seller id]), -- 锁定当前上下文的年份和国家 '订单表'[order date].[Year] = CurrentYear, '订单表'[country] = CurrentCountry )
适配逻辑说明
- 仅年份+度量值:
CurrentCountry为空,CALCULATE会计算该年份下所有国家的金额总和 - 年份+国家+度量值:同时锁定年份和国家,输出对应组合的年度总金额
- 日期+国家+度量值:
REMOVEFILTERS移除了日维度的筛选,仍输出该国的年度总金额 - 卖家ID+日期+国家+度量值:移除了卖家ID和日维度的筛选,忽略卖家ID,保留国家+年份的年度总金额
- 筛选器响应:全局的年份/国家筛选器会通过
SELECTEDVALUE传递到变量中,自动影响计算结果
无日期层次结构的兼容版本
如果你的日期列没有设置层次结构,可以用YEAR函数直接提取年份:
年度国家总金额 = VAR CurrentYear = SELECTEDVALUE(YEAR('订单表'[order date])) VAR CurrentCountry = SELECTEDVALUE('订单表'[country]) RETURN CALCULATE( SUM('订单表'[amount]), REMOVEFILTERS('订单表'[order date], '订单表'[seller id]), YEAR('订单表'[order date]) = CurrentYear, '订单表'[country] = CurrentCountry )
使用场景
这个度量值可以直接用于表格、卡片等可视化组件,也能作为筛选条件(比如筛选年度金额达标国家),完全符合你的需求。
内容的提问来源于stack exchange,提问作者Kaikus
相关产品推荐
相关产品推荐

