В QlikSense есть два API-интерфейса для подключения, которые называются URL1 (выдача данных) и URL2 (рабочие журналы).Существует ограничение на получение записей рабочих блогов с URL1, только 20 записей, нумерация страниц не распространяется, поэтому вам нужно загружать рабочие журналы с URL2.
Как сделать следующее:
При загрузке данныхиз URL1 скрипт будет анализировать значение поля «total» из раздела [worklog], если оно больше 20, то ключ из поля [__KEY_fields] будет принимать соответствующее значение поля [self_u4] израздел [worklogs] и передать его как URL2, загрузив данные.Затем элемент управления вернется к следующей записи с URL1 после «total»> 20, продолжит загрузку и анализ данных.
RestConnectorMasterTable:
SQL SELECT
"expand" AS "expand_u0",
"startAt" AS "startAt_u0",
"maxResults" AS "maxResults_u0",
"total" AS "total_u0",
"__KEY_root",
(SELECT
"expand",
"id" AS "id_u5",
………………….
(SELECT
"startAt",
"maxResults",
"total",
"__KEY_worklog",
"__FK_worklog",
(SELECT
"self" AS "self_u4",
"comment",
……………………
FROM "worklogs" PK "__KEY_worklogs" FK "__FK_worklogs")
FROM "worklog" PK "__KEY_worklog" FK "__FK_worklog"),
……………….
[issuetype]:
LOAD [self] AS [self],
[id] AS [id],
[description] AS [description],
[iconUrl] AS [iconUrl],
……………………………………
[worklogs]:
LOAD [self_u4] AS [self_u4],
[comment] AS [comment],
…………………
[issueId] AS [issueId],
[__KEY_worklogs] AS [__KEY_worklogs],
[__FK_worklogs] AS [__KEY_worklog]
RESIDENT RestConnectorMasterTable
WHERE NOT IsNull([__FK_worklogs]);
[worklog]:
LOAD [startAt] AS [startAt],
[maxResults] AS [maxResults],
[total] AS [total],
[__KEY_worklog] AS [__KEY_worklog],
[__FK_worklog] AS [__KEY_fields]
RESIDENT RestConnectorMasterTable
WHERE NOT IsNull([__FK_worklog]);