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 并按月开始日期排序并计算比率。
有谁知道最好的计算方法吗?
谢谢。
您将使用一系列四个度量来计算月环比增长:
- 列的总和
- 上个月的金额
- 每月变化
- 月环比变化 %
这些 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() )
我得到了以下示例数据:
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 并按月开始日期排序并计算比率。
有谁知道最好的计算方法吗?
谢谢。
您将使用一系列四个度量来计算月环比增长:
- 列的总和
- 上个月的金额
- 每月变化
- 月环比变化 %
这些 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() )