前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >帆软“盗版知识”,似乎有我的“功劳”

帆软“盗版知识”,似乎有我的“功劳”

作者头像
Tableau喜乐君
发布2024-11-25 16:58:30
发布2024-11-25 16:58:30
10400
代码可运行
举报
文章被收录于专栏:Tableau喜乐君
运行总次数:0
代码可运行

周末出差,给中国地质大学(武汉)MBA 上课,返程路上读书学习了DAX关键概念,如Filter Context、Measure、Calculated Columns、Lienage 等,知识体系虽然生涩,依然惊叹于背后的严谨、周密。

就在前几天,我在某群中看到有人散播《数据可视化分析(第一版)》PDF影印版,没想到第二版出版已经半年,还有很多人在传阅第一版。关键是,受限于当时我的认知水平,第一版本中有不少理论上的瑕疵,乃至错误。‍‍‍‍‍‍‍‍‍‍‍‍

鉴于 Tableau 的影响力和此书流传之广,我突然想,我早年的“错误理解”很可能已经影响到某些软件公司内部!我根据“文心一言”的指引,简单看了几篇帆软BI 的官方文档,果然应验了!

认真查看这些文档,会发现内容有浓重的“喜乐君影子”,既参考了书中高度概括的部分,也照搬了“我的认知盲区”。

为了帮助某些人认识到这个问题,也避免更多人受“盗版知识”毒害,本文特此摘要几个关键说明。

- 什么是维度、度量?

- 什么是聚合?

高铁上仓促写就,如有不周之处,请各位看官留言批评。‍‍‍‍‍‍‍

01‍—从“FineBI 词汇表”看“盗版知识”

先看帆软的官方文档“FineBI词汇表”(见文末参考链接1),罗列了过滤(filter)、字段(field)、维度(dimension)和指标(measure)等概念。虽然定义极其粗糙,还算基本正确,如下所示:

Tableau 和 PowerBI用户可以用“度量”“度量值”(measure)理解帆软BI的“指标”。当然,我个人排斥在 BI 中使用“指标”一词;“指标”是业务定义,对应 Metrics;它的范围小于分析定义的“度量”(measures)。如果加上“KPI”(关键绩效指标),它们的关系如下:

‍‍‍‍‍‍‍

KPIs < Metrics < Measures

点击“FineBI词汇表”一文中的维度或指标,就会进入另一个页面“认识数据表”(文末参考链接2),你就会发现写文档的人基本就是BI 界的“半吊子”、文案界的“盗墓者”。‍‍‍‍‍‍‍‍‍‍‍

先看哪些知识很明显地“借鉴”了我的内容,就像功能“借鉴”Tableau 一样。‍‍‍‍‍‍‍‍‍

1)数据表的理解‍‍‍‍‍‍‍‍‍‍

这里有一段写的很好,“从业务角度看数据表的构成,数据表就是业务过程、业务对象的交织,其中行对应业务过程,字段对应业务对象”。读到这里,一种“似曾相识”感扑面而来😄‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍

(图片截取自帆软官网,参见文末参考1)

虽然“业务对象、业务过程”不是我的“首创”(来自于《华为数据之道》,我在讲解中多次提及);但是,将它们和“关系型数据表”建立结构上的明确关系,并特别强调中文的“记录”和数据表“record”之间的对应,恐怕不会是其他人的杰作。

看下面我的讲义图片,是不是感觉就是“一个师父”。

2)问题结构

如果说我对分析有点贡献的话,我自以为是“问题结构”的理解。这是我迄今在任何一本书中都找不到的内容,因为它和维度、度量息息相关,而传统的 Excel、Report 甚至于大部分 BI 都没有这样的定义。这是建立在严谨的筛选、维度、度量三要素基础上的。‍‍‍‍‍‍‍‍‍‍

帆软也“模仿了”这方面的内容,不过模仿过程中出现了偏差。如下图所示,它把“筛选”误以为维度分类,并在高级问题面前失去了诠释能力。‍

(图片截取自帆软官网,参见文末参考2)

为什么会暴露如此明显的“盗版”风格呢?‍‍‍‍‍

因为概念和原理理解不够透彻!‍‍‍‍‍‍‍‍

在第一版本图书中,我特别强调“分析范围、分析视角和问题答案”的三分类(如下图问题颜色,橙色、蓝色、绿色),从而和 Tableau “筛选、维度、度量”建立关联;而在后来的 B 站视频中,为了兼容 PowerBI 的理解,我又增加了“聚合的条件、聚合”的二分类(如下图左右阴影,灰色和浅蓝),对应 PowerBI 中的“筛选上下文+度量值”。‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍

帆软在学习这些内容时,可能是错误地以为“年度=2024”的筛选条件都属于维度分类(ps.我在早期也有这种认知错误,所以第一版未能明彻,多有”语焉不详“之处);或者可能是想学习 PowerBI 更加简洁的二分类(ps.但简洁的背后其实是更复杂的逻辑,只有从单元格角度,filter 才能和 dimension 具有等价性质)。‍‍‍‍‍‍‍‍‍‍‍‍‍‍

于是,“盗版知识”出现,贻笑大方而来。

这种认知错误根本的来源是维度、度量的概念认识偏差。

‍‍‍‍‍‍‍

02‍‍—“盗版知识”重灾区:维度和度量

“认识数据表”一文结尾点击维度和指标的转换,在维度和度量的错误理解就彻底暴露出来。‍‍‍‍‍‍‍‍

我先直击要害:“维度转化为指标” 和(字段) “转化为指标”是完全不同的两种表述,前一种是错误的!!

(图片截取自帆软官网,参见文末参考3)‍‍‍‍‍‍‍

我相信很多人看到这里是懵的,特别是深受帆软文档毒害的学生、分析师!“维度转换为度量”和(字段)“转换为度量”竟然不是一件事情???

幸好,FineBI 程序上严格模仿了 Tableau(如下图所示,左侧帆软、右侧 Tableau),如果程序中也说“维度转换为度量”,那我真想把产品经理拉出来痛骂三天。

至于为什么?

答案其实就在前面“数据表结构”和“维度和指标的概念”之中。错误根源在于误以为 “日期和文本类型的字段”就是“维度字段”。

只能说,帆软官方写文档的人能力层次不齐,有的人理解透彻一点,有点人理解肤浅一些;可能是“实习生”,或者大学成绩不过关。聪明的人知道直接“照搬”喜乐君的介绍,必要时做点魔改;愚钝的人以为概念有个屁用、FineBI 程序牛逼第一,照着程序写就好了。‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍

当然,这里就不批评“度量转换为维度”之后,还需要“分组”的垃圾设计了。 ‍‍

03‍—聚合的“浅说”‍‍‍‍‍‍

维度和度量理解错误,“聚合”就不可能幸存。

在帆软官方“聚合的概念”一文(文末参考链接4),模仿我第二版的结构从 Excel 透视表、SQL语句,讲到 FineBI,并且尝试介绍两个关键:‍‍

- 聚合计算和明细计算的区别

- 直接聚合及聚合的延伸计算‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍

看过我的第一版和第二版图书的读者,一定对帆软的介绍有“似曾相识”之感。可惜帆软文档“写手们”只领会了皮毛,未能“登堂入室”,所以文章更像是观点的罗列,没有灵魂、不得要领。‍‍‍‍‍‍‍‍‍‍‍

首先,理解指标(度量)的关键恰恰是这里的聚合(aggregation)。聚合是分析的本质,既然要学(mo)习(fang),这句话千万不能遗忘。‍‍‍‍‍‍‍‍‍‍‍‍‍

其次,聚合依赖于问题,依赖于问题的详细级别(帆软称之为粒度)。“聚合的概念”中只字不提,后面的“数据的粒度”也完全不明就里。‍‍‍‍‍‍

再者,既然聚合是一个过程,两类计算就对应两个最重要的粒度。所以比较聚合计算和行级别计算(帆软:明细级别)就至关重要。

非常惋惜的是,帆软官网文章举了一个非常不恰当的例子,揭露了“写手们”的“盗版知识”之浅薄。‍‍‍‍‍‍‍‍‍‍

如下图所示,姑且不说左侧的明细示例其实非常不准确(明细数据不会有销售额字段,只有中间表才会出现),单说右侧的两个分支:“明细计算”和“聚合计算”的差异体现在计算逻辑上,也要在业务上有意义。‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍

(来自帆软官网,见参考4)‍‍‍‍‍

两类计算的正确解释,必须体现出是否包含聚合,这是要害!

代码语言:javascript
代码运行次数:0
复制
//明细计算
(销售额)/ (销售数量) 
//聚合计算
sum_agg(销售额) / sum_agg(销售数量) 

当然,即便如此,这里的案例依然有瑕疵。“明细计算”其实是在原来明细表中新增一列(类似于 PowerBI 的“计算列”),而非像聚合计算在新的逻辑表中完成,所以上面的图示更像是误导。‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍

同时,“销售额”本来就不应该出现在明细表中,这个案例最好的方式是用“明细表中的单价和数量”计算“销售额”。就像 PowerBI 中的案例:‍‍‍‍‍‍‍‍‍‍

代码语言:javascript
代码运行次数:0
复制
    MEASURE Sales[Sales Amount] =
        SUMX ( Sales, Sales[Quantity] * Sales[Net Price] )

文章后面“直接聚合和聚合的计算”的蹩脚描述,这里略过不提了。‍‍‍

至此,读者应该可以感受到,一个本来就不够精益的软件,如果搭配漏洞百出的“官方帮助”,简直就是行业的“敌人”了。你可以从官方文档后面的用户留言一窥真相,这里可比知乎上“帆软天下第一”的爽文真实多了。

04‍‍‍—喜乐君,你造谣!

和之前的两篇文章一样,都骂到帆软脑门上了,我相信很多人还会嘴硬。

“喜乐君,你造谣!”

“你对帆软根本不懂!”‍‍‍‍‍‍‍‍‍‍‍

如果有人想和我技术对峙,我也好不逃避。其实我随意看几篇,还能找到很多“蹩脚参考”的例子。比如:

- 使用了“直接聚合“的概念,但是却没有与之对应的“预先聚合”“二次聚合”等概念,这样“直接聚合及其聚合计算”就显得很“盗版”‍‍‍‍‍‍‍‍‍‍

- 在指标分类中,“规模”和“比率”是相对而存在的,但其实不适合用来介绍函数分类,因为“规模”这个是业务视角。帆软官方帮助中竟然把函数分为规模类、以个体描述总体、离散程度(参见文末参考链接4)。还把Max视为“以个体描述总体”,而把 Percentile 视为“离散程度”,这就非常可笑——殊不知前者是后者的特殊形式而已。‍‍‍‍‍‍‍‍‍‍‍‍‍‍

当然,优秀的地方有我的“功劳”,错误的地方也是。

我在《数据可视化分析》(第一版)中,由于自己的认知错误出现了一些错误描述,特别是维度、度量和字段类型的描述多有瑕疵,如下图所示:

在《业务可视化分析》第二次印刷(大约2022年年初)时,我发现了这个问题,并在加印时集中修改。

后来为了彻底解决早年理解上的瑕疵,确保整个体系的严谨,我在2022年完全重写了《数据可视化分析》一书并在2023年9月发布,就有了如下的更加清晰的说明图:‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍

假设帆软的写手们认真思考、认真阅读,就能发现“我的成长”和过错,并能更好的应用到自己的软件文档中。‍‍‍‍‍‍‍‍‍

很明显,帆软的官方文档是一群“乌合之众”一样的写手们分工协作的“蹩脚的参考”。一个本来就不够精益的软件,配上漏洞百出、恬不知耻的“官方帮助”,如果我说帆软是中国数据分析行业的“公敌”,恐怕并非言过其实吧

参考:‍‍

1-FineBI词汇表

https://help.fanruan.com/finebi/doc-view-829.html

2-认识数据表

https://help.fanruan.com/finebi/doc-view-2347.html#

3-维度转换为指标

https://help.fanruan.com/finebi/doc-view-109.html

4-函数分类

https://help.fanruan.com/finebi/doc-view-4.html

@喜乐君 咨询顾问|上海唯知唯识创始人‍‍‍‍‍‍‍‍‍‍

业务分析师、数据咨询顾问

Tableau Visionary 2021~2024

《数据可视化分析:Tableau原理与实践》2020.8

《业务可视化分析:从问题到图形的Tableau方法》2021.7

《数据可视化分析:分析原理与Tableau、SQL实践》2023.9‍‍‍

………… MORE ………

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-07-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Tableau喜乐君 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档