如何解决如何在 DAX Excel PowerPivot 或 Power BI 中使用滚动/移动条件进行测量
我有这张桌子:
期间 | 公司 | 扇区 | 净收入 | 资产 |
---|---|---|---|---|
2018 年 12 月 31 日 | AA | 1 | 10 | 100 |
2018 年 12 月 31 日 | BB | 1 | 20 | 100 |
2018 年 12 月 31 日 | 抄送 | 2 | 30 | 100 |
2018 年 12 月 31 日 | DD | 2 | 40 | 100 |
2019 年 12 月 31 日 | AA | 1 | 15 | 100 |
2019 年 12 月 31 日 | BB | 1 | 25 | 100 |
2019 年 12 月 31 日 | 抄送 | 2 | 35 | 100 |
2019 年 12 月 31 日 | DD | 2 | 45 | 100 |
2020 年 12 月 31 日 | AA | 1 | 18 | 100 |
2020 年 12 月 31 日 | BB | 1 | null | 100 |
2020 年 12 月 31 日 | 抄送 | 2 | 38 | 100 |
2020 年 12 月 31 日 | DD | 2 | 48 | null |
我想创建一个度量来计算部门资产回报率,即 t 年 的 SUM(净收入)/SUM(资产),以仅包括具有完整设置t 年和t-1 年的净收入和资产。
因此,我想创建一个像这样的数据透视表:
ROA | 扇区 | |
---|---|---|
期间 | 1 | 2 |
2018 年 12 月 31 日 | null | null |
2019 年 12 月 31 日 | 20% | 40% |
2020 年 12 月 31 日 | 18% | 38% |
如何在 DAX 中做到这一点?
解决方法
一种可能的解决方案是准备一个包含上一年设置的表变量,用作当前年份计算的过滤器。
ROA =
VAR CurrentPeriod =
SELECTEDVALUE ( T[Period] )
VAR PreviousPeriod =
DATEADD (
T[Period],-1,YEAR
)
VAR Result =
IF (
NOT ISBLANK( CurrentPeriod ),VAR PreviousYearSet =
CALCULATETABLE (
SUMMARIZE (
T,T[Sector],T[Firm]
),NOT ISBLANK ( T[Assets] ),NOT ISBLANK ( T[Net Income] ),T[Period] = PreviousPeriod
)
RETURN
CALCULATE (
DIVIDE (
SUM ( T[Net Income] ),SUM ( T[Assets] )
),PreviousYearSet
)
)
RETURN
Result
应用于样本数据的此度量可用于矩阵视觉以给出预期结果
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。