# IntervalMatch（扩展语法）

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

这是一个强大且灵活的功能，可用于链接交易与随时间改变的维度：渐变维度（Slowly Changing Dimension）

IntervalMatch 前缀必须置于加载时间间隔的 Load 或 Select 语句之前。在使用带 IntervalMatch 前缀的语句之前，包含离散数据点和额外关键字段值的表格必须已经加载到 QlikView。此前缀将加载的时间间隔表格转换为包含其他列（离散数值数据点）的表格。另外其扩展了记录数，以使新表格对离散数据点、时间间隔和关键字段值的每个可能组合都有一条记录。

相应语法为：

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

matchfield 是包含链接至时间间隔的离散数值的字段。

keyfield(s) 是包含转换中匹配的额外属性的字段。

loadstatement 或 selectstatement 必会生成一个表格，其中前两个字段包含每个时间间隔的下半部限制和上半部限制，第三个及此后字段包含显示于 IntervalMatch 语句中的 keyfield(s)。时间间隔总是封闭区间，即间隔的端点包括在时间间隔之中。非数值限值会导致时间间隔遭到忽略（未定义）。

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

示例：

`Inner Join IntervalMatch 
 (Date,Key) LOAD FirstDate, LastDate, Key resident Key;`

## 了解详情

* [IntervalMatch](https://help.qlik.com/zh-CN/qlikview/September2025/Subsystems/Client/Content/QV_QlikView/Scripting/ScriptPrefixes/IntervalMatch.htm)
* [NullAsValue](https://help.qlik.com/zh-CN/qlikview/September2025/Subsystems/Client/Content/QV_QlikView/Scripting/ScriptRegularStatements/NullAsValue.htm)