美文网首页BI学习笔记
BI技巧丨计算组折线图

BI技巧丨计算组折线图

作者: Fabric丨白茶 | 来源:发表于2023-04-27 20:36 被阅读0次

    PowerBI中,通常我们会使用折线图来展示数据的趋势情况。但是当数据类别过多的时候,需求也在进一步深入,往往还需要我们将用户关注的重要节点标注出来,例如:最大值和最小值。

    很早之前,白茶曾经写过一篇关于《折线图阈限设置》的文章,因为当时PowerBI软件版本的原因,折线图不支持Fx设置动态颜色。后续随着软件版本的迭代和计算组功能的推出,折线图最大值和最小值问题,也有了新的解决方案。
    案例数据:

    将其导入到PowerBI中,通过以下代码,添加日期表。

    Dim_Date =
    GENERATE (
        CALENDAR ( MIN ( 'Fact_Sales'[DATE] ), MAX ( 'Fact_Sales'[DATE] ) ),
        VAR DA = [Date]
        VAR YEAR =
            YEAR ( DA )
        VAR QUARTER =
            "Q" & FORMAT ( DA, "Q" )
        VAR MONTE =
            FORMAT ( DA, "MM" )
        VAR DAY =
            DAY ( DA )
        RETURN
            ROW (
                "Year", YEAR,
                "Quarter", QUARTER,
                "Month", MONTE,
                "DayOfMonth", DAY,
                "YearQuarter", YEAR & QUARTER,
                "YearMonth", YEAR & MONTE,
                "YearMonthCount",
                    YEAR * 12 + MONTE
            )
    )
    

    模型关系如下:

    添加基础度量值:

    01 基础度量值 =
    SUM ( Fact_Sales[Quantity] )
    

    将其拖放到折线图中展示如下:

    到这里,我们的准备工作完成。


    解析思路:
    折线图我们需要将最大值最小值标记出来,那么我们需要求出当前上下文的最大值最小值,才能进行后续的操作。
    添加如下代码,求出最大值最小值。
    最大值:

    02 数据最大值 =
    MAXX (
        ALLSELECTED ( 'Dim_Date'[YearMonth], Dim_Date[YearMonthCount] ),
        [01 基础度量值]
    )
    

    最小值:

    03 数据最小值 =
    MINX (
        ALLSELECTED ( 'Dim_Date'[YearMonth], Dim_Date[YearMonthCount] ),
        [01 基础度量值]
    )
    

    展示效果如下:

    注释:
    1.ALLSELECTED的作用,是为了根据筛选上下文,获取相对的最大值和最小值;2.ALLSELECTED内部白茶使用了2个参数,是因为白茶使用了按列排序功能,需要将排序依据的筛选效果也清除掉。

    有了最大值和最小值,我们就可以通过度量值,来对颜色进行标注了。

    03 阈值配色 = 
    IF (
        [01 基础度量值] = [02 数据最大值],
        "#FF0000",
        IF ( [01 基础度量值] = [03 数据最小值], "#FFC000", "#000000" )
    )
    

    展示效果如下:

    可以看到最大值最小值的颜色已经标注出来了。


    是不是以为到这里就结束了?
    NO!并没有!

    除了可以通过Fx来标注折线图的最大值和最小值以外,我们还可以通过计算组功能,对此进行补充,例如:添加最大值最小值的文本信息。

    在外部工作区,打开Tabular。

    选择创建计算组。

    添加计算项。

    在公式栏输入如下代码:

    SELECTEDMEASURE()
    

    将公式栏切换到格式设置页面,添加如下代码:

    IF (
        [01 基础度量值] = [02 数据最大值],
        "最大值:" & SELECTEDMEASUREFORMATSTRING (),
        IF (
            [01 基础度量值] = [03 数据最小值],
            "最小值:" & SELECTEDMEASUREFORMATSTRING (),
            SELECTEDMEASUREFORMATSTRING ()
        )
    )
    

    选择保存,将其应用到PowerBI中,最终展示效果如下:

    解释说明:
    1.SELECTEDMEASURE可以根据当前上下文,获取到应用的度量值[01 基础度量值];
    2.SELECTEDMEASUREFORMATSTRING的作用,是为了正常输出原度量值的格式,即输出[01 基础度量值]的原有格式;
    3.不能直接使用[01 基础度量值]作为计算组格式输出结果,会由于数据格式问题报错;4.计算组可以应用到PowerBI文件中,发布到云端或本地报表服务器依然生效。

    这里是白茶,一个PowerBI的初学者。


    相关文章

      网友评论

        本文标题:BI技巧丨计算组折线图

        本文链接:https://www.haomeiwen.com/subject/zguerdtx.html