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

Quick BI中lod函数之lod_include

一、lod函数简介

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

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

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

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

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

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

二、lod_include函数介绍

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

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

lod_include的执行逻辑:先按内部和外部的过滤条件进行过滤,再按声明维度进行分组,然后进行聚合运算,形成一张虚表,所以lod_fixed函数返回的是一张表,通常需要聚合后才能使用。

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

月份

区域

客户

订单号

金额

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、示例一:计算平均客户购买总金额

  • 总金额 = SUM([金额])
  • 客户数 = count(distinct [客户])
  • 客户购买总金额 = lod_include{[客户]:SUM([金额])},在仪表板中,聚合方式设置为“平均值”

客户购买总金额 = lod_include{[客户]:SUM([金额])},返回一张虚拟表,这张表接受外部筛选。

注意:字段“客户”始终是分组依据,也就是再次聚合的依据字段。

2、示例二:计算1月购买总金额(带过滤条件)

  • 1月客户购买总金额 = lod_include{[客户]:SUM([金额]):[月份]='1月’}
  • 1月月份够买总金额 = lod_include{[月份]:SUM([金额]):[月份]='1月’}

两张图之间的差异,是由于两个字段的分组依据不一样,一个是‘[客户]’,一个是‘[月份]’。

五、小结

Lod_include函数:

1、不排除外部过滤条件

2、声明了内部分组维度,因此lod_include本质是返回的是一张分组表。

3、lod_include的返回值为一张表,因此聚合字段作为度量使用时,通常需要依据内部分组维度再次进行聚合计算,才能正常显示。

4、lod_include的作为维度使用时,直接使用聚合字段下的值作为维度,不需要再次聚合。


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

相关文章:

  • 什么是Golang中的包循环问题?如何规避?
  • Kafka 记录
  • Excel计算表达式的值
  • ChatGPT炸裂了
  • 爬虫入门到精通_基础篇4(BeautifulSoup库_解析库,基本使用,标签选择器,标准选择器,CSS选择器)
  • leetcode刷题(剑指offer) 297.二叉树的序列化和反序列化
  • Oracle PL/SQL Programming 第5章:Iterative Processing with Loops 读书笔记
  • bash脚本学习笔记
  • 2024年数学建模美赛 A~E 题目解析
  • 阿里云a10GPU,centos7,cuda11.2环境配置
  • 一个升级迁移11g到19c使用xtts遇到的小问题
  • A系统数据表同步到B系统数据表
  • Android PMS——ADB命令安装流程(七)
  • 前端常见标签
  • 层序遍历,中序遍历,数组模拟二叉树
  • C++:智能指针
  • 导出pdf 加密、加水印、加页脚
  • php工厂模式
  • yo!这里是单例模式相关介绍
  • Keil软件某些汉字输出乱码,0xFD问题,51单片机