【问题标题】:Standard deviation per category per year每年每个类别的标准差
【发布时间】:2019-07-26 08:27:25
【问题描述】:

我有数据,我需要计算每个类别的单位标准偏差(apo 键 + 材料键为我的数据创建一个唯一类别)(在我的情况下观察为上一年(PY),当年( CY) 和新年 (NY),可在“是年”列中找到)

我使用以下公式计算了平均值:

Average =
CALCULATE (AVERAGE (tab[units] ),
FILTER ('tab', 'tab'[Material - Key]=EARLIER( 'tab'[Material - Key]) && 'tab'[ISYEAR]=EARLIER('tab'[ISYEAR]) && 'tab'[APO Key]= EARLIER('tab'[APO Key]))
)

现在需要计算标准差。
STDEV.X 使用公式 sqrt(sum(X-Xavg)^2/n) 但我的 n 必须每年更改每个类别,所以我不能直接应用这个。我也尝试修改上述计算平均值的公式来计算标准偏差,但它没有给出正确的值。

我的数据集('sd' 列是我想要得到的):

【问题讨论】:

  • 那么什么定义了类别?您能否举一个计算的小例子,以便我们更好地了解您在寻找什么。例如1.0625是怎么计算出来的?

标签: powerbi dax standard-deviation


【解决方案1】:

如果我理解正确,上面第四行的 excel 公式(即 SD 为 1.0625)应该是: SQRT( ( (20-15.75) ^ 2 ) / 4 ) = 2.125

如果这是正确的,那么以下内容应该对您有所帮助:

VAR __KEY = [Apo Key] & [Material Key] & [Is Year] 
VAR __AVG =  
    AVERAGEX(
        FILTER(
            Tab , 
            __KEY = [Apo Key] & [Material Key] & [Is Year] 
        ) , [UNITS]
    )
VAR __N = 
    COUNTX(
        FILTER(
            Tab , 
            __KEY = [Apo Key] & [Material Key] & [Is Year] 
        ) , [UNITS]
    )
VAR __SD_Manual = SQRT( DIVIDE((([UNITS] - __AVG)^2),__N) )
RETURN __SD_Manual

将其放入计算列中,您应该一切顺利!

【讨论】:

    猜你喜欢
    • 2012-07-30
    • 1970-01-01
    • 2020-12-09
    • 2021-10-16
    • 1970-01-01
    • 2019-09-17
    • 2018-06-18
    • 2020-04-05
    相关资源
    最近更新 更多