Power BI中的QoQ措施

时间:2019-09-02 12:41:32

标签: powerbi dax

我希望在表中进行QoQ计算。我面临的问题是我不知道如何计算前一个值,而当前值也显示出来。然后,我将使用该字段创建差异或%差异。希望下面的例子可以清楚地说明这一点。

样本数据:

Quarter |   Year    |Product|   Measure
Q1/19   |   2018    |   A   |   22
Q1/19   |   2018    |   B   |   61
Q1/19   |   2018    |   C   |   187
Q2/19   |   2018    |   A   |   121
Q2/19   |   2018    |   B   |   31
Q2/19   |   2018    |   C   |   15
Q3/19   |   2018    |   A   |   68
Q3/19   |   2018    |   B   |   200
Q3/19   |   2018    |   C   |   75
Q4/19   |   2018    |   A   |   123
Q4/19   |   2018    |   B   |   86
Q4/19   |   2018    |   C   |   153
Q1/19   |   2019    |   A   |   30
Q1/19   |   2019    |   B   |   131
Q1/19   |   2019    |   C   |   178
Q2/19   |   2019    |   A   |   168
Q2/19   |   2019    |   B   |   138
Q2/19   |   2019    |   C   |   87
Q3/19   |   2019    |   A   |   56
Q3/19   |   2019    |   B   |   15
Q3/19   |   2019    |   C   |   88
Q4/19   |   2019    |   A   |   96
Q4/19   |   2019    |   B   |   173
Q4/19   |   2019    |   C   |   76 

所需输出:
就像下面这样

enter image description here

尝试:
我按照下面的链接尝试了以下公式,但是它不起作用
链接:https://community.powerbi.com/t5/Desktop/How-to-add-previous-row-value-with-current-one-and-then-keep/td-p/493467

Previous Value = CALCULATE(SUM('Sheet1'[Measure]), 
FILTER(Sheet1,Sheet1[Quarter]<=EARLIER('Sheet1'[Quarter])))

我会在Power bi中使用PREVIOUSQUARTER函数,但是我相信我必须将四分之一转换为日期,并且我需要使用的四分之一与日历四分之一不同

1 个答案:

答案 0 :(得分:1)

我要做的第一件事是尝试在您的宿舍中创建平凡。现在,您仅列出后缀为/ 19的四分之一,但我可以想象您也打算包含/ 18?在这种情况下,我建议将年份放在第一位,然后是您的四分之一,因为这样可以在按字母顺序排序时得出正确的顺序。例如。现在按字母顺序排序,Q1 / 19在Q2 / 18之前,而18 / Q2将在19 / Q1之前正确排序。

尽管您可以通过一个度量来请求,但我还是建议您使用计算列和度量,这样仍然易于理解。

首先,您创建一个分组索引列(计算列)。这将为每个季度创建组,并将按字母顺序对它们进行排序,并添加一个索引号。

gIndex = RANKX( SUMMARIZE( 'Sheet1' ; 'Sheet1'[Quarter] ) ; 'Sheet1'[Quarter] ; ; ASC )

然后,您可以使用以下(度量)来创建时移的季度总数

Previous Q = 

CALCULATE (
    SUM ( 'Sheet1'[Measure] ) ; 
    FILTER ( 
        ALLSELECTED ( 'Sheet1' ) ;
        'Sheet1'[gIndex] = MAX ( 'Sheet1'[gIndex] ) - 1
    )
)