Международная конференция QlikWorld 2020. Присоединяйтесь к нам, чтобы узнать, как получить максимальную пользу от ваших данных. Действуйте быстро. Зарегистрируйтесь сейчас и сэкономьте.

Сопоставление

Префикс mapping используется для создания таблицы сопоставления, которую можно использовать, например, для замены значений полей и имен полей в ходе выполнения скрипта.

Syntax:  

Mapping( loadstatement | selectstatement )

 

Префикс mapping можно поставить перед оператором LOAD или SELECT. Он будет сохранять результат оператора загрузки в качестве таблицы сопоставления. Сопоставление представляет собой эффективный способ замены значений полей во время выполнения скрипта, например замены значений «СШ», «С.Ш.» или «Америка» значением «США». Таблица сопоставления состоит из двух столбцов, первый из которых содержит значения, используемые для сравнения, а второй — желаемые значения для сопоставления. Таблицы сопоставления временно хранятся в памяти и автоматически удаляются после выполнения скрипта.

К содержанию таблицы сопоставления доступ осуществляется с помощью, например, оператора Map … Using, Rename Field, функции Applymap() или Mapsubstring().

Example:  

В этом примере мы загружаем список продавцов с кодом страны, представляющим их страну проживания. Мы используем таблицу, соответствующую коду страны, для той страны, код которой будет заменен ее названием. В таблице сопоставления указаны только три страны, коды других стран указаны в параметре 'Rest of the world'.

// Load mapping table of country codes: map1: mapping LOAD * Inline [ CCode, Country Sw, Sweden Dk, Denmark No, Norway ] ; // Load list of salesmen, mapping country code to country // If the country code is not in the mapping table, put Rest of the world Salespersons: LOAD *, ApplyMap('map1', CCode,'Rest of the world') As Country Inline [ CCode, Salesperson Sw, John Sw, Mary
Sw, Per Dk, Preben Dk, Olle No, Ole Sf, Risttu] ; // We don't need the CCode anymore Drop Field 'CCode';

Полученная таблица выглядит следующим образом:

Salesperson Country
John Sweden
Mary Sweden
Per Sweden
Preben Denmark
Olle Denmark
Ole Norway
Risttu Rest of the world