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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Fabric丨白茶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值