举个栗子!Tableau 技巧(256):灵活折叠文本表的多级数据行
通常,Tableau 默认的图表分层结构是统一打开或关上,有什么办法可以按需选择展开或折叠?如下示例:单击“+”展开层级,单击“-“收起层级。
可以试试集操作!今天的栗子,就来分享具体实现方法吧~

本期《举个栗子》,我们要给大家分享的 Tableau 技巧是:灵活折叠文本表的多级数据行。
为方便学习,栗子使用自拟的有五个层级的数据(如下图),掌握栗子方法后,数据粉可尝试使用其他数据源实现。懒癌患者可通过以下链接获取栗子数据源:
https://www.dkmeco.com/community/example/detail-700

具体步骤如下:
1、创建集
打开 Tableau Desktop,连接栗子数据源,新建工作表。首先,需要创建集:二级科目集、三级科目集。
右键单击“数据”窗格中的"二级科目"字段,下拉菜单选择:创建-集。如下图所示,弹窗中勾选所需的二级科目,单击:确定。

按照上述步骤,再创建:三级科目 集,弹窗中勾选:A11000、B10000、C12100、C12200。

2、创建工作表:明细表
➤ 将工作表命名为:明细表。将字段“一级科目”、“二级科目”、“三级科目”、“科目名称”拖放至行;将字段“度量名称”拖放至列,将字段“度量值”拖放至“标记”卡的文本中,移除“度量值”卡中不需要的度量胶囊。完成后的效果如下图:

➤ 创建计算字段:展示名称,用于更好的区分层级关系。键入函数
IF [科目级别]=1 THEN [科目名称]
ELSEIF [科目级别]=2 THEN ’ '+[科目名称]
ELSEIF [科目级别]=3 THEN ’ '+[科目名称]
END

在“数据”窗格中,右键单击字段“科目级别”,下拉菜单选择:转换为维度。然后,将字段“展示名称”和“科目级别”拖放至行。
分别右键单击行上的“一级科目”、“二级科目”、“三级科目”、“科目名称”、“科目级别”胶囊,下拉菜单选择:隐藏标题。

3、创建计算字段
➤ 创建计算字段:筛选,键入函数
[科目级别]=1
OR
[科目级别]=2
OR
([科目级别]=3 AND [二级科目 集])

将计算字段“筛选”拖放至明细表的“筛选器”卡中,弹窗中勾选:真。可以发现,有些“科目名称”被筛选隐藏掉了。

接下来,就需要创建“+“和”-“符号,用于展开或者收起数据行。
➤ 创建计算字段:-(2~3),键入函数
IF ATTR([科目级别])=1 OR ATTR([科目级别])=5 THEN ‘’
ELSEIF SUM(IF [二级科目 集]=TRUE THEN 1 ELSE 0 END)!=0 AND MIN({ FIXED [二级科目]:COUNTD([三级科目])})!=1 AND ATTR([科目级别])=2 THEN ‘-’
ELSE ‘’ END

➤ 创建计算字段:+(2~3),键入函数
IF ATTR([科目级别])=1 OR ATTR([科目级别])=5 THEN ‘’
ELSEIF SUM(IF [二级科目 集]=TRUE THEN 1 ELSE 0 END)=0 AND MIN({ FIXED [二级科目]:COUNTD([三级科目])})!=1 THEN ‘+’
ELSE ‘’ END

Tips:加减号是写逻辑判断一下符号的变化,展开和收起主要是用集操作完成的,但是一个工作表对于同一个集,不能既添加值又移除值,所以得用不同的工作表来做。
然后,对文本表做一些格式设置。在本栗中,需将字段字体设置为:微软雅黑 9 号,将表格行标题的阴影颜色设置为:#ffc994,并隐藏“展示名称”的行字段标签。

设置完成后的明细表如下:

4、创建工作表:展开和收起
➤ 新建工作表:+(2~3展开)。双击列上空白处,键入:‘’,然后回车。
将“一级科目”、“二级科目”、“三级科目”、“+(23)”、“科目名称”、“展示名称”、“科目级别”拖放至行。除了“+(23)”胶囊外,其他胶囊都需隐藏标题。
将”度量名称”拖放至“筛选器”卡,弹窗直接单击:确认。将字段“筛选”拖放至“筛选器”卡,弹窗勾选:真。

分别右键单击视图中的 +(2~3)和 ‘’,选择隐藏字段标签。

接下来,优化文本表格式设置。如下图所示,移除文本表的行列分隔线,将工作表的阴影设置为:无;将行标题的阴影颜色设置为:#ffc994。

然后,将“标记”卡的标记类型改为:多边形。完成后的效果如下:

➤ 新建工作表:-(2~3收起)。
具体步骤跟工作表“+(23展开)”一致,只需将行上的“+(23)”字段换成“-(2~3)”即可。

5、创建仪表板
➤ 新建仪表板:科目。
将一个“平铺”的“水平容器”拖放至仪表板视图中,再将工作表“明细表”拖放至该“水平容器”中, 设置工作表为“适合宽度”,将“明细表”和“水平容器”及“平铺容器”的内外边距设置为:0。

接着,将一个“浮动”的“水平容器”拖放至仪表板视图中,叠放在刚刚的容器之上。切换平铺模式,先后将工作表“+(23)展开”和“-(23)收起”拖放至该水平容器中,实现左右布局。
隐藏两个工作表的标题,统一宽度和高度:20像素、1100像素;并将它们都设置为:适合宽度。然后,将该水平容器和两个工作表的内外边距都设置为:0。

浮动水平容器位置根据“明细表”的位置来设定,只要将前面的“+/-”和科目名称对应上即可。

6、创建集操作
单击顶部菜单栏“仪表板”,下拉菜单选择:操作。在弹窗中选择:添加动作-更改集值。

如下图步骤添加集动作:
➤ 集动作:二级科目-展开

➤ 集动作:二级科目-收起

设置完成后,就完成了我们需要的呈现。试试看,用鼠标单击“+”和“-”来展开和收起下级数据行吧!

本期的 Tableau 技巧,你 Get 到了吗?
下一期,再见~

文章部分信息来源于网络,如有侵权请告知
相关文章:
举个栗子!Tableau 技巧(256):灵活折叠文本表的多级数据行
通常,Tableau 默认的图表分层结构是统一打开或关上,有什么办法可以按需选择展开或折叠?如下示例:单击“”展开层级,单击“-“收起层级。 可以试试集操作!今天的栗子,就来分享具体实现方法吧~ 本…...
Android View 初始化完成后,如果再调用measure再设置点击事件则点击事件会失效的解决方案
比如LinearLayout 或RecyclerView 我们在初始化完成并加载完数据后再次调用measure计算高度再setLayoutParams 会导致后面设置的点击事件失效。 比如: RecyclerView rv_select dialog.findViewById(R.id.rv_select); //点击事件rv_select.setOnItemClickListener(n…...
客户端电脑使用 FTP的Cadence_CIS库方法说明 (下)
简介:随着企业的规模扩大,硬件工程师的增多,使用统一服务器上的库管理,可以减少设计错误,提高效率。 使用在FTP上布局Cadence_CIS库,是目前的主流的做法之一; 本文方法,用于已经配置…...
【ES】笔记-let 声明及其特性
let 声明及其特性 声明变量 变量赋值、也可以批量赋值 let a;let b,c,d;let e100;let f521,giloveyou,h[];变量不能重复声明 let star罗志祥;let star小猪;块级作用域,let声明的变量只在块级作用域内有效 {let girl周杨青;}console.log(girl)注意:在 i…...
wps 预加载项插件本地开发启动项目打开wps 客户端,未看到加载项菜单,
wps 预加载项插件本地开发启动项目打开wps 客户端,未看到加载项菜单,请检查本地c盘安装目录下“jsplugins.xml”信息是否添加成功 如下图 name 插件项目 url 本地插件运行地址及端口 <jsplugins><jspluginonline name"wps-soft-copyright…...
uni-app开发微信小程序经常遇到的一些问题及解决方案
1.如何获取用户信息? 可以使用uni.getUserInfo接口获取用户信息。需要用户授权。 2.如何实现下拉刷新? 可以使用uni-app提供的页面组件内置下拉刷新功能,也可以自定义下拉刷新组件。 3.如何实现上拉加载更多? 可以在页面onReachBo…...
一个 git 仓库下拥有多个项目的 git hooks 配置方案
前言 通常情况下,一个 git 仓库就是一个项目,只需要配置一套 git hooks 脚本就可以执行各种校验任务。对于 monorepo 项目也是如此,monorepo 项目下的多个 packages 之间,它们是有关联的,可以互相引用,所以…...
钉钉对接打通金蝶云星空获取流程实例列表详情(宜搭)接口与其他应收单接口
钉钉对接打通金蝶云星空获取流程实例列表详情(宜搭)接口与其他应收单接口 对接系统钉钉 钉钉(DingTalk)是阿里巴巴集团专为中国企业打造的免费沟通和协同的多端平台,提供PC版,Web版和手机版,有考…...
用python做一个小项目,python做简单小项目
大家好,本文将围绕用python做一个小项目展开说明,python做简单小项目是一个很多人都想弄明白的事情,想搞清楚python入门小项目需要先了解以下几个事情。 来源丨网络 经常听到有朋友说,学习编程是一件非常枯燥无味的事情。其实&…...
输入筛选框搜索
文章目录 输入筛选框实现效果图需求前端工具版本添加依赖main.js导入依赖 代码 后端代码对应 sql对应 mapper.xml 文件的动态 sql 输入筛选框实现 效果图 需求 通过筛选框,选择公司,传入后端,后端根据公司名称去文章的内容中进行模糊查询 …...
公司植物日常护养方法备忘录
植物为我们净化空气,美化环境,我们要按照科学的经验照顾好它们。公司植物日常通用护养方法如下: 首先剪掉已经枯黄的部分。 需要晒太阳的植物按时搬到外面晒太阳,每次晒1到2个小时。 所有植物统一在每个月的20号左右施肥一次&am…...
小红书JAVA后端一面汇总总结
小红书 2 年社招 Java 后端一面的面经,面试的风格是从一个知识一层一层深入问到底层。 从 Java IO,问到 socket 底层。从 Java 内存,问到操作系统内存。所以学习知识的时候,不要只 看八股文,还是需要从点到面一层层去掌握, 才能比较好应对这类的面试场景。 问题记录 自我…...
【图论】强连通分量进阶
一.作用 强连通分量可以判断环和进行缩点。还有一系列作用.... 这篇文章介绍缩点 二.题目 https://www.luogu.com.cn/problem/P2341 三.思路 我们分析可以知道当一个点没有出度时,则为最受欢迎的牛。但如果有多个出度,则没有最受欢迎的牛。 这是只有…...
perl GetOptions
在Perl中,你可以使用标准模块Getopt::Long来解析命令行选项(Command Line Options)。Getopt::Long模块允许你定义命令行选项以及它们的值,并且还可以处理各种类型的选项,如标志选项(flag options࿰…...
QGIS下载谷歌地图或者其他地图
QGIS安装Welcome to the QGIS project! 打开QGIS 添加图源 Google_Maps: https://mt1.google.com/vt/lyrsr&x{x}&y{y}&z{z} Google_Terrain: https://mt1.google.com/vt/lyrst&x{x}&y{y}&z{z} Google_Roads:https://mt1.google.com/vt/lyrsh&x{x…...
Python-re模块-正则表达式模块常用方法
re模块介绍: Python的re模块提供了正则表达式的功能,可以用来进行高级的字符串匹配和处理。re模块的主要功能包括: 编译正则表达式 - 使用re.compile()可以编译正则表达式字符串,生成正则表达式对象。 匹配字符串 - 使用正则表达式对象的match()、search()、finda…...
修改el-select或者el-input样式失效
下午改el-input和el-select这两个的样式真的烦,,,还不如写原生标签了。。 样式使用的是sass 我已经在样式器中挨着挨着去找了,把层级的类都写下来了 .select-wraper{//下拉框.el-select{.el-input .el-input__wrapper{backgrou…...
【Apifox】Apifox设置参数说明:
文章目录 一、效果:二、Query参数:三、返回响应: 一、效果: 二、Query参数: 三、返回响应:...
离线数仓中,为什么用两个flume,一个kafka
实时数仓中,为什么没有零点漂移问题? 因为flink直接取的事件时间用kafka是为了速度快,并且数据不丢,那为什么既用了kafkachannel,也用了kafka,而不只用kafkachannel呢? 因为需要削峰填谷离线数仓…...
p7付费课程笔记6:CMS GC
目录 前言 工作步骤 缺点 问题 前言 上一章节我们讲了串/并行GC,这一章节说下CMS GC。看前思考一个问题,并行GC与CMS GC的区别在哪里。 什么是CMS收集器 CMS(Concurrent Mark-Sweep)是以牺牲吞吐量为代价来获得最短回收停顿时间的垃圾回收器。对于…...
Unity安卓构建实战指南:解决APK真机安装闪退与构建失败
1. 这不是一本“从零开始”的书,而是一份你真正上手Unity安卓游戏开发前必须撕开的说明书我带过三届Unity实习工程师,也帮二十多个独立开发者把Demo打包进Google Play。每次看到新人在“安卓构建失败”报错里反复挣扎,或者对着“IL2CPP编译卡…...
Obsidian PDF++:如何在Obsidian中实现PDF与笔记的无缝双向链接?
Obsidian PDF:如何在Obsidian中实现PDF与笔记的无缝双向链接? 【免费下载链接】obsidian-pdf-plus PDF: the most Obsidian-native PDF annotation & viewing tool ever. Comes with optional Vim keybindings. 项目地址: https://gitcode.com/gh_…...
量子计算中Loschmidt回声相位测量的创新方法
1. 量子计算中的Loschmidt回声相位测量方法概述Loschmidt回声是量子动力学中一个重要的概念,它描述了量子系统在时间反演演化后与初始状态的相似程度。在量子计算领域,精确测量Loschmidt回声的相位信息对于理解量子系统的非平衡态行为、计算能量本征值以…...
力扣HOT100(30)两两交换链表中的节点
链表的交换要注意 “链表不断链”。前驱和后继都要连着迭代法(必学死磕!O (n) 时间,O (1) 空间)1. 为什么必须用虚拟头节点?因为交换后链表的头节点会变! 比如示例 1 中,原来的头是 1࿰…...
2605.VGGT-Omega 论文解读: 3D重建的Scaling Law, Register Attention效率革命 | Oxford+Meta CVPR26 Oral
VGGT-Omega: Scaling Feed-Forward 3D Reconstruction Jianyuan Wang, Minghao Chen, Shangzhan Zhang, Nikita Karaev, Johannes Schonberger, et al. Visual Geometry Group, Oxford Meta AI | CVPR 2026 Oral | arXiv 2605.15195 Paper | Project Page 一句话总结 VGGT-Om…...
森优时铁锌维发根养黑用三个月真实效果实测:内服营养养黑的客观测评
"森优时铁锌维发根养黑用三个月真实效果实测显示,针对压力、熬夜引发的早白问题,通过内服补充毛囊所需营养的方式,多数使用者能感受到发根韧性提升、新生发色素沉淀改善,整体改善效果因人而异,合规的营养补充是目…...
别再死记硬背了!用5个生活化比喻彻底搞懂Linux进程的fork、exec和wait
别再死记硬背了!用5个生活化比喻彻底搞懂Linux进程的fork、exec和wait想象你正在厨房准备一顿大餐。菜谱上写着"切菜"、"炒菜"、"装盘"等步骤,但突然发现需要同时处理多道菜品——这时候,你会本能地让家人分工…...
碧蓝航线自动化脚本终极指南:3小时学会全自动游戏管理
碧蓝航线自动化脚本终极指南:3小时学会全自动游戏管理 【免费下载链接】AzurLaneAutoScript Azur Lane bot (CN/EN/JP/TW) 碧蓝航线脚本 | 无缝委托科研,全自动大世界 项目地址: https://gitcode.com/gh_mirrors/az/AzurLaneAutoScript 还在为碧蓝…...
随机森林算法在儿童出行方式预测中的实战应用与优化
1. 项目概述:用随机森林预测孩子怎么上学做城市交通规划或者做家长接送方案的时候,你肯定想过一个问题:孩子们到底是怎么上学的?是走路、骑车、坐公交还是家长开车送?这个问题看似简单,背后却牵扯到城市规划…...
具身智能:面向新兴交叉学科建设的思考与建议 2026
这份由 CCF YOCSEF 长三角五地学术委员会 2026 年 5 月发布的白皮书,聚焦具身智能作为新兴交叉学科的建设,明确其并非 AI 与机器人学的简单拼接,而是围绕物理交互中的智能行为形成的新问题域,提出 “三大基本问题 一个应用需求”…...
