Функции сопоставления 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 |
Красный Желтый Синий Хлопок Маленький/Средний/Большой |