BI技巧丨滚动柱形图

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的初学者。

Fabric丨白茶 文章被收录于专栏

数据分析进阶之路,带你深入了解可视化技巧。

全部评论

相关推荐

VirtualBool:都去逗他了?
点赞 评论 收藏
分享
大方的大熊猫准备进厂:1.教育背景:你希望从事什么专业的工作你的主修课就是什么;成绩优秀是你应该做的,没什么可描述的,成绩不优秀也许人家在大学忙着创业呢?(成绩优秀不一定是好事,只能说明多元化的大学你上成了高中,没有真正上明白大学,反而体现了你死板,不爱社交,没有别的突出能力) 2.实践经历:你想表达的意思没有说清楚。你是说你会个性化服务,还是你有实习经历。如果没有带来,经济收益,表彰,更好的发展前景,那你还不如说说提升了自己哪些技能。你说有人给你送锦旗我都能明白你优秀,但是你说你会xxxx,你说这话谁信,证据呢。 3.入伍经历:你描述的就是你的工作职责或者你应该做的,并没有体现出来你把这个事情做好了,而且入伍经历并不能证明你能干好你要应聘的工作,不如只写经历其余所有内容都不写。 4.荣誉技能:重点突出一下,但不要过多描述,这些荣誉的含金量懂得都懂。 重点:你要应聘什么工作(具体岗位,实习生不具体),你的期望薪资
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务