跳至正文

【致知篇33】透过计算看筛选

近期开始重新梳理、升级Tableau的知识体系,从而为客户提供更高质量的服务和技术支持。得益于春节期间阅读的learning SQL一书,近日尝试从更本质的视角看待业务分析中的“筛选”过程,并整理笔记如下。本文虽短,内容却非常关键,后期有缘展开补充。
1

筛选看似简单,但又是异常复杂的体系。它的功能看似独立,实则是逻辑计算的化身;分类众多、次序敏感,因此不合理的使用特别容易导致性能问题,甚至样本错误。

近期尝试从另一个角度解释筛选及其相关功能:set集、计算。


2
首先,筛选必然包括两个部分:筛选对象、筛选条件,二者相互依赖,缺一不可。只是在一些情形下,表述有所省略,比如“2022年,不同类别的销售额”默认是针对订单或交易的筛选,而“销售额前10的产品销售额”筛选针对“产品”。

不管使用什么工具,建议先把问题用标准的“三段式结构”来表述,并进一步展开它们的构成要素,有助于理解问题。


3

其次,所有筛选都是逻辑计算,而计算必然是在特定层次上的计算;因此,所有的筛选(计算)也必然是在指定层次上的筛选(计算)。

计算的层次主要有数据表明细的行级别层次(row level)、对应视图的问题层次两大类,因此,筛选也分为行级别的计算筛选、针对问题的聚合计算筛选两大类。其他的条件筛选等高级筛选,都可以视为是二者基础上的组合和升级。

沿着这样的体系,不仅可以数据准备与计算结合在一起,也可以把筛选与计算结合在一起,而它们衔接的关键是:层次。
层次 = LOD = Level = 维度组合


能理解上面的过程,就可以“跳出筛选”理解筛选,从而在复杂的筛选体系中游刃有余。


“跳出三界外,不在五行中”,所言不虚。


@yupengwu

了解 喜乐君 的更多信息

立即订阅以继续阅读并访问完整档案。

Continue reading