Справка QlikSense — Схема звездочки/Соединения или Сопоставление приложений

#join #where-clause #qliksense #star-schema #linktable

Вопрос:

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

Создал образец файла здесь Исходные 3 таблицы-это разные файлы qvd

  1. Таблица транзакций содержит несколько столбцов, основными из которых являются TxnID, SourcePartyTypeID, DestPartyTypeID, SourcePartyType, DestinationPartyType, ConductorID.
  2. Таблица клиентов — custName, CustID и т.д.
  3. Таблица счетов — AcctID, AcctNum, PrimaryActID и т.д.

С транзакциями это может относиться к нескольким идентификаторам/идентификаторам, которые связаны идентификаторами Dest/Sourcepartyid. Также в транзакции есть поле типа «Источник/сторона назначения», где A = Учетные записи, C = Клиенты и некоторые значения NULL.

Я много читал о моделях данных, и рекомендуется таблица ссылок для схемы star или объединения, но я не уверен, как это закодировать, потому что они также основаны на полях типа источника/назначения (Таблица транзакций), где A = Учетные записи и C = Клиенты. Пробовал кодировать, но безуспешно.

Я не уверен, как присоединиться на основе типа источника/типа назначения = Учетные записи или клиенты. Таблица ссылок или ApplyMap() с предложением WHERE?? Любые предложения

Ответ №1:

Надеюсь, ваше знакомство с Qlik по-прежнему будет положительным! Существует множество ресурсов, которые помогут вам развить ваши возможности написания сценариев Qlik, включая:

С точки зрения вашего вопроса об образцах данных. Если вы создаете приложение Qlik Sense, вы можете использовать диспетчер данных Qlik для связывания ваших данных.

Это отлично, потому что он не только попытается проанализировать ваши данные и внести полезные предложения по связыванию полей, но и создаст сценарий, который вы затем сможете просмотреть и использовать в качестве основы для дальнейшего развития вашего собственного понимания.

Глядя на ваши примерные данные, одним из вариантов может быть простое ключевое поле между парой таблиц. Вот один из примеров того, как это может сработать.

Стержень

 [Transactions]:
Load

// User generated fields
AutoNumberHash256 ( [DestPartyID], [SoucePartyID] )     As _keyAccount,

// Fields in source data
[TxnID],
[TxnNum],
[ConductorID],
[SourcePartyType],
[SoucePartyID]                                          As [CustID],
[DestPartyType],
[DestPartyID],
[etc...]

From [lib://AttachedFiles/TablesExamples.xlsx]
(ooxml, embedded labels, table is Transactions);


[Customers]:
Load

// User generated fields

// Fields in source data
[CustID],
[CustFirstName],
[CustLastName]

From [lib://AttachedFiles/TablesExamples.xlsx]
(ooxml, embedded labels, table is Customers);


[Accounts]:
Load

// User generated fields
AutoNumberHash256 ( [AcctID], [PrimaryAcctID] )         As _keyAccount,

// Fields in source data
[AcctID],
[AcctNum],
[PrimaryAcctID],
[AcctName]

From [lib://AttachedFiles/TablesExamples.xlsx]
(ooxml, embedded labels, table is Accounts);