Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Powerbi 电力BI:季度比季度百分比变化_Powerbi_Dax - Fatal编程技术网

Powerbi 电力BI:季度比季度百分比变化

Powerbi 电力BI:季度比季度百分比变化,powerbi,dax,Powerbi,Dax,首先,以下是我正在使用的电源BI: 我想计算每个季度成本变化的百分比 如上表所示,我在按季度划分的总成本列中列出了第一季度、第二季度、第三季度和第四季度的总成本,我使用以下公式计算: Total Cost By Quarter = IF ( [Quarters] = "Q1", CALCULATE ( SUM ( CR_Months_ByMonth[Cost] ), FILTER ( CR_Months_ByMonth, [Quarters] =

首先,以下是我正在使用的电源BI:

我想计算每个季度成本变化的百分比

如上表所示,我在
按季度划分的总成本列
中列出了第一季度、第二季度、第三季度和第四季度的总成本,我使用以下公式计算:

Total Cost By Quarter =
IF (
    [Quarters] = "Q1",
    CALCULATE (
        SUM ( CR_Months_ByMonth[Cost] ),
        FILTER ( CR_Months_ByMonth, [Quarters] = "Q1" )
    ),
    IF (
        [Quarters] = "Q2",
        CALCULATE (
            SUM ( CR_Months_ByMonth[Cost] ),
            FILTER ( CR_Months_ByMonth, [Quarters] = "Q2" )
        ),
        IF (
            [Quarters] = "Q3",
            CALCULATE (
                SUM ( CR_Months_ByMonth[Cost] ),
                FILTER ( CR_Months_ByMonth, [Quarters] = "Q3" )
            ),
            IF (
                [Quarters] = "Q4",
                CALCULATE (
                    SUM ( CR_Months_ByMonth[Cost] ),
                    FILTER ( CR_Months_ByMonth, [Quarters] = "Q4" )
                )
            )
        )
    )
)
但是,由于重复的值(多个Q1、Q2等,在
[按季度计算的总成本]
中),我无法计算出如何使用另一个计算列计算季度之间的百分比变化

因此,我尝试使用度量值计算百分比变化。 我使用如下公式对第一季度成本、第二季度成本、第三季度成本和第四季度成本进行了测算:

Q1Sum =
CALCULATE (
    SUM ( CR_Months_ByMonth[Cost] ),
    FILTER ( CR_Months_ByMonth, [Quarters] = "Q1" )
) 
Q12%Change =
 ( DIVIDE ( [Q2Sum] - [Q1Sum], [Q1Sum] ) )
    * 100
然后,我使用如下公式计算Q12%的变化、Q23%的变化和Q34%的变化:

Q1Sum =
CALCULATE (
    SUM ( CR_Months_ByMonth[Cost] ),
    FILTER ( CR_Months_ByMonth, [Quarters] = "Q1" )
) 
Q12%Change =
 ( DIVIDE ( [Q2Sum] - [Q1Sum], [Q1Sum] ) )
    * 100
这是我通过计算得出的结果:

这种结构不能产生良好的视觉效果,我相信有一种更简单、更有效的方法来完成季度比季度的变化

这是我想要的结果:

最后,我有一个日期表,如下所示:


谢谢大家!

[按季度计算的总成本]
如果放在一个矩阵中,在行/列上有四分之一,则应简单到
总和(CR[成本])

更棘手的部分是参考上一个季度来获得百分比变化。它看起来像这样:

% Change =
    VAR PrevQtrCost = CALCULATE(SUM(CR[Cost]), PREVIOUSQUARTER(DateTable[Date]))
    RETURN DIVIDE(SUM(CR[Cost]), PrevQtrCost) - 1
VAR
行可能有点不同,这取决于您的
DateTable
CR
表的关联程度


再看看这个类似的问题:


如果您没有在日期上链接,请尝试以下内容:

% Change =
    VAR PrevQtr = MOD(MAX(DateTable[FiscalQuarterNumber]) - 2, 4) + 1
    VAR PrevQtrCost = CALCULATE(SUM(CR[Cost]), DateTable[FiscalQuarterNumber] = PrevQtr)
    RETURN DIVIDE(SUM(CR[Cost]), PrevQtrCost) - 1

我尝试使用上述代码进行%更改,但得到以下结果:Q1:-1%Q2:3%Q3:3%Q4:2%,这是不正确的。我认为出现这个问题是因为我需要将“季度”定义为财年中的季度(即第一季度=10月至12月,第二季度=1月至3月,第三季度=4月至6月,第四季度=7月至9月),PowerBI理解10月至12月为第四季度。。我有办法改变这个吗?在我上面发布的日期表的照片中,我试图定义会计月份和季度。但是,这些列的类型不是=date,因此我无法在PreviousQuarter函数中使用它们。有什么想法吗?