胜者先求胜而战,败者先战而后求胜
如果我们需要用同样的逻辑对不同的指标进行分析,重复作图的话不仅效率低而且会使内容拥挤。在Tableau中,使用参数及计算字段就可以实现根据需要动态的切换显示不同指标数据。
案例数据来自于维基百科关于世界各国太阳能发电站的数据,我们希望从3个方面分析各个站点的排序情况。这三个度量分别是兆瓦、总面积、兆瓦每平方。
在Tableau中已经基于站点名、国家、年份及兆瓦建立了如下条形图。
站点名、国家及年份拖拽到行上,兆瓦拖拽到列上。
同时使用创建的「均值以上」将均值以上的站点与均值以下站点做颜色上的区分
一、创建取值参数
实现动态切换指标的第一步就是创建一个参数,该参数主要是用来获得用户的选择。
在字段列表右击鼠标>创建参数
在创建参数对话窗格中,按以下步骤创建字符串类型的参数。并且将兆瓦、兆瓦每英里、总面积设置为允许值的列表。
创建列表型参数
点击确定以后,在字段列表下方就会出现我们创建好的参数「用户取值」。选中「用户取值」,单击鼠标右键,显示参数。此时条形图中就多了指标下拉选择框了。
只是我们切换取值条形图并不会发生变化。决定条形图实现指标的是列上的兆瓦总和,因此下一步是创建计算字段,将该字段替换。
二、创建计算字段
在字段列表中右击鼠标,选择创建计算字段。计算字段中使用CASE WHEN THEN 语法对用户选择进行判断。
CASE 语法是多层嵌套IF函数的优化,计算字段的公式如下:
拖动「动态指标」到列上,将原度量值覆盖(注意是覆盖原度量值,而不是在原度量值基础上增加新的度量)
动态切换指标数值的效果就实现了。关键步骤就是2个:创建参数及使用CASE WHEN THEN 语法进行判断。
这个神奇的网站,可以一键下载很多好看的模板
动态提取列、批量更改列名还可以这样做,真高效
使用自定义M函数「打包」数据处理流程
领取专属 10元无门槛券
私享最新 技术干货