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%的主要内容,如果未能解决你的问题,请参考以下文章

当值为文本时如何在 Power BI 中创建折线图(好的,不正确)?

powerbi折线和堆积柱形图能变成竖着吗

FusionCharts 2D双折线图

如何在柱状图中添加折线图

Python数据分析:折线图和散点图的绘制

Google Charts 折线图未显示 0-100 作为百分比刻度