Qlik Sense : where exists

news2024/9/22 15:49:08

什么是Exists函数

Exists() 用于确定是否已经将特定字段值加载到数据加载脚本中的字段。此函数用于返回 TRUE 或 FALSE,这样它可以用于 LOAD 语句或 IF 语句中的 where 子句。

信息注释您也可使用 Not Exists() 来确定是否尚未加载字段值,但是如果要在 where 子句中使用 Not Exists(),建议您小心。Exists() 函数在当前表格中测试之前加载的表格和之前加载的值。因此,仅加载第一次出现的值。如果遇到第二次出现的值,值已经被加载。有关更多信息,请查看示例。

语法:  

Exists(field_name [, expr])

返回数据类型: 布尔值

参数:  

参数
参数说明
field_name

您希望在其中搜索值的字段的名称。您可使用没有引号的确切字段名称。

字段必须已经由脚本加载。这意味着您无法在脚本中进一步往下引用在子句中加载的字段。

expr

您希望检查值是否存在。您可使用引用当前加载语句中一个或数个字段的确切值或表达式。

信息注释您无法引用未包含在当前加载语句中的字段。

该参数为可选。如果您忽略它,函数将检查当前记录中的 field_name 的值是否已存在。

示例和结果:

示例 1 Field

Exists (Employee)

如果当前记录中的字段值 Employee 已存在于任何以前已读入的包含该字段的记录,则返回 -1 (True)。

语句 Exists (Employee, Employee) 和 Exists (Employee) 功能相同。

示例 2 Filed,Value

Exists(Employee, 'Bill')

如果在字段 Employee(员工)的当前内容中发现字段值 'Bill',则返回 -1 (True)。

示例 3 Where Exist

//zhengkai.blog.csdn.net

Employees:
LOAD * inline [
Employee|ID|Salary
Bill|001|20000
John|002|30000
Steve|003|35000
] (delimiter is '|');

Citizens:
Load * inline [
Employee|Address
Bill|New York
Mary|London
Steve|Chicago
Lucy|Madrid
Lucy|Paris
John|Miami
] (delimiter is '|') where Exists (Employee);

Drop Tables Employees;

由此得到表格,您可借助维度Employee 和 Address 在表格可视化中使用该表格。

where 子句:where Exists (Employee),是指只能从表格 Citizens(市民)将同时位于 Employees(员工)中的姓名加载到新表格。Drop 语句删除表格 Employees(员工)以避免混淆。

结果
EmployeeAddress
BillNew York
JohnMiami
SteveChicago

示例 4 Where Not Exist

Employees:
Load * inline [ 
Employee|ID|Salary
Bill|001|20000
John|002|30000
Steve|003|35000
] (delimiter is '|');
 
Citizens:
Load * inline [
Employee|Address
Bill|New York
Mary|London
Steve|Chicago
Lucy|Madrid
Lucy|Paris
John|Miami
] (delimiter is '|') where not Exists (Employee);
 
Drop Tables Employees;

where 子句包括 not: where not Exists (Employee)。

这意味着只能从表格 Citizens(市民)将不在 Employees(员工)中的姓名加载到新表格。

请注意在 Citizens(市民)中对于 Lucy 有两个值,但是在结果表格中仅包含了一个。当您加载带值 Lucy 的第一行时,其包含在 Employee 字段中。因此,当检查第二行时,已存在值。

结果
EmployeeAddress
MaryLondon
LucyMadrid

示例 5 Where Not Exist 裁剪

该示例示出如何加载所有值。

Employees:
Load Employee As Name;
LOAD * inline [
Employee|ID|Salary
Bill|001|20000
John|002|30000
Steve|003|35000
] (delimiter is '|');
 
Citizens:
Load * inline [
Employee|Address
Bill|New York
Mary|London
Steve|Chicago
Lucy|Madrid
Lucy|Paris
John|Miami
] (delimiter is '|') where not Exists (Name, Employee);
 
Drop Tables Employees;

要得到 Lucy 的所有值,您需要进行两项更改:

  • 在 Employee 重命名为 Name 的位置插入了 Employees 表的前置 Load。

    Load Employee As Name;

  • 在 Citizens 中将 Where 条件更改为:

    not Exists (Name, Employee).

这将为 Name 和 Employee 创建字段。如果检查带 Lucy 的第二行,它仍未存在于 Name(名称)中。

结果
EmployeeAddress
MaryLondon
LucyMadrid
LucyParis

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

uni使用openlayer加载本机离线地图

manifest.json添加配置 "runmode": "liberate"(默认为normal) 把地图打包进apk,这样手机每次访问地图就可以访问到工程文件夹的地图资源了,不用每次都请求云资源,消耗流量太大了

嵌入式单片机中晶振的工作原理

晶振在单片机中是必不可少的元器件,只要用到CPU的地方就必定有晶振的存在,那么晶振是如何工作的呢? 什么是晶振 晶振一般指晶体振荡器,晶体振荡器是指从一块石英晶体上按一定方位角切下的薄片,简称为晶片。 石英晶体谐…

DMA直接内存访问,STM32实现高速数据传输使用配置

1、DMA运用场景 随着智能化、信息化的不断推进,嵌入式设备的数据处理量也呈现指数级增加,因此对于巨大的数据量处理的情况时,必须采取其它的方式去替CPU减负,以保证嵌入式设备性能。例如SD卡存储器和音视频、网络高速通信等其它情…

PyTorch 2.2 中文官方教程(四)

torch.nn 到底是什么? 原文:pytorch.org/tutorials/beginner/nn_tutorial.html 译者:飞龙 协议:CC BY-NC-SA 4.0 注意 点击这里下载完整示例代码 作者: Jeremy Howard,fast.ai。感谢 Rachel Thomas 和 Fr…

Gitlab和Jenkins集成 实现CI (一)

版本声明 部署时通过docker拉取的最新版本 gitlab: 16.8 jenkins: 2.426.3 安装环境 可参考这篇文章 停止防火墙 由于在内网,这里防火墙彻底关掉,如果再外网或者云上的悠着点 systemctl stop firewalled systemctl disable firewalledsystemctl sto…

C++算法之双指针、BFS和图论

一、双指针 1.AcWing 1238.日志统计 分析思路 前一区间和后一区间有大部分是存在重复的 我们要做的就是利用这部分 来缩短我们查询的时间 并且在使用双指针时要注意对所有的博客记录按时间从小到大先排好顺序 因为在有序的区间内才能使用双指针记录两个区间相差 相当于把一个…

VMware虚拟机安装Windows系统教程

前言 今天给小伙伴分享一个安装Windows系统的教程,本教程适用于WindowsXP/7/8/8.1/10。 安装的系统前需要先检查一下你的电脑硬件环境,每个系统的硬件要求都不一样哦~ 硬件要求指的是你的电脑主机的配置,如果低于这个配置的&am…

【工作学习 day04】 9. uniapp 页面和组件的生命周期

问题描述 uniapp常用的有:页面和组件,并且页面和组件各自有各自的生命周期函数,那么在页面/组件请求数据时,是用created呢,还是用onLoad呢? 先说结论: 组件使用组件的生命周期,页面使用页面的…

【MySQL】_JDBC编程

目录 1. JDBC原理 2. 导入JDBC驱动包 3. 编写JDBC代码实现Insert 3.1 创建并初始化一个数据源 3.2 和数据库服务器建立连接 3.3 构造SQL语句 3.4 执行SQL语句 3.5 释放必要的资源 4. JDBC代码的优化 4.1 从控制台输入 4.2 避免SQL注入的SQL语句 5. 编写JDBC代码实现…

基金是什么

一、基金是什么? 买基金就是委托别人帮我们投资,替我们买卖股票债券。 二、为什么委托别人? 因为我们不懂投资方面的知识,或者我们没有时间来做投资,那么就可以找专业人士帮我们投资。就像家长帮小孩报辅导班&#…

制作耳机壳的UV树脂和塑料材质相比劣势有哪些?

以下是UV树脂相比塑料材质可能存在的劣势: 价格较高:相比一些常见的塑料材质,UV树脂的价格可能较高。这主要是因为UV树脂的生产过程较为复杂,需要较高的技术和设备支持。加工难度大:虽然UV树脂的加工过程相对简单&…

数学建模-灰色预测最强讲义 GM(1,1)原理及Python实现

目录 一、GM(1,1)模型预测原理 二、GM(1,1)模型预测步骤 2.1 数据的检验与处理 2.2 建立模型 2.3 检验预测值 三、案例 灰色预测应用场景:时间序列预测 灰色预测的主要特点是模型使用的…

SpringIOC之support模块ReloadableResourceBundleMessageSource

博主介绍:✌全网粉丝5W,全栈开发工程师,从事多年软件开发,在大厂呆过。持有软件中级、六级等证书。可提供微服务项目搭建与毕业项目实战,博主也曾写过优秀论文,查重率极低,在这方面有丰富的经验…

python-基础篇-列表-脚本

文章目录 01_下标.py02_查找.py03_判断是否存在.py04_体验案例判断是否存在.py05_列表增加数据之append.py06_列表增加数据之extend.py07_列表增加数据之insert.py08_列表删除数据.py09_列表修改数据.py10_列表复制数据.py11_列表的循环遍历之while.py12_列表的循环遍历之for.p…

形态学算法应用之连通分量提取的python实现——图像处理

原理 连通分量提取是图像处理和计算机视觉中的一项基本任务,旨在识别图像中所有连通区域,并将它们作为独立对象处理。在二值图像中,连通分量通常指的是所有连接在一起的前景像素集合。这里的“连接”可以根据四连通或八连通的邻接关系来定义…

红队打靶练习:GLASGOW SMILE: 1.1

目录 信息收集 1、arp 2、nmap 3、nikto 4、whatweb 目录探测 1、gobuster 2、dirsearch WEB web信息收集 /how_to.txt /joomla CMS利用 1、爆破后台 2、登录 3、反弹shell 提权 系统信息收集 rob用户登录 abner用户 penguin用户 get root flag 信息收集…

数码管扫描显示-单片机通用模板

数码管扫描显示-单片机通用模板 一、数码管扫描的原理二、display.c的实现1、void Display(void) 各模式界面定义数据2、void BackupRamToDisRam(void)从缓存区刷新显示映射Ram3、void FreshDisplay(void) 映射显示Ram到主控的IO口4、void LcdDisplay_8bit(void) 映射显示Ram到…

供应链|Managemeng Science 论文解读:数据驱动下联合定价和库存控制的近似方法 (一)

编者按 本次解读的文章发表于 Management Science,原文信息:Hanzhang Qin, David Simchi-Levi, Li Wang (2022) Data-Driven Approximation Schemes for Joint Pricing and Inventory Control Models. https://doi.org/10.1287/mnsc.2021.4212 文章在数…

通过Demo学WPF—数据绑定(二)

准备 今天学习的Demo是Data Binding中的Linq: 创建一个空白解决方案,然后添加现有项目,选择Linq,解决方案如下所示: 查看这个Demo的效果: 开始学习这个Demo xaml部分 查看MainWindow.xaml: …

【RT-DETR进阶实战】利用RT-DETR进行过线统计(可用于人 、车过线统计)

👑欢迎大家订阅本专栏,一起学习RT-DETR👑 一、本文介绍 Hello,各位读者,最近会给大家发一些进阶实战的讲解,如何利用RT-DETR现有的一些功能进行一些实战, 让我们不仅会改进RT-DETR&#xf…