Есть два API подключения в QlikSense, назовем их URL1 (данные о задачах) и URL2 (данные о трудозатратах). Есть ограничение на количество выдачи записей о трудозатратах по URL1, не более 20, pagination не распространяется, поэтому придется грузить трудозатраты с 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]);
Привет.
Честно, задачу не совсем понял.
Вот эта часть возможна (в принципе, если нет другого варианта вытягивания данных):
ЦитироватьПри загрузке данных из URL1 скрипт анализировал бы значение поля "total" из раздел [worklog], если оно больше 20, то по ключу из поля [__KEY_fields] брал бы соответствующее ему значение поля [self_u4] из раздела [worklogs] и передавал его в качестве URL2, грузил данные. Далее управление переходило бы назад, на следующую запись из URL1 после "total">20, продолжило грузить и анализировать данные.
Но я бы посмотрел еще и в сторону альтернативных скриптовых инструментов.
@admin Спасибо за ответ. Если вкратце: Jira имеет два api адреса (задачи и трудозатраты), из-за ограничения по выдаче данных о трудозатратах из URL1 придется брать данные из URL2.
Подскажите, пожалуйста, как мне просматривая поле 'total' из раздела [worklog] по ключу [__KEY_fields]
забрать значение поля [self_u4] из раздела [worklogs]?
Последнее на чем остановился:
FOR Each a in FieldValueList('total')
If $(a)>21 then
//FROM "worklog" PK "__KEY_worklog" FK "__FK_worklog";
Set key='[self_u4]';
end if ;
Как можно задействовать сторонний скрипт в QlikSense?