【问题标题】:DAX: Monthly AVGDAX:月平均
【发布时间】:2019-10-08 05:28:55
【问题描述】:

在计算 DAX 中的月平均值时,我正在寻找“最佳实践”。理想情况下,我想使用一些 DAX 内置的时间智能功能。

我有一个名为“总单位”的度量。 Total Units = COUNT(Table[UnitId])

我表中的每一行代表一个单位的销售时间。

当我将我的总单位数和销售日期放入条形图时,我可以看到每个月售出了多少单位。

我现在如何计算月平均值?

Month         Total Units (Sold)
Jan 2019      10
Feb 2019      30

我想要一个可以告诉我每月 AVG 为 (10+30)/2 = 20

的度量

【问题讨论】:

    标签: powerbi dax


    【解决方案1】:

    有几种方法可以解决这个问题。假设您的桌子上有一个 [Month] 列,您可以简单地这样做:

    MonthlyAvg = DIVIDE ( [Total Units] , DISTINCTCOUNT( 'Table'[Month] ) )
    

    换句话说,只需将总数除以考虑的月数。

    如果您有一个更“合适”的数据模型,带有单独的日历维度,您应该执行以下操作:

    MonthlyAvg = AVERAGEX( VALUES( 'Calendar'[Month] ) , [Total Units] )
    

    【讨论】:

    • 感谢您的解决方案。我继续使用您的 AVERAGEX 函数,它运行良好。
    【解决方案2】:

    您只需要一个简单的平均值,如下所示,

    Total Avg = AVERAGE(Total Units (Sold))
    

    当您为日期选择任何时间段时,measure 将调整并提供选择的平均值。

    假设您选择 2019 年,月份是一月、二月、三月

    (1 月 + 2 月 + 3 月)/3

    希望对你有帮助!!

    【讨论】:

    • 我无法在度量上使用平均功能。 Total Units 是从 COUNT(Table[unitID]) 派生的度量
    • 我明白了,试试 AverageX('Your Table', Total Units(Sold))... 虽然我没有任何数据集来验证你的问题。
    猜你喜欢
    • 1970-01-01
    • 2021-05-08
    • 2021-10-04
    • 2020-08-23
    • 1970-01-01
    • 2021-10-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多