Disconnected Table
辅助表英文是disconnected table, 直译是断开的不连接的表,你也可以叫它参数表,独立表等等。但无论什么叫法,它都是辅助运算的表,我们就暂且叫它辅助表吧。它会存在我们的数据模型中,但是你故意让它不与任何表发生关联。
在TopN公式的学习中PowerBI公式-排名 RankX和TopN我们使用了求排名前5名城市的例子,我们说如果老板想要看前10名的数据,你只要把公式中的N值改为10。不过这还是有点麻烦,作为数据的输出者和仪表板的设计者我们经常要站在顾客(数据的读者)的角度去思考,假设一个不懂PowerBI的人,也可以快速上手操作仪表板,给顾客提供人性化的操作选择并引导他们的思考。
现在我就来利用辅助表完成一件事情,创建辅助表你可以在Excel中编辑,再导入。因为我们的案例很简单,也可以采用另一种方法,在PowerBI选项卡下面有一个输入数据选项。
在这里你可以直接创建一张表,名称辅助表,列名称命名为排名,再输入12345678910数字,点加载,直接加载到数据模型中。
在关系视图中你会看到该表,作为辅助表,请不要让它与任何表关联。现在你需要做的事情,把该排名列加入到切片器中。这样你就可以利用它来做筛选,只不过这张表与任何表没有关联,所以点击任意数字都不会与其他图表有交互的效果。
接下来新建一个度量值排名值,排名值=Max('辅助表'[排名])。这里的Max只是为了把表中的数据转换成值,所以使用Min当然也是可以的。再把TopN这个公式里面的N,前5名这个数字替换成这个度量值。
当你选择某一个值的时候,对应公式里面的度量值就会发生变化,从而按你想要的筛选名次输出数据。
这个方法的应用场景很多,比如在学习Filter公式时使用的[10 Filter销售量]中的筛选条件使用的是[销售量]>200, 你可以建立一张辅助表,有50,100,150,200等等不同的目标数字,利用这种辅助表的方法来做敏感性分析。
还有一些经常使用的场景,比如销售额的单位可能是元,如果你想要实现可以切换成千元、万元、百万元等不同单位的变化,同样可以建立一张辅助表,把1千,1万,100万数字输入一列,通过Max函数对该列计值,再放入到销售额度量值公式的分母中,就可以实现单位的切换了。
祝好,