千家信息网

Tableau中的伪详细级别LOD计算

发表于:2024-10-04 作者:千家信息网编辑
千家信息网最后更新 2024年10月04日,这年头假货泛滥,详细级别计算(即LOD Expressions)也不例外。我们知道,Fixed的详细级别计算是不受维度筛选器控制的,而表计算则受它控制。当我们用一个表范围的LOD计算来建一个百分比时,
千家信息网最后更新 2024年10月04日Tableau中的伪详细级别LOD计算

这年头假货泛滥,详细级别计算(即LOD Expressions)也不例外。



我们知道,Fixed的详细级别计算是不受维度筛选器控制的,而表计算则受它控制。

当我们用一个表范围的LOD计算来建一个百分比时,即使筛选器只选择维度的一个值(Accessories),它也能保持原来的百分比,而表计算的百分比则自动变为百分之百。


% by Table scopped LOD Calcs

SUM([Sales])/SUM({SUM([Sales])})

然而,有时候你会发现FixedLOD计算居然也受维度筛选器的控制,这样的Fixed LOD计算可称为伪LOD计算。比如下图,我们用一个Fixed的计算求出随着时间的变化,三个CategorySales的平均值:


b


当维度筛选器中只选择Category的两个值时,用Fixed LOD计算出的平均值居然会变!为什么会这样?说好的Fixed LOD计算不受维度筛选器控制呢?


Avg by Fixed:

AVG({ FIXED [Category],YEAR([Order Date]):SUM([Sales])})



仔细探究一下,我们发现这儿的Fixed LOD计算只是为了求出各Category随时间变化Sales的平均值而已,不用Fixed LOD 计算,我们一样可以算出平均值:


Avg by Normal Calcs:

SUM([Sales])/COUNTD([Category])



所以,这儿维度筛选器对平均值起作用就不难理解了。那么,如果我们需要无论怎样选择Category,其平均值都维持不变,该如何创建计算字段呢?很显然,我们需要一个"真正的" Year(Order Date)FixedLOD计算:


Avg by Nested LOD:

{ FIXED YEAR([Order Date]):AVG({ FIXED [Category],YEAR([Order Date]):SUM([Sales])})}

这时,当选择两个Category或三个Category时,平均值保持不变。






根据嵌入式LOD计算的黄金法则(Golden Rule),当内层是Include计算时,外层Fixed的维度可以传承到内层,所以上面的计算字段也可改成以下计算式,更为简洁。


{ FIXED YEAR([Order Date]):AVG({INCLUDE [Category]:SUM([Sales])})}


再看另外一个例子。我们建一个以州为单位的地图,再建一个FixedLOD计算:


Category Sales:

{ FIXED [Category]:SUM([Sales])}

由于大多数的州都销售了所有三个Category的产品,所以基本上Category Sales都等于销售总值2,297,201,将Category Sales的大小用颜色标记出来。


然而当我们选择在Control Filter中去掉Subcategory维度的Accessories时, 南达科他州的Category Sales会有变化:



为什么?因为南达科他州很特殊,它的Technology Category下只有Accessories一个Subcategory,当我们不选Accessories时,就少了整个Technology这个 Category,所以其Category Sales值当然会有变化。



那么为什么维度筛选器会影响Fixed LOD计算的Category Sales的值呢?因为此处Category Sales也是一个伪 LOD计算!不用Fixed,而用IncludeExclude LOD计算我们一样可以得到相同的Category Sales的值:


Alternative Category Sales

IF COUNTD([Category])=1 OR COUNTD([Category])=2

THEN SUM({ INCLUDE [Category]:SUM({ EXCLUDE [State]:SUM([Sales])})})

ELSE SUM({ EXCLUDE [State]:SUM([Sales])})

END




同样,如果我们希望Subcategory的选择不影响Category Sales的值,就必须Fix State这个维度,这种嵌入式Fixed LOD计算才真正不受维度筛选器的控制。


Category Sales Fixed State

{ FIXED [State]:SUM({ FIXED [Category]:SUM([Sales])})}



LOD详细级别计算是Tableau所有版本进化过程中最激动人心的演变。自从有了LODTableau才真正从众多竞争对手中脱颖而出。 LOD让从前不可能做到的或只有在数据源级别才能解决的复杂计算变得十分简单。掌握好LOD计算,Tableau水平将有实质性的飞越!


LOD计算是Tableau的重点和难点,需要用离散式思维才能真正理解并掌握。大多数Tableau初学者都会遇到下列问题:

1)很多商业问题不知如何用创建计算字段解决问题。

2)不知何时该用LOD计算,用何种LOD可达到目标。

3)看见别人做的LOD计算,无法理解。

4)觉得自己的Tableau水平遇到了瓶颈,无法突破。


六小时视频教程《Tableau 高手进阶 深入了解LOD详细级别计算》避开枯燥无味的定义、概念和公式,力求用通俗易懂的语言透彻讲解LOD计算的本质,并用大量实际案例加以巩固,让你建立起系统的LOD思维,在实际工作中不自觉地用LOD计算解决各类商业问题。欢迎到51CTO网站观看此课程并提出宝贵意见!


课程链接:

https://edu.51cto.com/course/20183.html?source=so


维度 筛选器 平均值 选择 级别 控制 百分 问题 变化 三个 字段 百分比 不用 两个 内层 只有 商业 实际 嵌入式 思维 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 内黄网络安全和信息化委员会 我的世界服务器装备怎么修改 软件开发利润最好的上市公司 网络安全知识竞赛app素材 计算机应用软件开发专业排名 西安市网络安全通报中心 利用网络技术的态度 成都网络安全业界共治理 大数据与网络技术专业考研 服务器端口软件 互联网科技企业怎么做预算 重庆软件开发工作室 哪些数据库可以用于查找专利 元氏网络安全 服务器安全狗手机管理端 德温特专利数据库 收费 网络安全者按照 数据库 导出 sql 买个香港服务器安装Ubuntu 数据库中删除数据用哪个命令 海南裕居网络技术公司 网络安全与支付系统第三节 java版可以进基岩版服务器吗 电脑服务器主机占用内存过大 数据库把名字变拼音 成都工控软件开发多少钱 德温特专利数据库 收费 国内程序员写的数据库超小 如何打开服务器文件 大学生科技创新课程之互联网
0