reporting-services - 所有年份的 DAX 总和,但不是当前年份
问题描述
我有一个 DAX 查询,我通过 SSRS 运行它以生成一个年度汇总结果集,其中包含多个分组依据、过滤器、度量等,但对于这个问题,我将使用简化版本。
它看起来像这样:
EVALUATE
SUMMARIZECOLUMNS(
'Years'[Year],
'Currency'[CurrencyName],
"SalesAmount", [SalesAmount]
)
2017, EUR, 1000000
2018, EUR, 1000000
2019, EUR, 1000000
2020, EUR, 1000000
2017, USD, 500000
2018, USD, 500000
2019, HKD, 1000000
2020, HKD, 1000000
到目前为止,这一切都很好。
但是,我对每种货币的总计有一个报告要求。但是,总数不应包括当前年份(如果需要,我可以从参数中传入)
为了复制当前基于 SQL 的报告已经做的事情,理想情况下,我还想按顺序向结果集中添加一个顺序,以便格式化报告。最终结果集如下所示:
1, 2017, EUR, 1000000
2, 2018, EUR, 1000000
3, 2019, EUR, 1000000
4, Total, EUR, 4000000
5, 2020, EUR, 1000000
1, 2017, USD, 500000
2, 2018, USD, 500000
3, Total, USD, 1000000
1, 2019, HKD, 1000000
2, Total HKD, 1000000
3, 2020, HKD, 1000000
执行此操作的 SQL 非常复杂,所以我想这在 DAX 中可能是不可能的,但是如果有人对这样的示例有任何建议,他们可以建议我不胜感激,
在此先感谢,
解决方案
这将使您获得作为新计算表的总行数:
Totals =
VAR CurrYear =
YEAR ( TODAY () )
RETURN
SUMMARIZECOLUMNS (
'Currency'[Currency],
"SalesAmount", CALCULATE ( [SalesAmount], 'Years'[Year] < CurrYear ),
"Index", CALCULATE ( COUNT ( 'Years'[Year] ), 'Years'[Year] < CurrYear ) + 1
)
我敢打赌,您可以弄清楚如何将它与您已经拥有的表格结合起来,以获得您想要的组合表格。
推荐阅读
- graph - 3 维图 LightGraphs/GraphPlot/Julia 或 Networkx/Python
- amazon-web-services - EC2 通过“runInstance”将环境变量传递给 Docker,而不覆盖 UserData
- python - 如何从 O(n) 中的两个字典列表中搜索?
- azure - Azure 事件中心 - 地理恢复:我们可以禁用自动故障转移吗?
- html - 通过 CSS Grid 突破侧边栏元素
- javascript - 在Javascript中将一个类附加到现有的选定类(选定的类语句选择了多个类)
- r - 如何将日期分组为日期
- python - 是否有用于评估具有滚动功能的不同列中的值的 pandas 函数?
- ffmpeg - Draw time of the current frame in seconds with just 2 digits after point
- r - 卡方检验结果的解释