Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
Декабрь 18, 2017, 06:15:35 am

Автор Тема: Загрузка уникальных записей  (Прочитано 1515 раз)

Оффлайн Сергей

  • Новичок
  • *
  • Сообщений: 3
  • Рейтинг: +0/-0
    • Просмотр профиля
Загрузка уникальных записей
« : Сентябрь 26, 2014, 12:53:32 pm »
Как обеспечить загрузку уникальных записей - аналог первичного ключа?

Оффлайн admin

  • Administrator
  • Hero Member
  • *****
  • Сообщений: 1005
  • Страна: ru
  • Рейтинг: +103/-0
    • Просмотр профиля
Re: Загрузка уникальных записей
« Ответ #1 : Сентябрь 26, 2014, 01:39:49 pm »
Добрый день.
Если речь идет о загрузке уникальных значений поля из таблицы то следует использовать 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Дает нам таблицу:
(Извините, но вы не имеете доступа к галерее)

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