PowerBI 折线图增长 100%
Posted
技术标签:
【中文标题】PowerBI 折线图增长 100%【英文标题】:PowerBI line chart growth from 100% 【发布时间】:2022-01-23 00:42:45 【问题描述】:在 PowerBI 中,我想比较从任何起始年份开始随时间推移类别(让我们采用 A 和 B)的价值增长。为了便于比较,我使用折线图,x 轴为时间,类别为图例。我希望这两个类别都从 100% 开始,并显示相对于该起点的增长。然后,我希望能够使用连续日期切片器来改变折线图的起点和终点。
我创建了一个虚拟数据来说明这一点
Category, Year, Value
A 2000 5
A 2001 8
A 2002 8
A 2003 10
B 2000 10
B 2001 8
B 2002 12
B 2003 10
如果没有任何日期过滤器,我想显示 2000-2003 年,其中行的值如下:
A: 100%, 160%, 160%, 200%
B: 100%, 80%, 120%, 100%
(A类的第一个值是5。因此折线图应该显示A相对于5的值。它的值5、8、8、10然后显示为提到的百分比。B类的第一个值是10 ,所以 B 的值应该相对于 10) 显示。
将日期切片器设置为过滤年份 2001-2003,我希望行值变为:
A: 100%, 100%, 125%
B: 100%, 150%, 125%
(由于切片器A类的第一个值为8,所以我想要相对于8的%值。B的第一个值也是8)
我正在考虑为此编写一个度量。有人可以帮我吗?提前谢谢你。
【问题讨论】:
计算的逻辑是什么? 我希望线条显示与该类别的第一个(!)显示年份相比的百分比。在没有日期过滤器的情况下,A 的第一年是 2000 年,值为 5。因此,我希望显示相对于 5 的所有值。由于 A 的值为 5、8、8、10,因此相对值变为 100%、160% , 160% 和 200% 与 B 类类似,2000 年的值为 10。所以它的值应该相对于 10 显示。如果我通过应用切片器更改折线图的第一个可见日期,那么我希望百分比根据新显示的第一个年份进行更改。这样每个类别总是从 100% 开始 【参考方案1】:您可以创建一个度量来确定最早过滤的年份,即该年份的值,然后将每个评估值除以最小年份值:
MyMeasure =
VAR MinYear =
CALCULATE (
MIN ( MyTable[Year] ),
ALLSELECTED ( MyTable[Year] )
)
VAR BaseValue =
CALCULATE (
SUM ( MyTable[Value] ),
REMOVEFILTERS ( MyTable[Year] ),
MyTable[Year] = MinYear
)
VAR CurrentValue =
SUM ( MyTable[Value] )
RETURN
DIVIDE (
CurrentValue,
BaseValue
)
结果:
【讨论】:
这是一个非常简洁的解决方案。谢谢!为什么您使用“REMOVEFILTERS”作为“BaseValue”而不是“ALLSELECTED”有什么原因? 性能。 ALLSELECTED 很复杂,有效地删除所有过滤器,然后重新应用选定的过滤器...使用 REMOVEFILTERS 简单地删除所有过滤器更简单、更快。以上是关于PowerBI 折线图增长 100%的主要内容,如果未能解决你的问题,请参考以下文章