有时候做销售分析,经常遇到需要能够灵活的切换一些东西,本期呢,白茶决定研究研究灵活的报表——动态数据。
上图是白茶做的一份示例的动图,但是如何实现这种动态的效果呢?
跟着我的思路走。
这是白茶准备的一份示例文件,包含了产品维度、门店维度、销售事实三个表。
将其导入PowerBI中,建立模型关系,结果如下:
先进行我们的准备工作,编写如下代码,分别求出相对应的销售金额、成本进价以及利润(因为不在一个表,需要使用迭代器):
销售金额:
代码语言:txt复制销售金额 =
SUMX ( '销售明细', '销售明细'[销售数量] * RELATED ( '产品表'[销售价] ) )
成本:
代码语言:txt复制销售成本 =
SUMX ( '销售明细', '销售明细'[销售数量] * RELATED ( '产品表'[成本] ) )
以及利润:
代码语言:txt复制利润 =
[销售金额] - [销售成本]
其结果如下图:
基础准备工作完成,接下来开始建立动态的数据维度。
点击输入数据,填好自己的表名称。在列1里面输入自己需要的维度字样。
白茶选择将表名、列名统一命名为“财务维度”。这里需要提醒一下,这个表不需要与其他表格建立任何的联系。到这里基本上我们前期的准备工作都已经完成了,那该如何将财务维度、数据连接在一起呢?
这里涉及到三个函数:IF、SWITCH、以及SELECTEDVALUE,其中IF和SWITCH的用法差不多的,看小伙伴习惯用哪个了。
第一种写法:
代码语言:txt复制IF写法 =
IF (
SELECTEDVALUE ( '财务维度'[财务维度] ) = "销售金额",
[销售金额],
IF ( SELECTEDVALUE ( '财务维度'[财务维度] ) = "利润", [利润] )
)
第二种写法:
代码语言:txt复制SWITCH写法 =
SWITCH (
TRUE (),
SELECTEDVALUE ( '财务维度'[财务维度] ) = "利润", [利润],
SELECTEDVALUE ( '财务维度'[财务维度] ) = "销售金额", [销售金额],
BLANK ()
)
说一下什么意思,就是利用IF和SWITCH的条件判断作为中转,将我们输入的维度数据与事实数据建立关系,最终我们使用的,是上面的这两个代码。将我们输入的数据放入切片器,结果如图:
最后,需要自己调整一下边框,将切片与可视化插件背景色融为一体,在这里白茶就不赘述了。
小伙伴们❤GET了么?
白茶会不定期的分享一些函数卡片
(文件在知识星球PowerBI丨需求圈)
这里是白茶,一个PowerBI的初学者。