Quick BI中lod函数之lod_exclude

一、lod函数简介

LOD函数的全称是详细级别表达式(Level Of Detail Expressisons)。它主要是为了克服一些表达式之间计算颗粒度不一致的问题。比如,要计算第一季度各月销售收入占比,这里分子计算颗粒度为’月’,但是分母的计算颗粒度却为’季度’,这时就有可能用到lod函数。

在Quick BI中lod函数有三个,如下:

lod_fixed{<声明维度>:<聚合表达式>[:过滤条件]}

lod_ include{<声明维度>:<聚合表达式>[:过滤条件]}

lod_exclude{<声明维度>:<聚合表达式>[:过滤条件]}

这三个函数最主要的作用,就是在新建计算字段时,规定内部过滤条件、限定外部过滤条件,指明了分组依据。下面详细介绍一下这三个函数。

二、lod_exclude函数介绍

lod_exclude{维度1[,维度2]…:聚合表达式:[过滤条件]}

  • 维度1[,维度2]...:声明维度,指定聚合表达式要去除的一个或多个维度。使用逗号分隔各个维度。必须。
  • 聚合表达式:聚合表达式是所执行的计算,用于定义目标维度。
  • 过滤条件:内部过滤条件,对数据表进行过滤的条件,非必须。

lod_exclude的执行逻辑:先按内部和外部过滤条件进行过滤,若外部过滤字段属于声明维度则无效,然后进行聚合计算,形成一张虚表,所以lod_exclude函数返回的是一张表,通常需要聚合后才能使用。由于这里是去除声明的维度,因此并没有指定分组维度,所以返回的表只有一行。

三、数据表---《销售单据表》

月份

区域

客户

订单号

金额

1

南区

南A

d001

100

1

南区

南B

d002

200

1

南区

南C

d003

300

1

北区

北A

d004

350

1

北区

北B

d005

200

2

南区

南A

d006

200

2

南区

南C

d007

300

2

北区

北A

d008

300

2

北区

北B

d009

200

3

南区

南B

d010

150

3

南区

南B

d011

300

3

北区

北B

d012

450

3

北区

北B

d013

300

3

北区

北C

d014

250

四、应用示例

1、示例一:lod_exclude基础用法

Quick BI中lod函数之lod_exclude_第1张图片

  • 总金额 = sum([金额])
  • 月总金额  = lod_exclude{[区域]:SUM([金额])}
  • 北区月总金额 = lod_exclude{[区域]:sum([金额]):[区域]='北区'}
  • 北B客户月总金额 = lod_exclude{[区域]:SUM([金额]):客户='北B'}

2、示例二:计算平均订单金额与月平均订单金额之差

Quick BI中lod函数之lod_exclude_第2张图片

  • 平均订单金额 = AVG([金额])
  • 月平均订单金额 = lod_exclude{[区域]:avg([金额])}
  • 季度平均订单金额 = lod_exclude{[月份],[区域]:avg([金额])}
  • 平均订单金额与月平均订单金额之差 = avg([金额]) - avg(lod_exclude{[区域]:avg([金额])})

五、小结

Lod_exclude函数

1、接受外部过滤条件,但是若外部过滤字段属于声明维度则无效。

2、没有指明分组依据,所以返回的表只有一行。

你可能感兴趣的:(Quick,BI,quick,bi,lod函数,lod_exclude,数据分析)