首页 > 解决方案 > 计算power bi中年份变化百分比的差异

问题描述

我有一个收入数据集,由不同日期的类别收入组成。

cat    revenue    date
A       100      10-01-2017
B       120      10-01-2017
A       100      11-01-2017
...     ...          ...   
B       320      10-12-2020

这包含 4 年的数据集。

我正在寻找一个可以给我的度量:

(Percentage change in revenue current year - Percentage change in revenue previous year).

例如:我需要找出(Percentage change in revenue 2020 - Percentage change in revenue 2019).

通过百分比变化收入,我的意思是 -(previous years revenue - current years revenue)/ previous years revenue

例如,如果我在矩阵可视化中对其进行可视化,我打算得到:

cat   Percentage change in revenue 2020  Percentage change in revenue 2019  Difference
 A                   11                                 15                      -4
 B                   31                                 28                       3

我读过博客说我需要使用SAMPLEPERIODLASTYEAR DAX 函数来执行此操作。我尝试了相同的方法,但差异始终为 0.0。

关于如何实现这一目标的任何想法?

标签: powerbidaxpowerquery

解决方案


首先,创建这个低于 3 年的度量 -

year_this = YEAR(TODAY())
year_last = YEAR(TODAY()) - 1
year_last_previous = YEAR(TODAY()) - 2

现在,创建以下 3 个度量来计算 3 年以上的收入 -

revenue_this_year = 
CALCULATE(
    SUM(your_table_name[revenue]),
    FILTER(
        ALLEXCEPT(your_table_name,your_table_name[cat]),
        YEAR(your_table_name[date]) = [year_this]
    )
)
revenue_last_year = 
CALCULATE(
    SUM(your_table_name[revenue]),
    FILTER(
        ALLEXCEPT(your_table_name,your_table_name[cat]),
        YEAR(your_table_name[date]) = [year_last]
    )
)
revenue_last_previous_year = 
CALCULATE(
    SUM(your_table_name[revenue]),
    FILTER(
        ALLEXCEPT(your_table_name,your_table_name[cat]),
        YEAR(your_table_name[date]) = [year_last_previous]
    )
)

最后,创建以下 2 个度量来计算收入变化。从菜单栏中将测量类型更改为% 。

revenue_change_this_year = 
IF(
    [revenue_this_year] = 0 || [revenue_last_year]= 0,
    "-",
    ([revenue_this_year]-[revenue_last_year])/[revenue_last_year]
)
revenue_change_last_year = 
IF(
    [revenue_last_year] = 0 || [revenue_last_previous_year]=0,
    "-",
    ([revenue_last_year]-[revenue_last_previous_year])/[revenue_last_previous_year]
)

推荐阅读