斜坡powerpivot

问题描述 投票:1回答:1

如何在动力枢轴中计算前五行的两列之间的斜率?

在excel中会是这样的:

Example

可能吗?

此致澳门João

rows powerpivot
1个回答
0
投票

SLOPE function基于线性回归,因此斜率计算为xy的协方差除以x的方差:

Slope Equation

在DAX中,整个表的计算(而不仅仅是前五个)将如下所示:

Slope = 
    VAR AvgX = CALCULATE(AVERAGE(Data[Date]), ALL(Data))
    VAR AvgY = CALCULATE(AVERAGE(Data[Flow]), ALL(Data))
    RETURN DIVIDE(SUMX(Data, (Data[Date] - AvgX) * (Data[Flow] - AvgY)),
                  SUMX(Data, (Data[Date] - AvgX) * (Data[Date] - AvgX)))

为了获得前五个,我们需要更改计算平均值时使用的过滤器。

Slope = 
    VAR Filtered = TOPN(5, FILTER(Data, Data[Date] <= EARLIER(Data[Date])), Data[Date])
    VAR AvgX = CALCULATE(AVERAGE(Data[Date]), Filtered)
    VAR AvgY = CALCULATE(AVERAGE(Data[Flow]), Filtered)
    RETURN DIVIDE(SUMX(Filtered, (Data[Date] - AvgX) * (Data[Flow] - AvgY)),
                  SUMX(Filtered, (Data[Date] - AvgX) * (Data[Date] - AvgX)))

如果您只想返回一个值,如果它有五个平均数据点,则可以添加条件:

RETURN IF(COUNTROWS(Filtered) < 5, BLANK(), DIVIDE([...]))
© www.soinside.com 2019 - 2024. All rights reserved.