美文网首页BI学习笔记
BI技巧丨价格区间分析

BI技巧丨价格区间分析

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

    BOSS:白茶,能不能做个折线图,让我看一下平均10个价格区间的售卖情况?

    白茶:可以!

    BOSS:那个,价格区间要动态的!

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

    BOSS:加钱!

    白茶:好嘞!

    在零售快消行业,经常需要分析产品的定价区间是否合理,以便快速找准产品的市场定位,灵活调整产品定价。

    那么如何通过PowerBI帮助企业实现这一需求呢?

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

    案例数据共计四张表,除了常用的日期表、产品表以及销售信息表以外,白茶添加了一张额外的维度表用来固定价格区间。

    导入到PowerBI中,数据模型如下:

    构建基础的指标:

    A.Price =
    SUM ( Dim_Product[Price] )
    

    到这里准备工作结束,我们需要根据上面的Price度量值算出每一个价格区间的最大值和最小值。

    最小值:

    B.Starting_Value =
    VAR MaxProductPrice =
        MAXX ( ALLSELECTED ( 'Dim_Product' ), [A.Price] )
    VAR MinProductPrice =
        MINX ( ALLSELECTED ( 'Dim_Product' ), [A.Price] )
    VAR Periods =
        CALCULATE ( MAX ( 'Dim_Interval'[IntervalIndex] ), ALL ( 'Dim_Interval' ) ) - 1
    VAR Disparity_VALUE = MaxProductPrice - MinProductPrice
    VAR SPACE_VALUE = Disparity_VALUE / Periods
    VAR First_Starting_VALUE = MinProductPrice
    VAR Selected_Value =
        SELECTEDVALUE ( 'Dim_Interval'[IntervalIndex] )
    RETURN
        IF (
            Selected_Value,
            First_Starting_VALUE + SPACE_VALUE * ( Selected_Value - 1 ),
            First_Starting_VALUE
        )
    

    最大值:

    C.Ending_Value =
    VAR MaxProductPrice =
        MAXX ( ALLSELECTED ( 'Dim_Product' ), [A.Price] )
    VAR MinProductPrice =
        MINX ( ALLSELECTED ( 'Dim_Product' ), [A.Price] )
    VAR Periods =
        CALCULATE ( MAX ( 'Dim_Interval'[IntervalIndex] ), ALL ( 'Dim_Interval' ) ) - 1
    VAR Disparity_VALUE = MaxProductPrice - MinProductPrice
    VAR SPACE_VALUE = Disparity_VALUE / Periods
    VAR First_Starting_VALUE = MinProductPrice
    VAR Selected_Value =
        SELECTEDVALUE ( 'Dim_Interval'[IntervalIndex] )
    RETURN
        IF (
            Selected_Value,
            First_Starting_VALUE + SPACE_VALUE * Selected_Value,
            First_Starting_VALUE + SPACE_VALUE * ( Periods + 1 )
        )
    

    我们来查看一下度量值结果:

    我们可以看到最大价格为89,最小价格为2,右侧每个区间的域限值计算结果正确。

    每个价格区间的域限有了,可是我还想知道每个价格区间售卖的总金额和数量。

    添加如下两个基础度量值:

    总金额:

    D.Revenue =
    SUMX ( 'Fact_Sales', 'Fact_Sales'[Quantity] * RELATED ( Dim_Product[Price] ) )
    

    销售数量:

    E.Quantity =
    SUM ( 'Fact_Sales'[Quantity] )
    

    我们根据这两个指标可以计算每个价格区间的总金额以及数量。

    区间总金额:

      F.TotalRevenue =
    VAR StartingValue = [B.Starting_Value]
    VAR EndingValue = [C.Ending_Value]
    RETURN
        CALCULATE (
            [D.Revenue],
            FILTER (
                ALLSELECTED ( 'Fact_Sales' ),
                VAR CurrentValue = [A.Price]
                RETURN
                    CurrentValue >= StartingValue
                        && CurrentValue < EndingValue
            )
        ) + 0
    

    区间销售数量:

    G.TotalQuantity =
    VAR StartingValue = [B.Starting_Value]
    VAR EndingValue = [C.Ending_Value]
    RETURN
        CALCULATE (
            [E.Quantity],
            FILTER (
                ALLSELECTED ( 'Fact_Sales' ),
                VAR CurrentValue = [A.Price]
                RETURN
                    CurrentValue >= StartingValue
                        && CurrentValue < EndingValue
            )
        ) + 0
    

    结果如下:

    从结果上看,符合我们的预期。但是用表格来展示会让我们的努力打折。

    换个方式,我们可以通过折线图展现十个价格区间,让结果更加直观。

    从折线图的效果来看,效果还不错,我们将折线图进行美化,最终展示效果如下:

    (BOSS:可以可以!

    Demo文件在知识星球。

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

    小彩蛋:折线图的X轴是如何实现动态的呢?


    相关文章

      网友评论

        本文标题:BI技巧丨价格区间分析

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