Tableau中的伪详细级别LOD计算
admin
2023-01-31 17:28:45
0

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


Tableau中的伪详细级别LOD计算


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

 

Tableau中的伪详细级别LOD计算

 

 

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


% by Table scopped LOD Calcs

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

Tableau中的伪详细级别LOD计算

 

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


bTableau中的伪详细级别LOD计算


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


Avg by Fixed:

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


Tableau中的伪详细级别LOD计算 


 

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


Avg by Normal Calcs:

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


Tableau中的伪详细级别LOD计算


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


Avg by Nested LOD:

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

 

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



Tableau中的伪详细级别LOD计算


Tableau中的伪详细级别LOD计算 


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


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

 

Tableau中的伪详细级别LOD计算

 

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


Category Sales:

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

 

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


Tableau中的伪详细级别LOD计算

 

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


Tableau中的伪详细级别LOD计算


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


Tableau中的伪详细级别LOD计算


那么为什么维度筛选器会影响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



Tableau中的伪详细级别LOD计算


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


Category Sales Fixed State

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

 


Tableau中的伪详细级别LOD计算


Tableau中的伪详细级别LOD计算

 

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

 

 

 


相关内容

热门资讯

第16次登榜《财富》中国500... 宇通客车第16次上榜《财富》中国500强位列榜单第362位,排名较去年上升13名自2010年首次登榜...
填报志愿没看清,山东644分考... 极目新闻记者 柳琛琛今年高考考了644分,本以为能冲刺厦门大学本部,没想到填报志愿时没看清楚,被录取...
为抗议毒油案蓝营青年绝食第5天... 国民党籍台北市议员杨植斗等4名青年为抗议毒油案于台北市凯达格兰大道绝食静坐,23日将迈入第五天。杨植...
西门子洗衣机怎么恢复出厂设置 西门子洗衣机怎么恢复出厂设置如果洗衣机是开机模式,先按电源关机键,等洗衣机关机后,然后重新按开机键,...
空调程序乱了怎么办 只需要把空调的电源拔下来,然后大概十分钟之后,再将空调的插头插上去,开启空调就可以了,系统自动重新启...
海尔洗衣机程序乱了怎么复位 海尔洗衣机程序乱了怎么复位:海尔洗衣机程序乱了,针对这种情况,先关闭一下洗衣机的电源,然后重新接通洗...
夏新洗衣机程序乱了怎么办 夏新洗衣机程序乱了,是很常见的问题。通常情况下,这可能是由于电子控制面板出现故障,或者是洗衣机内部发...
西门子洗衣机自动暂停是怎么回事 西门子洗衣机自动暂停可能有以下原因:1. 电源问题:检查电源线是否插好,电源是否稳定。2. 过载保护...
最短的黄金时代:韩国杠杆一代的... 在两个月前,整个韩国社会只有两种人:一种是买了海力士和三星股票的,一种是没买的。买了股票的人进入“黄...