Power BI DAX:按月增长率分组

Power BI DAX: Group by Monthly Growth Rate

我得到了以下示例数据:

Product Group   Product Monthly Start Date  Sales Qty
Mobile Phone A  Mobile Phone A-1    1/1/2021    100
Mobile Phone A  Mobile Phone A-1    2/1/2021    120
Mobile Phone B  Mobile Phone B-1    1/1/2021    90
Mobile Phone B  Mobile Phone B-1    2/1/2021    78


我想要的是计算月度产品增长率(下图)。

Product Group   Product Month Start Date    Growth Rate
Mobile Phone A  Mobile Phone A-1    1/1/2021    null
Mobile Phone A  Mobile Phone A-1    2/1/2021    20%
Mobile Phone B  Mobile Phone B-1    1/1/2021    null
Mobile Phone B  Mobile Phone B-1    2/1/2021    -13%

我想我需要使用 groupby 并按月开始日期排序并计算比率。

有谁知道最好的计算方法吗?

谢谢。

您将使用一系列四个度量来计算月环比增长:

  1. 列的总和
  2. 上个月的金额
  3. 每月变化
  4. 月环比变化 %

这些 DAX 模式可用于帮助您入门。请确保将必要的列添加到您的日期 table,然后使用您的日期 table、要量化的事实 table 列和您创建的度量修改以下度量。

DAX Patterns - Month Related Calculations

事实总和Table列

Sales Amount:= sum ( SalesTable[Sales Qty] )

上个月的金额

Sales PM := 
VAR CurrentYearMonthNumber = SELECTEDVALUE ( 'Date'[Year Month Number] ) 
VAR PreviousYearMonthNumber = CurrentYearMonthNumber - 1 
VAR Result =
        CALCULATE (
            [Sales Amount],
            REMOVEFILTERS ( 'Date' ),
            'Date'[Year Month Number] = PreviousYearMonthNumber
        ) 
RETURN
    Result

月环比变化

Sales MOM :=
VAR ValueCurrentPeriod = [Sales Amount]
VAR ValuePreviousPeriod = [Sales PM]
VAR Result =
    IF (
        NOT ISBLANK ( ValueCurrentPeriod ) && NOT ISBLANK ( ValuePreviousPeriod ),
        ValueCurrentPeriod - ValuePreviousPeriod
    )
RETURN
    Result

环比变化 %

Sales MOM % :=
DIVIDE (
    [Sales MOM],
    [Sales PM]
)

我会这样做(假设您按月查看结果):

总销售数量 = SUM( ExampleTable[销售数量] )

MTD 销售数量 = TOTALMTD( [总销售数量], 日期[日期] )

MTD 销售数量 LM = CALCULATE( [MTD 销售数量], DATEADD(日期[日期], -1, MONTH ) )

MoM 销售数量变化 = DIVIDE([MTD 销售数量] - [MTD 销售数量 LM], [MTD 销售数量 LM], BLANK() )