在VisualStudio2017中,我试图在Analysis的表格模型中使用DAX时间智能函数。
我有以下的计算要求:
每个帐户,我们想要计算YTD,1Y,2Y,3M,5M的性能指标.
使用下列性能公式:
Perf for 3M =
(1 + CurrentMonthPerf/100)*(1 + PriorMonth/100)*(1 + PriorPriorMonth/100) - 1
Perf for 1Y =
(1 + CurrentMonthPerf/100)*(1 + {1MonthAgoPerf}/100)*...* (1 + {12MonthsAgoPerf}/100) - 1YTD的Perf =与上述计算相同,但仅适用于从1月到当前表格单元格的月份。每一行将在一个循环中计算产品:(1 +X).(1+ Y)) -1
我对DAX语法很陌生,所以不确定如何在SSDT 2017中使用DAX来执行这个计算。
请建议我如何执行更复杂的日期计算。
发布于 2018-11-27 22:08:28
我在我自己的报告中写了我的月报表链接,大致如下(假设我有一个月的返回时间序列):
Performance =
VAR StartDate = <...>
VAR EndDate = <...>
RETURN -1 +
PRODUCTX(
FILTER( ALL( Table1[Date] ),
Table1[Date] <= EndDate &&
Table1[Date] > StartDate
),
1 + Table1[MonthReturn]
)基本上,您使用的是过滤表上的产品,而不是编写循环。
这是一个高度简化的表单,其中我没有定义开始日期和结束日期的定义,假设您每个月只有一个返回值,但它应该有助于指出正确的方向。
https://stackoverflow.com/questions/53506766
复制相似问题