powerbi - 计算连续行之间的百分比差异 - Power BI
问题描述
我有一个结构如下的表:
Forecast Type Group Forecast
June 00 A 120
July 01 A 125
June 00 B 250
July 01 B 222
June 00 C 308
June 01 C 270
我想通过按“预测类型”分组并通过对“预测”求和来在矩阵中可视化这一点。然后,我想创建一个计算列或指标,其中包含预测类型之间的百分比差异。如果用户使用切片器按“组”过滤,则也应相应更新。这是选择所有组时矩阵的样子:
Forecast Difference in EUR Percentage Difference
June 00 678 null null
July 01 617 -61 -9%
通过创建索引列并使用以下内容,我能够通过一些研究创建“欧元差”变量:
Difference in EUR =
VAR RowAbove=
CALCULATE (
SUM ('Forecast Development'[Forecast]),
FILTER ('Forecast Development', 'Forecast Development'[Index] = EARLIER ('Forecast Development'[Index]) -1))
RETURN
'Forecast Development'[Forecast] - RowAbove
但是,我无法通过使用此计算列公式来创建百分比。此外,在“欧元差值”列中,第一行不为空,因为我没有另一个值来计算差值。我还尝试通过创建另一个计算列并过滤掉 6 月 00 日的“预测类型”来强制第一行为空,但显然我不能这样做。
我也不确定如何创建索引,现在我只是正常地从 1 到 6。但也许每次组更改时我都需要重新启动索引?那么,1,2,1,2,1,2?
我是 Power BI 的新手,希望能得到帮助。谢谢!
解决方案
如果您的 [Forecast Type] 最后总是包含有效数字,那么我们可以这样计算:
Diff =
var __CurrentType = value( RIGHT(SELECTEDVALUE(Sheet1[Forecast Type]),2))
var _prevForecast = CALCULATE( sum(Sheet1[Forecast]), filter(all(Sheet1[Forecast Type]), value( RIGHT(Sheet1[Forecast Type],2)) = __CurrentType -1 ))
var __currForecast = CALCULATE(sum(Sheet1[Forecast]))
return
if (ISBLANK(_prevForecast), BLANK(),
__currForecast - _prevForecast)
Percentage%% =
var __CurrentType = value( RIGHT(SELECTEDVALUE(Sheet1[Forecast Type]),2))
var _prevForecast = CALCULATE( sum(Sheet1[Forecast]), filter(all(Sheet1[Forecast Type]), value( RIGHT(Sheet1[Forecast Type],2)) = __CurrentType -1 ))
var __currForecast = CALCULATE(sum(Sheet1[Forecast]))
return
DIVIDE(__currForecast, _prevForecast)
推荐阅读
- html - 如何改变TD内段落的位置?
- javascript - Javascript从嵌套数组中删除数组
- python - Django Rest Framework:如何在 Django 模板中显示序列化值?
- firebase - 我们可以像查询中的sql一样在firebase上进行查询吗
- python - 使用数据库平铺大量图像
- javascript - o调用 fnPagingInfo 函数时设置为空
- reactjs - Expo FileSystem.readAsStringAsync 无法读取文件
- ruby-on-rails - Ruby On Rails:Netflix fast_jsonapi 不渲染它定义的属性
- dynamics-crm - 自定义工作流活动不更新输入参数
- augmented-reality - 我想为我在 ARCORE 上构建的 AR 应用程序创建一个盒子的 3d 模型。我用什么?