举个栗子!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)是以牺牲吞吐量为代价来获得最短回收停顿时间的垃圾回收器。对于…...
Windows 11 任务栏透明美化神器:TranslucentTB 完全使用指南
Windows 11 任务栏透明美化神器:TranslucentTB 完全使用指南 【免费下载链接】TranslucentTB A lightweight utility that makes the Windows taskbar translucent/transparent. 项目地址: https://gitcode.com/gh_mirrors/tr/TranslucentTB 想要让 Windows …...
Python结合OCR技术实现高效发票信息提取与自动化处理
1. 为什么需要自动提取发票信息? 每次月底整理报销单据的时候,你是不是也经常对着堆积如山的发票发愁?一张张手动录入发票号码、金额、开票日期,不仅效率低下还容易出错。我去年在一家电商公司做财务系统优化时,发现财…...
计算机毕业设计springboot智慧校园服务系统 基于SpringBoot的高校智慧校园综合管理平台的设计与实现 基于SpringBoot与微信小程序的数字化校园服务系统的设计与开发
计算机毕业设计springboot智慧校园服务系统 (配套有源码 程序 mysql数据库 论文) 本套源码可以在文本联xi,先看具体系统功能演示视频领取,可分享源码参考。随着社会的快速发展和信息技术的全面进步,传统的教育教学模式面临着诸多挑…...
从电机控制实战看Q格式:TI C2000 DSP的定点数优化秘籍
电机控制实战:TI C2000 DSP中Q格式的定点数优化艺术 在实时电机控制系统中,计算效率和精度往往是一对矛盾体。当TI C2000系列DSP遇上无刷电机控制,Q格式定点数运算便成为平衡这对矛盾的关键技术。本文将深入探讨如何通过Q格式在资源受限的定点…...
HARMONYOS应用实例246:互动七巧板拼图
项目二:互动七巧板拼图 功能介绍: 本应用模拟了中国传统智力玩具七巧板。屏幕上展示7块几何形状(三角形、正方形、平行四边形),支持拖动平移和点击旋转操作。用户可以自由拼接图形,拼出各种造型。该应用帮助学生直观理解图形的平移、旋转、对称等几何变换,以及面积守恒…...
Windows主题自由革命:SecureUxTheme安全启动兼容的内存补丁终极指南
Windows主题自由革命:SecureUxTheme安全启动兼容的内存补丁终极指南 【免费下载链接】SecureUxTheme 🎨 A secure boot compatible in-memory UxTheme patcher 项目地址: https://gitcode.com/gh_mirrors/se/SecureUxTheme 厌倦了Windows千篇一律…...
JDK 25模块路径在统信UOS/麒麟V10上启动失败?3步定位osgi-container冲突、jni.so符号缺失与jmod签名验签绕过方案
第一章:Java 25 模块化部署国产化适配方案Java 25 引入了更严格的模块系统约束与原生镜像增强能力,为在麒麟V10、统信UOS、openEuler等国产操作系统上实现轻量、安全、可验证的Java应用部署提供了新路径。适配核心聚焦于JVM层兼容性、模块图裁剪、国密算…...
CayenneMQTT库详解:嵌入式设备快速接入MQTT平台
1. CayenneMQTT 库概述 CayenneMQTT 是一个专为物联网设备设计的轻量级 MQTT 客户端库,核心目标是将嵌入式终端(如 Arduino、ESP8266、ESP32)快速、可靠地接入 Cayenne IoT 平台 的可视化仪表盘。该库并非从零实现 MQTT 协议栈,…...
gte-base-zh在AIGC内容审核中的应用
gte-base-zh在AIGC内容审核中的应用 最近和几个做AIGC应用的朋友聊天,大家普遍反映一个头疼的问题:内容审核。用户生成的内容五花八门,数量巨大,单靠人工审核,不仅成本高,还容易漏掉一些打擦边球或者变着花…...
用Python和MATLAB/Simulink复现车辆二自由度模型:从理论公式到仿真验证(附代码)
从理论到实践:Python与MATLAB/Simulink实现车辆二自由度动力学仿真 在自动驾驶和车辆工程领域,理解车辆动力学模型是开发先进控制算法的基础。二自由度模型作为最简单的车辆动力学模型之一,能够有效描述车辆的侧向和横摆运动特性。本文将带您…...
