powerbi - 计算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。
关于如何实现这一目标的任何想法?
解决方案
首先,创建这个低于 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]
)
推荐阅读
- angular - 如何使用 ngx-extended-pdf-viewer 显示本地 pdf?
- python - Discord.py 意外缩进
- php - 如何通过添加缺失键和空键对多维数组进行排序?
- c# - 从 Azure IoT 中心触发器读取原始数据
- python - 尝试使用 python 和 selenium 选择下拉列表时出现问题
- ionic-framework - 哪个库最适合在 ionic 中混淆代码?
- c# - 数据库数据未更新
- javascript - 在 node.js 中未执行回调函数
- javascript - 如何使用核心 api 在 Reactjs 中编辑导入的 Excel 工作表
- ms-word - Word mailmerge 宏在调试模式下运行良好,但是当关闭显示代码时,它的行为很奇怪