Функции сопоставления Qlik Sense с синтаксисом
1. Цель
Сегодня мы рассмотрим функции сопоставления Qlik Sense. Также мы рассмотрим их синтаксис. Мы используем функции сопоставления для управления таблицами сопоставления и работы с ними. Обычно используем таблицы сопоставления в инструментах бизнес-аналитики, таких как QlikView и Qlik Sense, для сопоставления или замены значений полей или имен полей во время выполнения скрипта. По сути, есть две функции сопоставления Qlik Sense, которые мы используем в скрипте загрузки данных: ApplyMap() и MapSubstring().

Функции сопоставления Qlik Sense с синтаксисом
2. Функции сопоставления Qlik Sense
Ниже представлены некоторые из функций сопоставления в Qlik Sense:
i. Функция ApplyMap()
Мы используем эту функцию для отображения или отражения вывода выражения, которое вычисляется во время выполнения скрипта, в ранее загруженной таблице.
Синтаксис функции Qlik Sense ApplyMap().
ApplyMap('map_name', expression [,default_mapping])
где map_name – это имя таблицы, из которой мы хотим отобразить поля или значения полей в новую таблицу. Эта таблица будет прочитана путем сопоставления операторов LOAD или Mapping SELECT до применения функции ApplyMap.
expression – это цитата или условие, оценку результата которого нам нужно отобразить.
default_mapping – это условный параметр, который указывает значение, которое мы используем, когда таблица оценивает условие выражения, не содержит определенного значения. Если значение сопоставления по умолчанию не установлено, значение выражения вернется в таком виде как есть.
Например,
// Загрузить таблицу сопоставления кодов стран:
map1:
mapping LOAD *
Inline [
CountryCode, Country
Swd, Sweden
Dmk, Denmark
Nor, Norway
] ;
LOAD *,
ApplyMap('map1', CountryCode ) As Country
Inline [
CountryCode, Salesperson
Swd, John
Swd, Mary
Swd, Parker
Dmk, Josh
Dmk, Olivia
Nor, Emma
Nor, Fred
] ;
// Нам больше не нужен CountryCode
Drop Field 'CountryCode';
Результирующая таблица представлена ниже, где с помощью функции ApplyMap() поле Country отображается с использованием поля CountryCode в выражении.
|
Salesperson |
Country |
|
Джон |
Швеция |
|
Мэри |
Швеция |
|
Паркер |
Швеция |
|
Джош |
Дания |
|
Оливия |
Дания |
|
Эмма |
Норвегия |
|
Фред |
Норвегия |
ii. Функция MapSubstring()
Функция MapSubstring() отображает подстроку или часть поля данных из ранее загруженной таблицы данных (используя операторы отображения LOAD/SELECT) в другую таблицу. Эта функция чувствительна к регистру и возвращает значение данных строкового типа.
Синтаксис функции MapSubstring():
MapSubstring('map_name', expression)
где map_name – это имя ранее загруженной таблицы с использованием оператора отображения LOAD/SELECT.
expression – это тот оператор, результат которого должен отображаться как подстрока в новой таблице.
Например, сначала вы загружаете таблицу с именем «атрибуты» с двумя полями, AttributeCode и Attribute, которым соответствует каждый код. Затем в следующей таблице загружаем таблицу с именем «Productmodels», в которой будем использовать значения таблицы атрибутов, применяя функцию MapSubstring в таблице Productmodels. В результирующей таблице все имена атрибутов загружены в таблицу описания путем простого сопоставления подстроки AttributeCode в функции Productmodels.
attributes:
mapping LOAD *
Inline [
AttributeCode, Attribute
R, Red
Y, Yellow
B, Blue
C, Cotton
P, Polyester
S, Small
M, Medium
L, Large
] ;
Productmodels:
LOAD *,
MapSubString('attributes’, AttributeCode) as Description
Inline [
Model, AttributeCode
Twixie, R C S
Boomer, B P L
Raven, Y P M
Seedling, R C L
SeedlingPlus, R C L with hood
Younger, B C with patch
MultiStripe, R Y B C S/M/L
] ;
// Нам больше не нужны атрибуты
Drop Field 'AttributeCode';
Ниже представлена итоговая таблица. Здесь с помощью функции MapSubstring соответствующие атрибуты данных моделей отображаются в поле Description с использованием значений поля AttributeCode
|
Model |
Description |
|
Twixie |
Красный Хлопок Маленький |
|
Boomer |
Синий Полиэстер Большой |
|
Raven |
Желтый Полиэстер Средний |
|
Seedling |
Красный Хлопок Большой |
|
SeedlingPlus |
Красный Хлопок Большой с капюшоном |
|
Younger |
Синий Хлопок с капюшоном |
|
MutliStripe |
Красный Желтый Синий Хлопок Маленький/Средний/Большой |



