[Chapter-1]”Data Visualization Analysis: Principles and Practice of Tableau”

作者注:2020年新书出版之后,几位Tableau好友计划帮助我把书翻译为英文,计划本身就出乎我的意料,不过我也乐见其成,因此多方合作,已经有了前面两章的翻译。不过图片还需要我自己处理,需要一些时间。 不管能否出版,博客先随着翻译进度和修改公布内容。 希望能帮助大家。 ——喜乐君Michael Wu Data Visualization Analysis: Principles and Practice of Tableau Michael Wu This book presents principles and practice of Tableau Prep Builder and Tableau Desktop systematically. With visualization analysis and Tableau computing emphasized, it introduces in detail how to understand the levels of data, how to collect and prepare data with TableauContinue reading “[Chapter-1]”Data Visualization Analysis: Principles and Practice of Tableau””

【嵌入式】使用Tableau与salesforce权限控制的方法与注意

在给客户提供Tableau方面的技术支持,第一次正式的使用了salesforce环境,梦寐以求,虽未拥有。这里记录几个注意事项。 1、连接salesforce数据源 第一次连接sf的数据源时,如果是组织机构,注意要使用下面的“use custom Domain”方式登入,输入自己组织的名称,之后再输入用户名和密码。否则无法登录自己的sf环境。 登录授权 注意上述的过程要在一定的时间内一次完成,否则会报错重新验证。 在发布工作簿到视图中,也会有上述的验证过程,注意中途会打开一个浏览器页面,无需关闭,可以事后关闭,如下: 2、用户管理SSO 一般而言,由于sf是用户许可证方式,因此Tableau通常是和sf的账号同步,可以使用sf作为服务提供者,并托管用户。这就需要使用SAML等方式完成SSO单点登录授权认证。 典型的匹配方式如下: 点击上面的“编辑连接”,可以查看具体的配置过程,沿着官方说明,通常新手也可以直接完成。 在官方的说明中,详细说明了这个配置过程,可以阅读: 在sf和tb中分别启用saml,通过saml在tb中同步添加sf的用户,具体方案参见官方说明 https://help.tableau.com/current/online/zh-cn/saml_config_salesforce.htm (英文版https://help.tableau.com/current/online/en-us/saml_config_salesforce.htm) 3、嵌入和权限控制测试的注意 为了提高sf和Tableau的匹配灵活性,官方使用了专门设计的组件配置基于SAML的嵌入式设计,即Tabbleau Viz Lightning Web。可以通过官方说明学习,如下: 使用 Tabbleau Viz Lightning Web 组件配置 SAML,这个可以是online免于二次验证,直接使用sf的账号登陆。 https://help.tableau.com/current/online/zh-cn/saml_config_salesforce.htm (英文版本https://help.tableau.com/current/online/en-us/saml_config_salesforce.htm) 测试过程中有一个问题,严格按照上述方式完成后,切换sf账号后,发现嵌入的Tableau online的账号(虽然是同步自sf的SAML)没有变化!个人推测,与Tableau online的session有关,测试中的切换过程,没有引起online账号变化。 解决方案: 在Chrome浏览器的设置中,设置“退出chrome时清楚cookie及网站数据”。这样每次切换账号时,关闭浏览器,重新打开就好了。这次是模仿生产的测试场景——毕竟生产环境中,我们不希望一个人随时能切换到其他人账号,实际上没有密码也无法进入。 这样,我就在sf中嵌入了Tableau online的页面,同时基于sf账号做了权限控制。 4、权限控制 这里,使用sf的多个账号测试数据,为按照以下规则,对group 字段做了匹配,通过“服务器”——“用户筛选器”创建。 之后发布,按照本文第一部分的说明发布,再按照第二部分设置用户和嵌入。按照第三步设置session,切换账号浏览。就可以看到如下的效果,这里为了增强分辨力,在标题中增加了 @用户名: 后期在关于sf的项目中,如学习了进一步的内容,会同步。 推荐一篇特别详细的英文博客: Configure Single Sign-on (SSO) from Salesforce to Tableau Online Dec 21, 2020

【时序分析】客户生命周期区间的分析(未完待续)

在上次客户复购率矩阵的基础上,在往前一步走,就可以变成流失率分析。对于某个月份的100名获客样本而言,复购率60%就意味着有40%的群体短暂流失或者沉睡了,当然,这个流失/沉睡是相对于单月而言,也可能间隔两个月再次消费。这就是为什么老客户在前期复购率低,而在后期复购率反而提高——有效的会员政策和营销策略的目的,即在于激活会员的有效复购,让沉睡的会员苏醒重新加入活跃群体。 来自客户的几个问题,如下: 1、how many customers have bought less 3 months, 3~6 Ms, 6~9 Ms, 9~12Ms, and more than 12 Ms in the past year? (典型的分布分析,分布区间为客户生命周期Longitude区间) 2、 top 30% performance customers and bottom 30% performance customers, 3、scatter plot to analyze customers performance by region , department or province 1、先看第一个问题,不同客户生命周期区间的分布。 视图中是对客户的技术,而生命周期来自客户层次的计算,因此这里使用fixed lod在客户层次计算每个客户的生命周期,生命周期又依赖于每个客户的首次订单日期和最后一次订单日期。 L生命周期 = { fixed 客户名称:Continue reading “【时序分析】客户生命周期区间的分析(未完待续)”

【时序+表计算】高级案例:顾客复购率矩阵分析

今天在客户哪里做了一个销售人员的转化率分析,充分地使用了高级计算的多个函数,非常具有代表性。这里使用超市数据作为模版,迫不及待地与大家分享,并计划加入到明年的新书中。 由于超市的数据没有销售人员数据,因此这里使用“客户名称”,完成客户的复购率分析。完成的问题描述如下: 各个季度的新客户,在接下来第1、第2、第3……第N季度的复购率分别是多少? ——喜乐君 源文件可以从public下载: 复购率矩阵public 1、问题分析 按照此前问题解析的方法,这个问题是典型的高级分析——同时包含了两个层次。何为高级分析,在问题的筛选器、问题层次和聚合度量中,只有有一个位置包含了另一个层次的聚合。高级的高级分析甚至会同时在多个位置引用其他层次的聚合,比如“购物篮分析”。 主视图问题的维度是“各个季度”,聚合度量是“复购率”;聚合度量依赖于另一个层次的聚合,即每个季度有消费的客户数量除以对应「获客季度」新增的所有客户。我们把每个客户的「获客季度」称之为他所在的矩阵。这有点类似于LOD15案例中的第一题“不同客户矩阵的销售”。 本文创建了一个计算字段:first od ,用来计算每个客户的首次订单日期。在视图中这个日期以连续的季度为层次聚合,统称之为“获客季度”。 1.1 单一层次:每个季度的客户数量 在《数据可视化分析:Tableau原理与实践》第十章中,我介绍了“高级分析”的四个步骤,其中入门之基础,就是先做主视图。先不考虑接下来的矩阵,就是如下的图形。 1.2 在主视图基础上,增加客户所在的矩阵 视图的维度是“季度”,我们要引用“每个客户的首次订单所在的季度”(层次是 客户,聚合是min订单日期),很明显二者是独立的层次,因此使用fixed lod计算。之后把这个字段加入视图中,作为颜色,这样就是“客户不同获客季度矩阵,在接下来各个订单日期季度消费的客户数量”。 这样,我们可以说包含了问题分析需要的两个维度(订单日期季度和客户首次订单日期),以及需要的聚合度量(客户数量)。接下来的关键是调整视图并完成计算了。 2、构建基本的矩阵 上面的颜色字段改为连续季度后,明显线条会很多(如下图)。而且由于日期默认连续,颜色也是渐变的。 数据太多,折线反而显得混乱,我们可以尝试使用数字构建的矩阵代替。构建矩阵需要把日期改为离散,可以使用智能推荐调整。于是就有了下面的矩阵分布。 这样,我们就有了数据的雏形了,不过复购率还为时尚早。这里有两个问题: a、矩阵中仅有每个订单日期季度的消费客户数量,却没有每个“获客季度”(first od)的客户数量总和。缺少这个数据,就无法计算比率; b、矩阵中的数据,仅仅在每一行上有意义,不同获客季度的客户数量不同,因此相互之间的比较就没有意义,因此需要借助每个获客季度的客户数量总和,计算每个消费日期季度的复购比率(相当于获客季度的确定性样本)。 c、每个获客季度的时间不同,接下来的消费日期季度显然也不同。如何比较2017Q3的获客客户 和 2018年Q2的获客客户,分别在接下来了四个季度的复购率,才是关键。此后横轴的绝对日期轴就需要调整。 这个转变有点难度,我们一点点来。 3、增加更高层次的聚合——每个获客季度的客户数量 上面a的问题,就是要找到每个获客季度的客户数量,这个数据,是可以由不同消费日期季度的客户数量,通过不重复的计数计算获得的。获客季度的客户数量,层次高于当前视图。可以用下图的仪表板来表示。我们需要在左侧的工作表中,增加右侧的聚合“每个获客季度的客户数量”。 高于当前视图的二次聚合,优先表计算。这里相当于以每个获客季度为分区,以订单日期季度为方向,计算客户计数的二次求和,可以用window_sum函数计算,更简单的语法是直接使用total函数。即: total( countd([客户名称])) 不过,直接在视图中添加这个计算后,由于度量默认聚合,聚合生成坐标轴,因此矩阵中增加了坐标轴。此时需要字段上右键改为“离散”,此时依然不对,因为计算的分区错误。还需要配合设置计算依据为:订单日期季度。 表计算的关键就是:谁和谁计算,对应的字段是方向。 这样,视图中就有了统一的比较依据。 当然,上面的计算,也可以直接通过“分析——合计”拖拽完成,然后把合计放在左侧,而非默认右侧。这里之所以手动完成,是因为后面计算复购率依然要用。而且,所有的参考线,不过都是表计算的化身而已。 这里增加一个简单的步骤,计算复购率,就是每个矩阵中的客户计数,除以对应获客季度的客户计数,即: countd([客户名称]) / total( countd([客户名称])) 注意,这里的计算依据依然要设置。可以用这个字段替换此前的标签,视图就有了如下的变化。 至此,复购率的计算就完成了。由于这里使用的是每个客户名称的首次订单日期,因此第一个季度自然都是100%。在业务环境中,销售人员的成交通常晚于入职日期,因此首月的转化可以视为客户消费能力和培训效果的指标。 这里最后面临一个问题,虽然可以直观的查看每个获客季度在此后各个季度的复购率,但是无法直观地纵向比较。这就涉及到如何把绝对的日期轴,通过处理更改为相对的日期轴。 4、通过表计算更改坐标轴——公公基准的日期 这个步骤对应TC10的第二个案例,非常经典了。 如何将绝对日期改为相对日期?即相对于每个获客季度的第1、第2、第3……呢?只是日期的次序转化,首先考虑使用Tableau表计算的index函数。 直接在订单日期后输入index(),数值默认生成连续的坐标轴,这里还需要改为离散,如下图。 这里的index是基于所有日期的基准,我们希望仅保留基准index,而不再显示订单日期本身。注意,只是不显示,不能移除,因为订单日期字段是index字段的依据。可以把它拖到左侧标记的“详细信息”中。 此时进入了最重要的一步——如何设置表计算的依据。默认的index只有1,因为它默认采用的相对分区方法(表、区、单元格)无法识别标记中的字段。这里,每个获客日期为独立的分区,index的依据是订单日期——第一个月就是绝对日期的相对坐标而已。因此设置index表计算的计算依据为:订单日期。如下:Continue reading “【时序+表计算】高级案例:顾客复购率矩阵分析”

【修订】Tableau 2020最最最重要的功能:从数据连接、数据混合走向数据关系

编者按:Tableau在2020年最重要的产品功能之荣耀,在我看来只能属于“数据关系”。可惜的是,大部分用户还停留在关系和混合的漩涡之中,上个月某客户30多个表的Join让我看后大为惊骇,实在不忍心如此美好的产品被用成这般模样。在新修订的《数据可视化分析:Tableau原理与实践》书中,笔者进一步阐述了从union、join到relationship的过程,并以家庭关系作喻,帮助大家形象理解。 ——Tableau 帮助人们看到并理解数据—— ——引自第四章 数据合并与数据模型(10月印刷版) 4.3 集大成者:从数据连接、数据混合走向数据关系Tableau 2020.2版本推出的数据关系,是全新的功能,而非简单的升级。为了完整地理解它的设计原理,从而真正掌握它的用法,本书还需要进一步对比数据连接与混合的深层次差异,并从“取长补短”的角度引出“数据关系”。 4.3.1 并集、连接与混合的关系与优劣 1.并集、连接与混合的关系图 在学习Tableau一年多的时间里,笔者一直未能洞察这几种合并方法的本质区别,直到有一天凌晨醒来勾勒了它们的关系图,如图4-32所示。 图4‑32 数据并集、连接和混合的先后关系对应图4-32,总结为几句话: 数据并集优先于数据连接,二者都是在数据源阶段完成的。 —连接是行级别的:并集和连接都是在行级别的匹配,但不包含任何聚合过程。 —混合是聚合级别的:数据混合是在构建完主视图之后的,视图即聚合,混合是先聚合再匹配。 —阶段:并集与连接是数据准备,数据混合是基于已有视图的增强分析。 —结果:数据准备阶段的并集与连接生成的是稳定不变的、静态的数据表(物理表),而数据混合生成的是随主视图变化和匹配字段调整而变化的、临时查询的数据表(逻辑表)。 2.并集、连接与混合的原理性对比 基于上述关系,在4.2.2节总结的基础上,再进一步理解它们的区别与联系,就轻松自得了。从几个角度展开:数据表的行级别特征、性能影响与是否具有重复可用性。角度一,多个数据表的数据结构(第2章所讲的表的层次)。 —结构完全相同:字段及描述的业务完全相同的数据用并集(Union)合并,常见于本地文件; —表层次一致:有共同字段、详细级别相同的数据表可以连接(Join)合并; —表层次不一致:数据量特别大、不同详细级别的数据,推荐使用数据混合。 角度二,性能影响。 —由于连接(Join)的表比较多,或者数据量比较大,或者多个表的层次不一致,都会导致行级别匹配查询时缓慢,增加数据库处理负担;而且不管分析时是否使用其中的部分字段,连接都会提前匹配在一起——生成一个所谓的“大宽表”等待分析。 —由于混合是在视图层次,即某个层次的聚合基础上,再相对应地匹配另一个数据源聚合查询,两次聚合查询(相当于SQL中的Group By语句查询)是独立查询,之后匹配,相比连接的行级别匹配,性能有了本质的提升,因此对服务器的性能影响最小。 角度三,视图是否具有重复可用性。—由于并集与连接是在数据准备阶段,先于视图创建的,是在行级别匹配生成的稳定不变的数据源,因此它们的结果是可以持续使用的数据源——基于这个数据源可以构建无数工作表、仪表板和故事。—由于混合是在可视化阶段的,后于视图创建的查询,是基于主视图的层次而向辅助数据源发起聚合查询,它必须依赖于视图和数据源的关系。其优势在于性能好,而由于这种查询的临时性,聚合查询的结果是不能保存的,无法反复使用的。 3.数据关系:鱼和熊掌皆得 古人言“鱼与熊掌不可兼得”,那是无可奈何,如今,技术进步创造各种不可能。有没有一种创造性的方法,避免连接(join)在处理不同表层次时的数据冗余,但要像连接确保匹配的稳定性;避免混合(Blend)的反复构建,但要保留混合的聚合性能呢?“鱼”要有,“熊掌”也不能少!这就是Tableau 2020.2版本的“数据关系”。通过数据关系建立数据模型(Data Model),不仅具有数据混合的灵活性,而且具有数据连接的稳定性。不仅支持行级别的一对一连接匹配,也支持基于行级别一对多的匹配自动聚合到同一个层次再连接。几乎是身兼连接的稳定、混合的灵活和Prep Builder的层次聚合众多优点于一身。 4.3.2 从物理表/层到逻辑表/层:数据关系的背景与特殊性 数据关系是如何以一种全新的框架,解决了连接和混合的不足,同时又集成了二者的优点,并与并集、连接融为一体的呢?回答这个问题需要先理解一个背景知识:Tableau定义了两个层次——物理层(Physical Layer)和逻辑层(Logical Layer)来理解数据匹配的两种方式。关键就在于何为物理,何为逻辑? 1.物理与逻辑的分界 何为物理,何为逻辑?先从大家熟悉的“人”与“公司”背后的设计说起。我们每一位自然人都是真实存在的、具有自由意志的生物,社会学称之为“自然人”,此为“物理”(Physical),即“固定的、不变的”;而自然人所开设的公司只是法律意义上的实体,法律称之为“法人”——法律意义上的拟人化,“法人”没有独立意志,要依赖于董事长、总经理等岗位来确保运转,甚至需要一个人来代表它,即“法定代表人”,这种存在依赖于法律、章程等人造的环境,此为“逻辑”(Logical),即本身不存在但人类赋予它逻辑上的存在意义。“逻辑”的存在既然是人为的,因此就是灵活的、多变的、不稳定的。“法人”可以按照法律设立,也可以按照法律撤销;所以每天有很多公司成立,亦有很多公司注销甚至破产。有人说“有限责任公司是人类在商业历史上最伟大的发明”[1],“有限责任公司”的出现降低了人才的创业风险,自然人仅以“有限责任”对逻辑以上存在的“公司”负责,即鼓励人才设立公司发展技术,又降低了公司失败带来的风险。可以说,在任何一个领域,理解了背后的逻辑,就更容易触碰这个领域的灵魂,“逻辑”意义上的认知是推动文明进步的重要力量,对于数据分析而言亦是如此。本书为传播Tableau技术为宗旨,方法就是探究和分享背后的逻辑意义上的设计和原理。如图4-33所示,借用类似的视角分析数据。以计算机的真实存储与可见性为基本判断,每个Excel工作表、文本文件、数据库中的每个数据表(table或称view)都是真实存在的,特别是数据库底表一旦创建几乎不会改变,此为“物理表”;而各种因视图需要临时创建的多表查询,甚至随着视图互动随时变化的查询,都是“逻辑表”。IT经常为满足分析需求而创建各种多表的SQL查询,结果就是一个逻辑表,有时候,一个逻辑表会反复使用,因此会保存下来,称之为“存储过程”(Stored Procedure),它介于物理表与逻辑表之间,但由于存储过程依然可以随着需要灵活调整,因此它本质上依然是逻辑表。 图4-33 物理与逻辑之示例 用这样的方式,就可以更好地理解之前的话:并集与连接的数据结果是物理表(Physical Table),而数据混合的结果是逻辑表。数据关系把之前分布在两个阶段的两种关系,在数据源阶段合二为一。 2.数据关系的物理层、逻辑层双层结构 数据关系如何把物理表和逻辑表合二为一呢?如图4-34所示,关系的对象可以是单一的数据表,也可以是基于并集和连接的多表合并,物理表间的关系构成逻辑层的数据匹配。 图4-34 数据关系是物理层与逻辑层的双层结构 物理层的数据关系称之为“物理关系”,逻辑层的数据关系称之为“逻辑关系”。不过,由于是在数据源阶段完成的,相对于混合的按需匹配的过度灵活,数据关系中的逻辑关系是相对稳定的,又无需像连接预先行级别合并,同时保证了性能。如果不好理解,再打个比方,说说情侣与夫妻。情侣关系是灵活的、不稳定的关系,因情生爱、乐极生悲,谁都不知道能否成为夫妻,这种关系有点像数据混合。喜结连理,成为夫妻,就变成了相对稳定的关系,这种关系通过法律予以认可,但依然是逻辑意义上的关系;柴米油盐、日久生怨,谁都不知道能否彼此终老。但是即便夫妻这种法律上的逻辑关系破裂,也不会打破基于血缘的“物理关系”,如图4-35所示。 图4-35 包含逻辑关系和物理关系的家庭关系模型 物理表永远都是物理表,物理关系永远都是物理关系。基于血缘关系,父子、父女、母子、母女关系自出生开始直系血亲不可更改,此为“物理关系”(Physical);而基于法律上的公证,养父与养子养女关系、夫妻关系,既可以基于法律建立,也可以基于法律原则而撤销,这样的关系是形式上的、法律上的关系,此为“逻辑”——我们遵守法律,实质上是认可法律背后的逻辑推理。可以把家庭视为是逻辑与物理的双层结构,Tableau的数据关系亦如此。数据关系中的逻辑关系,如同稳定家庭的夫妻关系,因为法律上的认可相对而言是长期稳定的;而混合建立的逻辑关系,如同情侣关系,基于单一视图而建立,灵活性非常差。用这样的思考理解数据关系的双层结构,就容易理解了。 3.并集、连接、关系和混合的宏观模型Continue reading “【修订】Tableau 2020最最最重要的功能:从数据连接、数据混合走向数据关系”

成长手记81:蔡志忠经验的启示与前进轨迹

最近漫画大师蔡志忠老师在少林寺出家,由于采访而被很多不明就里的人误解。我无意中看到了2016年他在“一席”的讲座内容,大为惊骇。 演讲的题目叫“我”或者“努力是没有用的” ,可以点击名字查看腾讯视频的视频。可以引用几句话: “我伟大不是因为我的脸蛋,而是因为我的屁股”——屁股决定伟大。 我曾经坐在椅子上58个钟头没有离开,为了做一支4分钟的电视片头;我曾经四十二天没有打开门,关在屋子里面做一件事;我曾经花了四年时间到日本,画了40本诸子百家和四格漫画——《三国志》、《封神榜》;我曾经花10年又40天研究物理、数学…… 当一个人找到了自己的最爱,其他都不在乎了。 做一件事情最开始就要想通最后的Ending。 我觉得努力是没有用的。否则,那么多努力的人都走上人生巅峰了。 人生不是走斜坡,持续走就能走到巅峰;人生就像走阶梯,每一阶又每一阶的难点,你没有克服难点,再怎么努力都是原地跳。但当你克服难点,跳上去了就不会下来。 人生其实很简单,只要你找寻自己最拿手最喜欢的事物,把它做到极致。无论做什么,没有不成功的。 当你发现了自己真正喜欢的事物,便能身心合一,排除一切干扰去完成它。像怀胎九个月的妈妈,迫切的想把自己的宝宝生下来,舍不得睡觉,一醒来就赶快去完成事物。 如果这样,你就会发现人生的最大秘密——原来完成事物不是工作,而是人生最大的享受。 ——2016年8月漫画家蔡志忠在 [一席] 上海场的演讲。 1、关于努力与思考 蔡老师关于“努力没有用”的解释,让我非常受用。虽然多年来的磕磕碰碰也意识到“努力没有用,而且领导会让你每个人一直努力的付出”,不过一直没有想到清晰的解读。蔡老师说如果努力有用,每个人都会走到巅峰,显然这不是现实;大部分所谓的努力都是“原地跳高”,终其一生虽有进步,但倘若用“上帝视角”去看,不过是“原地踏步”而已。 只有思考的努力才能步步高升,从一生的角度看,一生需要多个“伟大的台阶”构成,其他都是台阶之后的坎坷之路。每一个台阶,都是人生中的“moment of time”,吴伯凡老师的脱口秀中称之为“关键时刻”。 回想我之前的路,早年的坎坷不比如今的少,但是当年幼稚如我缺少深入的反思——而自以为是的执着和缺乏完整意义的爱情是关键的阻碍。直到我在职场上栽了很多的出跟头,在和别人合作中遭受了不少的“欺骗”(不管是好兄弟还是好领导“,在感情的路上最终折戟沉沙,在学习的路上(包括了佛学、心理学和经济学等各种学习带给我的全新视野),我才慢慢放下了那个曾经的自我。 一旦放下了那个自以为是的自我,曾经的“南墙”就都成为了快速成长的助力,一切才是全新的开篇。 以至于我的家人,都对我的改变深感忧虑,我母亲以为我被坏人带坏了,我父亲也放弃了我对我“谆谆教诲”。 此时的努力,才有了回报,是真正能促进进一步努力的那种回报,人生渐进地进入了正循环。此前的努力,只是“出力“而已。 2、我接下来的路 一旦走向了正确的路,就只需要开心地奔跑就好了,就像我今年的状态一样。 昨天在深圳和朋友吃饭,我们在生活和工作中遇到了很多类似的问题,虽然对方比我年长一旬有余。我反复说“目前是我最好的状态,我太热我目前的自己,并且会不顾一切地坚持前进;并且,我不会把我的开心建立在别人开心的基础上”。 不过,努力还是需要方法,旧方法去不了新地方;其他人也会追上来,我必须保持节奏,超越自己。 年中旬出版的书,目前一切顺利,都在我计划之中,我将借此逐步影响那些最重要的深度客户;帮助Tableau更好的推广和服务客户。接下来,我想先保持四个月的时间不做更新,然后借助2021年新年的机会,投入到一个全新的系列中。这个系列将进一步弥补此前图书“过于高级”和“不适合入门用户”的问题,我需要两到三个月的时间,每天12个小时的投入即可完成。 在我精力有限的时候,我要尽可能避免多头出击、避免创造敌人,或者说克制欲望和贪婪。所以在ALL IN Tableau的基础上,我还需要附带其他的策略,比如专注B端、精简客户、以服务优势取胜,并最终赢在长期主义的路上。 3、享受专注,然后准备未来 也许,我是一个善于放弃的人,才有了峰回路转。在专注当下的同时,我也在准备三年甚至五年之后的道路;同时借鉴之前的教训,永远不要偏执地相信眼前的路会成功,乐观主义和现实的警觉应该保持平衡,所以要有浮出水面的Plan,还要有潜伏在冰山之下的Plan D。 就像我多年前听《数据化管理》黄成明老师的课,当时没有聊到我会走向和他类似的道路,同时会觉得伴随他的Excel已经属于过去,只是他已经没有了我这样的动力学习一门全新技术;五年之后,也会有另外的人如此般看我,以及我所引以为豪的Tableau。 要么到时候被迫地接受现实,要么主动的更上一层楼——甚至一栋全新的楼。 Dec 2, 2020 北京