Загрузка уникальных записей

Автор Сергей, 26 сентября 2014, 12:53:32

« назад - далее »

Сергей

Как обеспечить загрузку уникальных записей - аналог первичного ключа?

admin

#1
Добрый день.
Если речь идет о загрузке уникальных значений поля из таблицы то следует использовать DISTINCT, например, код:
LOAD Distinct %ID INLINE [
    %ID, A
    0, 0
    1, А
    1, Б
    1, В
    2, Г
    2, А
    2, Б
    3, В
    3, Г
    3, А
    4, Б
    4, В
    4, Г
    5, Д
    5, Е
    6, А
];

создаст таблицу :








%ID
1
2
3
4
5
6

Если идет речь о создании ключевого поля из комбинации полей, то в простых случаях можно использовать обычное сцепление текстовых значений, т.е. конструкция:
LOAD Distinct %ID&A as [%Key] INLINE
...

вернет уникальные записи типа 1А,1Б и т.д..

Также можно использовать одну из хэш-функций Qlikview: Hash128, Hash160, Hash256.
В этом случае мы также получим уникальный ключ для комбинации значений записи.
LOAD Distinct %ID&A as [%Key], Hash128(%ID,A) as %Key128, Hash160(%ID,A) as %Key160,Hash256(%ID,A) as %Key256  INLINE
Дает нам таблицу:
[smg id=33 type=full width=717]

Все вышесказанное справедливо и для Qlik SENSE,
ссылка на описание функций

Яндекс.Метрика