DAX季度计算优化需求:Q1直接显示数值,其余季度用YTD差值
优化DAX度量值:按季度差异化计算销售额
需求
优化现有DAX度量值,实现:
- 第1季度直接显示原始
Sale YTD数值 - 其余季度保留「当期Sale YTD - 上一季度Sale YTD」的差值计算逻辑
最终结果用于饼图/环形图展示
当前DAX代码
Measure = VAR RESULT = CALCULATE( [Sale YTD], PREVIOUSQUARTER(dimSalesDate[DATE]) ) RETURN [Sale YTD] - RESULT
现有数据
| quarter no | sales ytd |
|---|---|
| 1 | 50,000 |
| 2 | 70,000 |
| 3 | 150,000 |
| 4 | 280,000 |
期望展示结果
| quarter no | sales ytd(计算逻辑) |
|---|---|
| 1 | 50,000(直接取原始值) |
| 2 | 20,000(70,000 - 50,000) |
| 3 | 80,000(150,000 - 70,000) |
| 4 | 130,000(280,000 - 150,000) |
优化后的DAX代码
Measure = VAR CurrentQuarter = SELECTEDVALUE(dimSalesDate[Quarter No]) VAR PreviousQuarterYTD = CALCULATE( [Sale YTD], PREVIOUSQUARTER(dimSalesDate[DATE]) ) RETURN IF( CurrentQuarter = 1, [Sale YTD], [Sale YTD] - PreviousQuarterYTD )
代码说明
- 新增
CurrentQuarter变量,通过SELECTEDVALUE获取当前上下文选中的季度编号 - 保留原有的
PreviousQuarterYTD变量,计算上一季度的Sale YTD - 使用
IF函数判断:若当前是第1季度,直接返回原始Sale YTD;否则返回当期与上一季度的差值
内容的提问来源于stack exchange,提问作者Data_Analyst
相关产品推荐
相关产品推荐

