当前位置: 首页 > article >正文

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基础用法

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

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

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

五、小结

Lod_exclude函数

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

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


http://www.kler.cn/a/227106.html

相关文章:

  • 【Android Gradle 插件】自定义 Gradle 插件模块 ⑤ ( 完整总结 )
  • idea项目如何上传gitee
  • FCIS 2023:洞悉网络安全新前沿,引领未来安全创新狂潮
  • 2024年美国大学生数学建模比赛MCM问题B:搜索潜水器-思路解析与代码解答
  • 69.请描述Spring MVC的工作流程?描述一下 DispatcherServlet 的工作流程?
  • Pytroch 自写训练模板适合入门版 包含十五种经典的自己复现的一维模型 1D CNN
  • Python 集合
  • 时间复杂度为 O(n) 的排序算法
  • 使用django构建一个多级评论功能
  • AtCoder Beginner Contest 338 G. evall(枚举+递推 统计贡献)
  • 开发知识点-拍黄片的好基友的依赖管理工具-composer
  • 10种软件架构
  • windows 谷歌浏览器Chrome 怎么禁止更新
  • 设计模式之门面模式(外观模式)
  • MySQL基础查询篇(5)-子查询的嵌套与应用
  • 从编程中理解:大脑中的杏仁核
  • LeetCode第872题 - 叶子相似的树
  • 蓝桥杯省赛无忧 课件82 第13次学长直播带练配套课件
  • KAFKA高可用架构涉及常用功能整理
  • 【百度Apollo】探索创新之路:深入了解Apollo开放平台