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

Qlik Sense : IntervalMatch(离散匹配)

什么是IntervalMatch 

IntervalMatch 前缀用于创建表格以便将离散数值与一个或多个数值间隔进行匹配,并且任选匹配一个或多个额外关键值。

语法:  

IntervalMatch (matchfield)(loadstatement | selectstatement )

 

IntervalMatch (matchfield,keyfield1 [ , keyfield2, ... keyfield5 ] ) (loadstatement | selectstatement )

IntervalMatch 前缀必须置于加载时间间隔的 LOAD 或 SELECT 语句之前。在使用此语句和 IntervalMatch 前缀之前,包含离散数据点的字段(以下所示的 Time)必须已经加载到 Qlik Sense。此前缀不会从数据库表格中读取此字段。此前缀将加载的时间间隔表格转换为包含其他列(离散数值数据点)的表格。另外其扩展了记录数,以使新表格对离散数据点、时间间隔和关键字段值的每个可能组合都有一条记录。

时间间隔可以重叠,离散值可以链接所有匹配的时间间隔。

使用关键字段扩展 IntervalMatch 前缀时,可用于创建既能将离散数值和一个或多个数值时间间隔匹配的表格,同时又能匹配一个或多个额外关键字段值。

要避免未定义的时间间隔限值遭到忽略,可能必须让 NULL 可以映射到构成时间间隔下限或上限的其他字段。这可通过 NullAsValue 语句或显式测试来处理,显式测试可在任何离散数值数据点前后使用数值很好地替代 NULL。

参数

参数
参数说明
matchfield一个字段,包含链接至时间间隔的离散数值。
keyfield一个字段,包含转换中匹配的额外属性。
loadstatementorselectstatement必会生成一个表格,其中第一个字段包含每个时间间隔的下半部限制,第二个字段包含每个时间间隔的上半部限制,如果使用关键字匹配,则第三个及此后的任何字段包含显示于 IntervalMatch 语句中的关键字段值。时间间隔总是封闭区间,即间隔的端点包括在时间间隔之中。非数值限值会导致时间间隔遭到忽略(未定义)。

Show Me The Code

示例 1:  

在以下两个表格中,第一个表格列出了众多离散事件,第二个表格定义了不同订单生产的开始时间和结束时间。借助 IntervalMatch 前缀,可以逻辑连接两个表格,从而找出哪些订单受到干扰的影响,哪些订单依据哪次轮班处理。

EventLog:
LOAD * Inline [
Time, Event, Comment
00:00, 0, Start of shift 1
01:18, 1, Line stop
02:23, 2, Line restart 50%
04:15, 3, Line speed 100%
08:00, 4, Start of shift 2
11:43, 5, End of production
];OrderLog:
LOAD * INLINE [
Start, End, Order
01:00, 03:35, A
02:30, 07:58, B
03:04, 10:27, C
07:23, 11:43, D
];//Link the field Time to the time intervals defined by the fields Start and End.
Inner Join IntervalMatch ( Time ) 
LOAD Start, End
Resident OrderLog;

表格 OrderLog 现在包含额外一列:Time。记录的数量也可以扩展。

Table with additional column
TimeStartEndOrder

00:00

---
01:1801:0003:35A
02:2301:0003:35A
04:1502:3007:58B
04:1503:0410:27C
08:0003:0410:27C
08:0007:2311:43D
11:4307:23

11:43

D

示例 2: (使用 keyfield)

与上述示例相同,添加 ProductionLine 作为关键字段。

EventLog:LOAD * Inline [Time, Event, Comment, ProductionLine00:00, 0, Start of shift 1, P101:00, 0, Start of shift 1, P201:18, 1, Line stop, P102:23, 2, Line restart 50%, P104:15, 3, Line speed 100%, P108:00, 4, Start of shift 2, P109:00, 4, Start of shift 2, P211:43, 5, End of production, P111:43, 5, End of production, P2];OrderLog:LOAD * INLINE [Start, End, Order, ProductionLine01:00, 03:35, A, P102:30, 07:58, B, P103:04, 10:27, C, P107:23, 11:43, D, P2];//Link the field Time to the time intervals defined by the fields Start and End and match the values// to the key ProductionLine.Inner JoinIntervalMatch ( Time, ProductionLine )LOAD Start, End, ProductionLineResident OrderLog;

现在可以按照以下方式创建表格框:

Tablebox example
ProductionLineTimeEventCommentOrderStartEnd
P1

00:00

0Start of shift 1---
P201:000Start of shift 1---
P101:181Line stopA01:0003:35
P102:232Line restart 50%A01:0003:35
P104:153Line speed 100%B02:3007:58
P104:153Line speed 100%C03:0410:27
P108:004Start of shift 2C03:0410:27
P209:004Start of shift 2D07:2311:43
P111:435End of production---
P211:435End of productionD07:2311:43
http://www.lryc.cn/news/289706.html

相关文章:

  • MySql45讲-08.事务到底是隔离的还是不隔离的?(结合MVCC视频)
  • 备战蓝桥杯----数据结构及STL应用(基础2)
  • 日常学习之:vue + django + docker + heroku 对后端项目 / 前后端整体项目进行部署
  • LangGraph:一个基于LangChain构建的AI库,用于创建具有状态、多参与者的应用程序
  • 04-Nacos-服务注册基于spring boot实现
  • iOS 闭包和Block的区别
  • 后端学习笔记——后端细碎知识点(每天更新......)
  • 二进制中1的个数
  • python+matlab text(按图的相对位置显示)
  • rust 引用/mut 的所有权
  • 油烟净化器科技改革,清新用餐生活
  • [足式机器人]Part3 机构运动学与动力学分析与建模 Ch01-1 刚体系统的运动学约束
  • 51单片机智能小车
  • 9. 嵌入式系统开发:安全性与可靠性设计模式---引言
  • 内网安全:Exchange服务
  • Flask介绍和优势
  • 喜报|「云原生数据库PolarDB」、「阿里云瑶池一站式数据管理平台」揽获“2023技术卓越奖”
  • 【动态规划】【字符串】【行程码】1531. 压缩字符串
  • 检测头篇 | 原创自研 | YOLOv8 更换 SEResNeXtBottleneck 头 | 附详细结构图
  • PHP语法
  • MySQL:三大日志(binlog、redolog、undolog)
  • 【QT+QGIS跨平台编译】之十二:【libpng+Qt跨平台编译】(一套代码、一套框架,跨平台编译)
  • Windows 和 Anolis 通过 Docker 安装 Milvus 2.3.4
  • JUC并发编程与源码分析学习笔记(三)
  • 力扣日记1.28-【回溯算法篇】93. 复原 IP 地址
  • Java 的反射学习总结
  • 图论第二天|695. 岛屿的最大面积 1020. 飞地的数量 130. 被围绕的区域 417. 太平洋大西洋水流问题 827.最大人工岛
  • 【JavaScript 基础入门】02 JavaScrip 详细介绍
  • 鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之CheckboxGroup组件
  • 【极数系列】Flink配置参数如何获取?(06)