Quick BI中lod函数之lod_fixed

一、lod函数简介

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

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

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

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

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

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

二、lod_fixed函数介绍

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

  • [维度1][,维度2]...:声明维度,一方面如果外部筛选字段若不属于这里的声明维度则无效,另一方面这里声明的维度也内部聚合运算时的分组依据。使用逗号分隔各个维度。非必须。
  • 聚合表达式:聚合表达式是所执行的计算,用于定义目标维度。
  • 过滤条件:内部过滤条件,对数据表进行过滤的条件,非必须。

lod_fixed的执行逻辑:先按内部过滤条件进行过滤,若外部过滤字段不属于声明维度则无效,再按声明维度进行分组,然后进行聚合计算,形成一张虚表,所以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、示例一:lod_fixed基础用法

  • 总金额 = sum([金额])
  • 区域总金额 = lod_fixed{[区域]:SUM([金额])}

不接受除字段[区域]以外的其他字段的外部筛选,然后以字段[区域]进行分组,并对字段[金额]进行聚合运算(求和)

声明维度中只有一个字段[区域],所以上图表中,字段[客户]并不能影响到‘区域总金额’计算。

  • 全国总金额 = lod_fixed{:sum([金额])}

不接受外部筛选,并对字段[金额]进行聚合运算(求和)。注意这里没指定分组维度,所以最后返回的表只有一行。

声明维度为空,则意味所有字段都不能影响‘全国总金额’

  • 1月各区域总金额 = lod_fixed{[区域]:SUM([金额]):[月份] = '1月’}

首先按[月份] = '1月’进行内部过滤,不接受除字段[区域]以外的其他字段的外部筛选,然后按字段[区域]进行分组,对字段[金额]进行聚合运算(求和)。

  • 1月全国总金额 = lod_fixed{[月份]:SUM([金额]):[月份] = '1月'}

首先按[月份] = '1月’进行内部过滤,然后按字段[月份]进行分组,对字段[金额]进行聚合(求和)。由于过分组维度和过滤条件都是字段[月份]且过滤条件为[月份] = '1月',所以最后返回的表也只有一行。

2、示例二:计算各区域销售金额占比

  • 区域总金额 = lod_fixed{[区域]:SUM([金额])}

区域总金额 = lod_fixed{[区域]:SUM([金额])} ,返回一张分组表

区域

sum(金额)

南区

1550

北区

2050

聚合方式:求和。由于每个分组只有一个值,所以仍是其自身。

区域

sum(金额)

南区

1550

北区

2050

高级计算:占列总计百分比。sum(金额)列总计为3600(1550+2050=3600)因此南区占列总计百分比=1550/3600=43.06%,北区占列总计百分比=2050/3600=56.94%

区域

占列总计百分比

南区

43.06%

北区

56.94%

3、示例三:客户购买次数人数

  • 客户够买次数 = lod_fixed{[客户]:count(distinct [订单号])} ,数据类型设置为维度,以便可以作为横轴使用。
  • 客户数 = count(distinct [客户])

4、示例四:计算月总金额与平均月总金额之差

  • 总金额 = sum([金额])
  • 平均月总金额 = sum(lod_exclude{[月份]:sum([金额])})/sum(lod_fixed{:count(distinct [月份])})
  • 月总金额与平均月总金额之差 = sum(lod_fixed{[月份]:sum([金额])})- sum(lod_fixed{:sum([金额])})/sum(lod_fixed{:count(distinct [月份])})

五、小结

Lod_fixed函数:

1、排除外部过滤条件,若外部过滤条件不属于声明维度(分组维度)则无效;声明维度为空时,则排除全部外部过滤条件。

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

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/364825.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

2024年美国大学生数学建模D题思路分析 - 大湖区水资源问题

# 1 赛题 问题D&#xff1a;大湖区水资源问题 背景 美国和加拿大的五大湖是世界上最大的淡水湖群。这五个湖泊和连接的水道构成了一个巨大的流域&#xff0c;其中包含了这两个国家的许多大城市地区&#xff0c;气候和局部天气条件不同。 这些湖泊的水被用于许多用途&#xff…

TypeScript 学习笔记(Day4)

「写在前面」 本文为 b 站黑马程序员 TypeScript 教程的学习笔记。本着自己学习、分享他人的态度&#xff0c;分享学习笔记&#xff0c;希望能对大家有所帮助。推荐先按顺序阅读往期内容&#xff1a; 1. TypeScript 学习笔记&#xff08;Day1&#xff09; 2. TypeScript 学习笔…

大力说视频号第三课:手把手教你视频号如何认证

视频号生态不断完善&#xff0c;越来越多的创作者认识到视频号认证的重要性。微信视频号认证不但能提升搜索排名&#xff0c;还能直播推流、与企业微信的关联等优势。 今天大力就来向大家介绍一下视频号如何做认证。 01 个人认证 个人认证又包括兴趣认证和职业认证。 A、兴趣…

基于Java SSM框架实现校园快领服务系统项目【项目源码+论文说明】计算机毕业设计

基于java的SSM框架实现校园快领服务系统演示 摘要 随着科学技术的飞速发展&#xff0c;各行各业都在努力与现代先进技术接轨&#xff0c;通过科技手段提高自身的优势&#xff1b;对于校园快领服务系统当然也不能排除在外&#xff0c;随着网络技术的不断成熟&#xff0c;带动了…

保姆级的指针详解(超详细)

目录 一.内存和地址  1.初识指针 2.如何理解编址 二. 指针变量 三.指针的解引用操作符 1.指针变量的大小 四.指针变量类型的意义 五.指针的运算 1.指针加减整数 2.指针减指针 3.野指针 3.1指针未初始化 3.2指针越界访问 3.3指针指向的空间被提前释放 3.4如何规…

Rust学习之Features

Rust学习之Features 一 什么是 Features二 默认 feature三 简单的features应用示例四 可选(optional)的依赖五 依赖的特性5.1 在依赖表中指定5.2 在features表中指定 六 命令行中特性控制七 特性统一路径八 其它8.1 相互排斥特性8.2 观察启用特性8.3 [Feature resolver version…

从源码角度透视QTcpServer:解构QTcpServer的底层原理与技术细节

深入了解QTcpServer的底层原理和技术细节 一、背景二、QTcpServer的基本原理2.1、TCP协议简介2.2、QTcpServer的概念 三、QTcpServer源码解析3.1、QTcpServer的构造函数3.2、调用listen函数启动tcpserver3.3、QSocketNotifier的实现 总结 一、背景 QTcpServer是Qt网络模块中的…

花瓣网美女图片爬取

爬虫基础案例01 花瓣网美女图片 网站url&#xff1a;https://huaban.com 图片爬取 import requests import json import os res requests.get(url "https://api.huaban.com/search/file?text%E7%BE%8E%E5%A5%B3&sortall&limit40&page1&positionsear…

『C++成长记』string使用指南

&#x1f525;博客主页&#xff1a;小王又困了 &#x1f4da;系列专栏&#xff1a;C &#x1f31f;人之为学&#xff0c;不日近则日退 ❤️感谢大家点赞&#x1f44d;收藏⭐评论✍️ 目录 一、string类介绍 二、string类的常用接口说明 &#x1f4d2;2.1string类对象的常…

数据结构+算法(第10篇):叉堆“功夫熊猫”的速成之路

作者简介&#xff1a;大家好&#xff0c;我是smart哥&#xff0c;前中兴通讯、美团架构师&#xff0c;现某互联网公司CTO 联系qq&#xff1a;184480602&#xff0c;加我进群&#xff0c;大家一起学习&#xff0c;一起进步&#xff0c;一起对抗互联网寒冬 学习必须往深处挖&…

Elasticsearch:集群故障排除和优化综合指南

Elasticsearch 是一个强大的搜索和分析引擎&#xff0c;是许多数据驱动应用程序和服务的核心。 它实时处理、分析和存储大量数据的能力使其成为当今快节奏的数字世界中不可或缺的工具。 然而&#xff0c;与任何复杂的系统一样&#xff0c;Elasticsearch 可能会遇到影响其性能和…

【ACL 2023】Enhancing Document-level EAE with Contextual Clues and Role Relevance

【ACL 2023】Enhancing Document-level Event Argument Extraction with Contextual Clues and Role Relevance 论文&#xff1a;https://aclanthology.org/2023.findings-acl.817/ 代码&#xff1a;https://github.com/LWL-cpu/SCPRG-master Abstract 与句子级推理相比&…

linux中的静态库和共享库

库&#xff1a;库是二进制文件&#xff0c;是源代码文件的另一种表现形式&#xff0c;是加了密的源代码&#xff1b;是一些功能相近或者相似函数的集合体 库的使用&#xff1a; 头文件--包含了库函数的声明 库文件--包含了库函数的代码实现 注意&#xff1a;库不能单独使用…

应用智能家居领域中的低功耗蓝牙模块

智能家居&#xff08;smart home, home automation&#xff09;是以住宅为平台&#xff0c;利用综合布线技术、网络通信技术、 安全防范技术、自动控制技术、音视频技术将家居生活有关的设施集成&#xff0c;构建高效的住宅设施与家庭日程事务的管理系统&#xff0c;提升家居安…

某零售公司竞聘上岗项目成功案例纪实

——建立科学选人标准、评价方法&#xff0c;实现人岗匹配 【客户行业】零售业&#xff1b;销售行业 【问题类型】竞聘上岗 【客户背景】 半月&#xff08;化名&#xff09;有限公司成立于2008年&#xff0c;以母婴零售为基础&#xff0c;始终坚持以客户为导向&#xff0c;…

Stable diffusion使用和操作流程

Stable Diffusion是一个文本到图像的潜在扩散模型,由CompVis、Stability AI和LAION的研究人员和工程师创建。它使用来自LAION-5B数据库子集的512x512图像进行训练。使用这个模型,可以生成包括人脸在内的任何图像,因为有开源的预训练模型,所以我们也可以在自己的机器上运行它…

第1章 简单使用 Linux

第1章 简单使用 Linux 1.1 Linux 的组成 1.2 远程连接 首先以 root 用户登录到 Linux 系统&#xff0c;然后在 Terminal 终端上输入 ip add 命令&#xff0c;来查看 IP 地址。 上图中的 192.168.72.128 就是 IP 地址。 然后打开 XShell 远程连接工具。 然后在命令提示符下输…

C++ Webserver从零开始:基础知识(七)——多进程编程

前言 在学习操作系统时&#xff0c;我们知道现代计算机往往都是多进程多线程的&#xff0c;多进程和多线程技术能大大提高了CPU的利用率&#xff0c;因此在web服务器的设计中&#xff0c;不可避免地要涉及到多进程多线程技术。 这一章将简要讲解web服务器中的多进程编程&#x…

养猫家庭必备猫用空气净化器哪款牌子好?宠物空气净化器值得推荐的品牌

养宠家庭的朋友们都知道&#xff0c;猫咪的浮毛无处不在&#xff0c;每天都会在空气中飘荡。无论是沙发、地板还是衣服&#xff0c;都成了浮毛的重灾区。这些浮毛不仅难以清理&#xff0c;而且对于呼吸道敏感的人来说&#xff0c;可能会引发过敏反应。为了除去猫毛&#xff0c;…

Zoho Mail 2023:回顾过去,展望未来:不断进化的企业级邮箱解决方案

当我们告别又一个非凡的一年时&#xff0c;我们想回顾一下Zoho Mail如何融合传统与创新。我们迎来了成立15周年&#xff0c;这是一个由客户、合作伙伴和我们的敬业团队共同庆祝的里程碑。与我们一起回顾这段旅程&#xff0c;探索定义Zoho Mail历史篇章的敏捷性、精确性和创新性…