千家信息网

Tableau中的换位思考 -- 兼谈筛选器作用下维持百

发表于:2025-12-04 作者:千家信息网编辑
千家信息网最后更新 2025年12月04日,Tableau是一个十分易学易上手的软件。看两三个小时的入门教程,就能做出一个看上去很不错的报表,非常有成就感。然而当你学到一定程度或者从事数据可视化工作一段时间,就会发现自己的Tableau水平遇到
千家信息网最后更新 2025年12月04日Tableau中的换位思考 -- 兼谈筛选器作用下维持百

Tableau是一个十分易学易上手的软件。看两三个小时的入门教程,就能做出一个看上去很不错的报表,非常有成就感。然而当你学到一定程度或者从事数据可视化工作一段时间,就会发现自己的Tableau水平遇到了瓶颈,很难突破。有时候工作中的一个小问题会让你犯愁一整天,茶饭不思。确实,Tableau软件充斥着各种各样的技巧,只有通过大量实际工作的磨练才能掌握,随着经验的日积月累和不断总结,才能发生Tableau水平从量变到质变的飞跃。这儿我想说的是,从事Tableau工作需要很强的换位思考能力。有时候常规方法无法达到目的,不妨换个思维,从另外一个角度出发,运用其他技巧、甚至"欺骗"的手段来实现同样的效果。


我们知道,在维度筛选器作用下一个通过表计算求出的度量百分比是无法维持原来值的。例如,任意选择几个Subcategory的值,它们的总和一定是百分之百,很显然它们各自的百分比与原先没有度量筛选器时的百分比完全不一样。





那么如何达到在维度筛选器的作用下,各百分比保持原来的值呢?这里介绍五种方法。

方法一:使用Index功能


创建一个计算字段 IndexIndex(),转换为离散,然后在control filter窗口中选择不同的数值就会显示对应Subcategory在筛选器作用以前的百分比值。此处Index()作为一个表计算筛选器,级别最低,它只能选出对应的维度呈现哪个值,却对表计算本身不起作用,所以,百分比值得以保持。



这儿用到的就是一种换位思考的方法。既然筛选器级别太高,影响表计算结果,得,我就用级别最低的筛选器(表计算筛选器)将字符串表示的维度值转换为可用Index表达的数字来实现相同的效果。当然,此方法有两大缺点。首先,Index选项中1-17分别对应哪个Subcategory不明确。其次,当Index不按Subcategory的字母顺序排列而按照别的标准来排,比如按照Sales的大小排列,则其对应的Subcategory 又会有变化,因此,虽然想法不错,但此法不是一个好的选择。

方法二:使用集值 (Set)


基于Subcategory,建一个 Sales大小排列的集(Set),设立参数Top N以实现动态选择,并将Set放到颜色标记中。



隐藏颜色图例中的Out,选择不同的参数,就能显示相应Subcategory原先的百分比。



此处没用任何筛选器,只是将Out类别的Subcategory及其百分比值隐藏起来,从视觉上就显示出所感兴趣的Subcategory及其原先的百分比值,这就是一种通过"欺骗"而达到同样效果的手段,很巧妙。此方法的缺点是,由于集 (Set) 的特性,仅适用于选择按照某种特性、尤其是度量值大小排列的维度及百分比,而无法自由随机地选择维度并呈现百分比值。

方法三:复制数据源


我们知道,Percent of Total 的计算方法是:SUM([Sales])/TOTAL(SUM([Sales]))


假如将数据源进行复制,维度筛选器和分子中的Sales采用同一数据源中的值,而分母中的Sales采用另一数据源中的值,只要脱离两个数据源之间的联系,维度筛选器就只能影响分子中的Sales,而对分母中的Sales却无能为力,如此就能保持筛选器作用之前的百分比,这就是此方法的作用原理。


% in Double Data Sources

SUM([Sales])/TOTAL(SUM([Orders (Sample - Superstore) (2)].[Sales]))



此方法的缺点是需要Blending两个数据源,增大了文件尺寸,并影响报表呈现的速度和性能。

方法四:使用lookup功能

表计算求出的百分比值之所以无法保持,是因为在筛选器和计算排列顺序表中维度筛选器排在表计算之上,所以表计算受维度筛选器的控制。如果我们将维度筛选器变成一个表计算筛选器, 原先的百分比值就可以保持了。在第一种方法中用了Index功能,此处我们可用lookup功能,它也是一种常用的表计算功能。建立以下计算字段:


Lookup:

LOOKUP(MIN([Sub-Category]),0)


此处MIN功能的目的是将Subcategory变成一个聚合计算,这是lookup所要求的,当然也可以用MAXATTR等。



此方法比第一种用Index的方法有进步,因为在筛选器选项中显示的是维度的具体值,与直接将Subcategory 用作筛选器并无二致。缺点也很明显,当换一种维度,比如RegionCategory等作为筛选器时,其lookup计算字段必须更改所选维度,十分麻烦。

方法五:用表范围LOD计算


杀器来了!此方法用表范围的详细级别计算来求出百分比。


% by LOD:

SUM([Sales])/SUM({SUM([Sales])})


此计算中,分母所包含的表范围LOD计算算出总体销售额,它属于Fixed详细级别计算,不受维度筛选器的影响,因此选中的所有维度都将保持原先的百分比值。




方法一和方法四采用的是通过降低筛选器的思路,而此处不改变维度筛选器,却用Fixed LOD 将计算提高级别、超越维度筛选器以达到目的。端的是条条大路通罗马!


为什么此法甚佳?请注意此计算用到的是度量,并未牵涉维度,所以无论选择何种维度作筛选器,都不需要修改计算式,总能完美地运作,这是比方法四更好之处。另外,其维度值选择可以是随机的,不用按照度量值或其它标准排列,这是与方法二相比的优势所在。它又无须象方法三那样需要双数据源。Overall,方法五无愧最佳选择,秒杀所有其他方法!

换位思考在Tableau中无处不在。基本上,Tableau中能让你拍案叫绝的技巧和手段都用了换位思考这种说的难听一点就是"欺骗"的手段。在以后的系列中,我还会继续教你用"欺骗"的手法,克服一个个难关,神鬼不知直达目的!




筛选器 维度 方法 百分 选择 数据 比值 百分比 数据源 作用 功能 此方法 级别 就是 手段 目的 缺点 工作 影响 分母 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 第六届新余网络安全宣传 数据库各表之间的计算 通辽市品尚网络技术有限公司 数据库安全教育视频 网络安全整改情况函怎么写 徐汇区手机软件开发公司 csmar数据库怎么查到股价 计算机三级网络技术考试上机 列出几种基本的网络安全技术 网络安全健壮性 单独一个号码无法连接到服务器 万州区提供软件开发服务电话多少 多cpu服务器组装图片 网络安全警察是做什么的 网络技术技术考试大纲 广东crm客户管理软件开发 网页游戏数据库软件开发 无锡电子软件开发销售 毒理常用数据库建立 泉州软件开发培训多少钱 智慧数字化软件开发 管理ns服务器 杭州市网络安全企业 计算机三级网络技术考试上机 pyecharts 数据库 网络安全平台账号查询 江苏专转本网络技术可以考的专业 软件开发文档gb模板 彩票分析软件开发制作教程 做设计和软件开发哪个好
0