美文网首页BI学习笔记
BI技巧丨滚动柱形图

BI技巧丨滚动柱形图

作者: Fabric丨白茶 | 来源:发表于2022-05-14 11:12 被阅读0次

    BOSS:白茶,咱这个报表啊,每年一到一月份的时候,柱子和折线图都会变成一根柱子或者一个点,这样太难看了,能不能换个看法?

    白茶:老板,比如说呢?你想咋看?

    BOSS:这样吧,往前平移12个月,我要看一段时间的,这个能搞不?

    白茶:(¥%&*@#)老板,有点难啊!

    ——(支付宝到账XXXX元)——

    白茶:能搞!等着!

    在项目实施的过程中,用户往往需要从时间维度对数据进行趋势分析,这是很常见的需求。

    但是很多可视化图形,在数据跨年的时候,因为节点问题,会导致原本的趋势变成单点或者单个柱子,这对用户来说体验是非常差的。

    所以我们在需求确认阶段,就需要帮助用户提前预估这种情况,并给出合理性建议,例如,时间趋势图我们可以滚动去看,永远看某一个时间节点向前平移的结果。

    先来看看本期的案例数据:

    一张销售事实表,案例数据比较简单,导入到PowerBI中,添加日期表。

    Dim_Data = 
    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 )
        VAR WEEKID =
            WEEKDAY ( DA, 2 )
        RETURN
            ROW (
                "年度", YEAR,
                "季度", QUARTER,
                "月份", MONTE,
                "日", DAY,
                "年度季度", YEAR & QUARTER,
                "年度月份",
                    YEAR & "." & MONTE,
                "YearMonth",
                    YEAR * 12 + MONTE
            )
    )
    

    建立模型关系如下:

    添加如下基础度量值。

    销售数量:

    A.销售数量 =
    SUM ( Fact_Sales[Quantity] )
    

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

    我们需要根据切片器选择的时间节点,向前平移,有两个问题需要解决:

    1.解决日期表直接筛选的影响;

    2.添加一个参数,赋值平移周期。

    那么该如何实现呢?

    思考一下
    1
    2
    3
    ......

    其实,我们可以继续插入一张日期表。

    Dim_Data_II = 
    GENERATE (
        CALENDAR ( MIN ( 'Fact_Sales'[DATE] ), MAX ( 'Fact_Sales'[DATE] ) ),
        VAR DA = [Date]
        VAR YEAR =
            YEAR ( DA )
        VAR MONTE =
            FORMAT ( DA, "MM" )
        VAR DAY =
            DAY ( DA )
        RETURN
            ROW (
                "年度", YEAR,
                "月份", MONTE,
                "日", DAY,
                "年度月份",
                    YEAR & "." & MONTE,
                "YearMonth",
                    YEAR * 12 + MONTE
            )
    )
    

    这个日期表,不需要和之前的表建立模型关系,仅用作条件判断即可。

    在“建模”面板下选择“新建参数”。

    这里面小伙伴们可以酌情设置。

    编写如下度量值:

    B.滚动度量值 = 
    VAR SelectedYearMonth =
        SELECTEDVALUE ( 'Dim_Data_II'[YearMonth] )
    VAR SelectedYearMonthPeriod = SelectedYearMonth - [移动区间周期 值]
    VAR CurrentYearMonth =
        SELECTEDVALUE ( Dim_Data[YearMonth] )
    RETURN
        IF (
            CurrentYearMonth >= SelectedYearMonthPeriod
                && CurrentYearMonth <= SelectedYearMonth,
            [A.销售数量],
            BLANK ()
        )
    

    选择第一个日期表中的维度,与此度量值放入到同一个可视化中。

    将第二个日期表中的维度,放入到切片器中,页面添加参数选择。

    美化一下,最终效果如下:

    (BOSS:可以可以!

    Demo文件在知识星球。

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


    相关文章

      网友评论

        本文标题:BI技巧丨滚动柱形图

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