Sql server DAX时间智能功能-性能数据计算
我试图在Visual Studio 2017的AnalysisServices中的表格模型中使用DAX时间智能函数 我有以下计算要求:Sql server DAX时间智能功能-性能数据计算,sql-server,visual-studio,ssas,dax,sql-server-data-tools,Sql Server,Visual Studio,Ssas,Dax,Sql Server Data Tools,我试图在Visual Studio 2017的AnalysisServices中的表格模型中使用DAX时间智能函数 我有以下计算要求: 日期(日期时间) 月度绩效(百分比) 帐目 对于每个客户,我们要计算年初至今、1年、2年、3年、5年的绩效指标 使用以下性能公式: Perf for 3M = (1 + CurrentMonthPerf/100)*(1 + PriorMonth/100)*(1 + PriorPriorMonth/100) - 1 Perf for 1Y = (1 + Curr
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) - 1
YTD的性能=与上述计算相同,但仅适用于从1月到当前表格单元格的月份。每行将计算循环中的乘积:
(1+X)…(1+Y))-1
我不熟悉DAX语法,因此不确定如何在SSDT 2017中使用DAX执行此计算
请告知我如何执行更复杂的日期计算。我在自己的报告中编写了大致如下的月度回报链接(假设我有月度回报时间序列):
性能=
VAR起始日期=
变量结束日期=
返回-1+
PRODUCTX(
过滤器(全部(表1[日期]),
表1[日期]起始日期
),
1+表1[每月一次]
)
基本上,您在过滤表上使用产品,而不是编写循环
这是一个高度简化的表单,我没有定义开始和结束日期的定义,假设您每个月只有一个返回值,但它应该可以帮助您指出正确的方向。我在自己的报告中编写了每月的返回链接,大致如下所示(假设我有每月的返回时间序列):
性能=
VAR起始日期=
变量结束日期=
返回-1+
PRODUCTX(
过滤器(全部(表1[日期]),
表1[日期]起始日期
),
1+表1[每月一次]
)
基本上,您在过滤表上使用产品,而不是编写循环
这是一个高度简化的表单,我没有定义开始和结束日期的定义,假设您每个月只有一个返回值,但它会帮助您找到正确的方向。谢谢您的帮助!谢谢你的帮助!
Performance =
VAR StartDate = <...>
VAR EndDate = <...>
RETURN -1 +
PRODUCTX(
FILTER( ALL( Table1[Date] ),
Table1[Date] <= EndDate &&
Table1[Date] > StartDate
),
1 + Table1[MonthReturn]
)