Tableau完整案例:使用集值做互动分析

近期为一家客户做Tableau售前展示,对方是我期待已久的物联网企业,因此特别认真地做了简单而实用的互动demo,并且使用了这几天正在学习的集值(集动作)功能。完整的分析给大家,希望增加对集值的了解。 “集值”被称之为自“详细级别表达式”以来最重要的功能,我在使用中也深感它的魅力,因此强烈推荐大家抢先使用,一睹为快。它对于互动的增强是本质性的,而非简单的点缀。欢迎查看本系列博客(译著): 【Tableau】从0到1学习集动作:变化无穷的新技能-入门篇  【Set Action】“集值”可视化对比八大绝技 -中级篇  【Tableau】集值8大分析锦囊-高级篇 一、数据一览与客户需求 在真实的业务场景中,分析始于问题、始于需求,而非开始于数据。所以千万不要拿到数据着急寻找珍珠,否则往往是越看越纠结。我拿到的数据是仅一分钟内的传感器数据,对方临时生成的数据,明显数据结构并非完美,原表中同时包含了原始数据和二次加工的分析数据。 对方想要查看的视图,一是左上角分析字段在60秒的波动情况,二是在每秒1000次(专业术语大概是1000Hz)的数值波动,查看波峰波谷,这里分为原始数据和傅里叶数据两种,每秒可以视为一个系列。客户之前使用Excel做了一个模拟,同时展示三秒的傅里叶数据波动,样图如下: 看上去,这个需求很简单啊,Tableau最入门的折线即可完成,不过前提是数据结构和完整性良好的情况下。都说数据整理要占据80%的时间,这里也逃不过去,数据整理还是需要点时间。 二、数据整理过程 使用Tableau Desktop导入数据之后,Excel中列(第1秒到60秒对应的60列)会被视为度量,而左侧字段(包括原始字段1到原始字段999)的大量数据被视为维度,并统一到一个字段之下。这样的数据存在几个问题: 第一个视图需求是分析某指标在60秒的数据波动,我们需要以时间(秒)为轴,而这需要一个时间字段,它包含0~60。为此,这里我们将60列转置,从而生成一个时间(秒)字段。这也是为什么Tableau总是喜欢tall 的数据,而非wide的数据,所谓的“宽表”是可视化的梦魇,因为它割裂了一个统一数据字段。 转置方法,在数据源按shift多选所有列,右键“转置”。原来的标题即可改为“秒”(我在数据中叫做“第X秒数据”),另一个修改为“数值”即可。 第二个视图需求是一秒内1000次震动的数值波动,这又需要一个维度,包含0~999,用来生成横轴。这里需要把第一列的数据做必要的拆分,获得后面的震动序列编码,我称之为“频率采集点”。如果把长度不同的“X轴傅里叶数据XX”、“X轴原始数据XX”、“Y轴傅里叶数据XXX”后面的编码统一拆分? 介绍两种方法: 使用left/right/mid函数,获得左侧/右侧/中间的字符串长度。根据统一的规律,所有字段都包含“数据”两个字,我们查找它在[字段]中的位置,然后确定裁剪的长度。这个方法符合直觉,但是不够简练。 int( right([字段],LEN([字段])-FIND([字段],’数据’)-1)) // len返回字段长度,find返回“数据”的位置,right返回后面的数值字符 //int把数字字符改为数值,从而形成连续轴 使用拆分split,我们往往使用拆分和自定义拆分整理数据,拆分不一定是用标点符号分割,我们可以在“自定义拆分”中输入“数据”作为分隔符,然后保留最后一位,之后手动添加int函数将字符转化为数字。

【平民数据科学家】Tableau学习锦囊与“三剑客”套装

作为Tableau的深度粉丝,每月第三周的Tableau课程将如期举行。 听说奥马哈两个老头的“脱口秀”刚开始无人问津,至今组织了40多年,日拱一卒,积年累月,每个人都能达到未曾预料到的高峰。这也给了我继续前进的勇气,那就是每个月一次的Tableau入门及进修课程。 本期的课程将引入全新的课程讲义和最新内容,进一步弘扬Tableau“大法”,帮助更多的业务人士成为“平民数据科学家”,从数据挖掘价值,驱动业务成长。全新改版的课程重点包含了以下特点: 升级版的「企业级培训讲义」 升级版的LODs内容与计算分析案例 最新的高级互动内容——集动作和参数动作 一、 学习背后,最重要的是背后的原理 先哲和伟人都说,所有现实的事情,都是过去“类似情景”的重复;生活如此,分析过程也是如此。善于总结经验的人能从失败和挫折中收集绕过困难并不断前进的方法,并不断的总结成为原理和方法论。 “世界上最重要的事情是理解现实如何运行,以及如何应对现实。……良好的原则是应对现实的有效方法。” 学习Tableau,都是从解决一个个小问题开始的,随着学习的深入,我们需要知道“为什么选择这样的图形?”“为什么要区分字段的连续和离散,有何影响?”“如何分析有关详细级别表达式的问题?” “如何选择计算?”越来越多的问题,背后都会归结到相似或者相同的情景中。 借鉴中外优秀的经验,我总结了很多实用的方法,可以说是Tableau学习路上必备的锦囊。 如何选择图形? 如何选择计算? 如何分解包含LODs的问题并计算? 如何从数据整理到数据共享? 如何展开会员分析? …… 古人说教学相长,在分享的过程中,我也获得了非常多的启发,并在不时修改和完善各类使用说明和方法。更希望在交流的过程中帮助到更多的人。 二、Tableau高级分析和互动的“三剑客” 在自己多年学习Tableau的过程中,慢慢形成了自己对Tableau学习脉络的总结,特别适合于没有技术背景的业务人员。Tableau学习“入门极其容易,成长坡道又足够长”,因此非常适合业务人员把它作为进入大数据分析和业务分析的敲门砖,以及深挖数据价值、驱动业绩成长的利刃。 如果从高级分析和展示方面总结,我想Tableau有令人敬畏的“三剑客套件”,分别是LODs、TC、和Set Action。 LODs是高级计算和深度分析的翅膀,无翅膀·不飞翔 TC表计算增强了Viz对比分析,“无对比·不分析” Set Action则让用户分析无限可能,真·无限可能 1、LODs 分析从问题开始,比如“各业务板块相对去年的同期增长如何?”“哪些销售业务员的回款比率更高?” 一般而言,每个问题都对应着不同的数据关系类型,进而对应不同的最近可视化方法。 但是,随着业务问题的复杂化,我们需要把问题拆解成为不同的层次,同时要在不同层次间保持一致性。这就涉及到一种高级操作:在一个可视化视图中,希望包含多个详细级别的数据聚合。 问题很复杂,但是Tableau提供了无需复杂代码的解决方案:详细级别表达式。本质上,每个详细级别表达式,都是一次独立的SQL查询和聚合,然后再按照视图的要求展示出来,因此,可以理解是VizQL技术的高级形式,一次隐形的拖拽转化为SQL的过程。 曾经有Tableau用户给我发信息,说“之前几乎看遍了官方文档,还是模糊的理解,直到看到了你的资料,一下子就理解了!” 当时我特有自豪感,我之前说要“做最好的华文非官方LOD帮助文档”,慢慢就实现了。 上个月在企业讲课,我对LODs的部分讲解甚详,但是最后总感觉有一点点没有说明白的地方,结合大家的提问,回来又详加分析,之后更新了LODs系列的第二、第五篇文章,特别是修改了Fixed LOD的介绍图,并进一步分为了三个类型,明白了“复制”和“聚合”的区别。 2、TC 表计算是高级分析的精髓所在,为什么?因为分析的关键就在对比,没有对比就是没有分析。以财务分析为例,清晰的知道当前的收入、费用、利润、现金流很重要,但是绝对值从来不能代表质量,充其量代表数量而已。即便同一个行业,收入过亿的企业,很可能就在破产的边缘,而另一家收入百万的企业,很可能是明日之星,如何分辨二者的质量?对于对比,最佳的指标是比率。 例如,在财务分析中,通过费比、毛利率和利润率,可以分析企业业务的健康度;而查看流动比率、速动比率、现金比率则可以直观洞察企业的负债水平。在大部分情况下,绝对值用于分析规模和排名,而比率用于分析质量和对比。 在Tableau中,表计算方便而快捷,为各类对比分析提供了最佳通道;快速表计算提供了常见的各种便捷用法,甚至可以两次表计算,而表计算无需从数据源刷新数据的特性又提高了计算的速度。 在熟练使用LODs和表计算之后,我们就可以熟练的完成大部分的复杂工程;如果把分析结果视作一件洞察业务的作品,LODs和基本计算负责完善分析作品的框架骨骼,表计算则是最好的装饰大师,负责在视图基础上二次聚合以深化对比分析。   3、Set Action Tableau被视为“可视化的黄金标准”,因为它简单、易用、快捷、美观;而把如此美妙的可视化分析呈现给最终用户时,我们还希望通过用户的自定义互动,进一步发挥自助化分析的价值。伟大的敏捷BI工具应该兼具后端设计和前端交互的友好性和丰富性。 在新版本的Tableau Desktop中,Tableau推出来自LODs以来最伟大的功能(我认为没有之一)——Set Action集动作。我们知道“集”(set)可以用于行/列、标记、计算字段等,“集动作”增加了修改集成员的环节,通过视图的选择即可灵活修改集的结果,相当于为它插上了翅膀,因此借助集实现无穷无尽的交互。 而在即将公布的最新版本(2019.2)中,Tableau推出了set action的双胞胎:parameter action参数动作,增强了修改参数的环节,同样可以进一步增强Tableau在终端用户方面的交互性。   后记:学习是通往未来最近的路 Tableau会帮助越来越多的人理解和使用数据,并帮助更多人成为“平民数据科学家”。借助不断升级的Tableau分析套装和不断完善的学习知识,Tableau可以在你我的成长中助一臂之力。Continue reading “【平民数据科学家】Tableau学习锦囊与“三剑客”套装”

【Tableau】从0到1学习集动作:变化无穷的新技能

英文原文: On Your Marks, Get Set, Go: Everything You Need to Know to Get Started with Set Actions by Lindsey Poulter ,December 18, 2018 PS. 为了更好理解,翻译过程中有调整,有补充。可点击上述链接查看英文原文。_喜乐君 set action = 集值 = 集动作 【入门学习】【Tableau】从0到1,学习集值:变化无穷的新技能 【中级案例】【Tableau】集值8大分析锦囊 【高阶实践】【Tableau】“集值”八大绝技:做可视化对比 2018.3版本发布的集值功能,是自LOD表达式以来最为重要的功能之一。此前我(Lindsey)从没有用过“集”,因此我还是费了一点周折才从创建集到生成动作以产生动态效果。在使用新版本的6个星期里,我发现集值是如此革命性的功能,它让我们以各种新的方式与数据互动,进而增强了数据用户的体验,并更容易地发现数据洞见。在下面的文章中,我想总结一下关于集和集值的知识,从而帮助大家尽快使用这个Tableau最棒的交互功能。   一、集的基本知识 What are sets? 针对于某个维度,我们可以使用集把所有数据分为两类:集内和集外。例如,超市数据的区域Region字段有四个数值:中部、东部、南部和西部。如果你只想看中部和西部区域,那么我们可以创建一个集,分为集内(中部和西部)、集外(东部和南部)。在Tableau中,你只需要右键维度字段,选择创建> 集 即可。 弹出的“创建集”对话框,是选择集内成员的各种选项。我们可以使用“条件”或者“顶部”选项,说明逻辑来决定集内/集外的数值(比如按照销售额的聚合来选择前两个区域),或者可以手动选择哪些维度成员在集内。这里,我们直接使用手动选择中部和西部。 创建集之后,在左侧边栏(side bar)度量数据面板下就出现了一个“集”区域。这是我们创建的集。 就像维度一样,可以直接拖拽集字段到工作簿的卡和面板中。例如,我们创建一个新的工作簿,把“区域”字段拖拽到行,把“区域集”拖拽到标记的文本标签中。结果就会显示,每个区域的成员是在“区域集”的集内还是集外。 集也可以用于计算字段。集其实是一个布尔计算,集内的成员对应“真”,而集外成员对应“伪”,使用下面的语法,我们写了一个计算字段,如果在集内先显示“in set(集内)”,否则就是“out of set集外”。 //这个语法后期用的非常多,相当于给集内/集外分别增加判断或计算。 IF [Name of SetContinue reading “【Tableau】从0到1学习集动作:变化无穷的新技能”

【Tableau】集值8大分析锦囊-高级篇

[En] by BETHANY LYONS  2018/12/10 英文原文 [译+解读] by 喜乐君  2019/5 【高能预警】本文难度指数五颗星100%,难度指数比肩最复杂的LOD,建议使用Tableau至少半年以上用户进入。 2018.3发布的新功能集值,进一步扩展了Tableau的交互功能,通过用户选择数据实现了更深入、更多样化的数据对比,并有更多的机会以全新视角理解数据。如今,你可以为数据的访问者提供更丰富的分析、更灵活的探索和更优雅的用户体验。有关集值如何应用于数据对比方面,可以参考上一篇博客。 【Set Action】可视化对比:“集值”八大绝技(深度解读) 集值使得交互更加具有感染力,无需编程即可对仪表板提供更加精准的控制。它们使得用户能够针对数据访问用户设计交互反馈。借助集值,可以通过单一的选择协调多个可视化视图的不同交互动作,从而创造接近无限的组合。 Amazing! 这个功能,大概会让无数分析师兴奋! 筛选器 VS. 集值 Filter actions vs. set actions 以往,和视图的交互往往被认为就是筛选,其实,筛选只是一种互动形式。有时候,我们还想要更多的互动形式,比如以下的场景: 1、查询与选择相关的数据,同时保留全部数据而非“仅保留”精准匹配的那一部分数据。 2、保留符合任意一个条件的数据条目,而不是满足所有条件的; 3、对所选数据的排序、对齐、分组、下钻操作,同时保留这些数据的背景数据; 4、隐藏数据,而非过滤数据,因此可以在计算中继续使用。 上面的几种情形,都无法使用筛选来实现——筛选就意味着排除,意味着仅仅保留了部分数据。和筛选是保留选择的数据不同,集是把数据分成两类:集内和集外——因此我们可以在保留集外数据的基础上对集内数据进行精准控制。严格的讲,筛选是集的一种特殊形式,其实,集可以实现筛选实现的所有功能,但是反过来可不行。你可以把筛选的结果理解为“只保留”符合特定条件的“集内”成员,而集外成员被排除了。 【喜乐君】为了更好地理解集动作和筛选动作的差异,我做了一个对比图,用来强调集动作是保留了全体数据。 借助集值功能,访问者在视图中选择的数据标记可以保存在集中。由于集可以嵌套(比如创建合并集),也可以应用在计算字段中,因此用户就可以设计更加多样的交互动作,比如类似A或者B的筛选,建立在关系上的筛选等,这就为一些复杂问题比如购物篮分析提供了新的解决方案。在下面分享的视频中,我们将重点论述大家可能遇到的一些特殊场景下的用户操作流程,比如基于关系的筛选,排序和对齐标记,类似于A或者B的筛选,动态分组,运行表计算等。你可以学到以下的内容: 在交互中呈现数据关系和重叠分析 借助Tableau的运算,以运算辅助分析型思考 使用提示和技巧来设计和着色 点击这里下载博客使用的数据源  【这里】 和工作簿  here.   案例1 :关系筛选  Filtering on relationships 概念:一些数据代表意义,而另一些数据代表关系。我们都是面向于那些代表意义的数据类型做选择。以2018年世界杯球队举例,人们不会问“哪些球队属于 分组E?”而是这样问,“哪些球队属于巴西所在的分组?”(ps:“巴西”是有意义的数据,而分组E则代表的是数据包含的关系)分组字段只有在我们做检查时有意义。筛选总是选择用户选中的标记,而集可以选择与用户选择有关系的其他字段。   数据源:2018年世界杯比赛结果 场景:选择一支球队,统计它参加的比赛数量以及输赢打平的对象,每支球队赢球和失球的数量。 说明:当我们选择一个国家时,进球和失球的数量正好相同,因此进球是相对于所选择的球队而言的。 延伸说明:购物篮分析可以用这个方法来分析,把订单好代替球队,产品代替球队即可。 【常识】W、D、L分别是 wins、draws、losses,即胜、平、负;GS 代表“进球”(goals scored),GAContinue reading “【Tableau】集值8大分析锦囊-高级篇”