This website requires JavaScript.

Tableau: LOD(详细级别)表达式使用

使用LOD (Level of Deail) 表达式可以让我们方便的使用指定字段进行聚合计算,而不是默认的视图明细级别. (个人感觉有点像MS SQL中的窗体函数) .

平均利润(Average Profit)

如图所示,其中$19 是该区域的平均利润,默认情况下,他只是对Brazil这个国家所有明细数据进行平均.如果我们想显示每个订单的平均利润,则可以使用LOD表达式实现.

image

image

使用LOD表达式

从上图中我们可以获知订单单号字段为[Order ID]  .  新建一个计算字段 Profit per Order ID

image

这段话的作用就是求和每个订单的利润,将新字段拖过去然后选择平均,就可以看到差别.

image

那他的原理是怎么样的?

首先: LOD求和了每个订单的利润 其次: 国家字段把LOD字段分成各个国家 最后: 平均聚合直接平均这个国家的每个订单的利润值

LOD表达式语法

{INCLUDE [Order ID]: SUM([Profit])}
 
  • 第一个部分为关键字,除了我们上面用了的 INCLUDE 还是 FIXED和EXCLUDE

    • FIXED 只用指定的维度进行值的计算,而不引用视图中的其他维度
    • INCLUDE 对指定的维度进行计算,并且可受视图中维度影响. 在我们的例子中为Order ID 和视图中的 Country
    • EXCLUDE 忽略指定的维度,就算在视图中也是.
  • 第二个是我们指定的明细级别

  • 第三个则是聚合表达式,只要我们想计算的都可以放进去,比如MIN([Order Date]) or AVG([Discount]).

FIXED 和 INCLUDE

在我们的例子里面,如果我们的订单ID是唯一的,其实可以用FIXED代替INCLUDE .如果一个订单跨了多个国家,他们的记过就会不同.

FIXED 只关心订单ID.如果这个ID跨了多个国家,那么把会把其他国家这个订单的利润也计算进来并且平均. INCLUDE 刚好相反,如果一个订单ID跨了多个国家,当它们是独立的,他会单独计算,

image

相关文件

introduction_to_lod_expressions_finished.rar

0条评论
avatar