Может кто-нибудь помочь мне преобразовать этот код ниже в виде функций, чтобы код можно было легко использовать повторно вместо жесткого кодирования URL-адресов, чтобы избежать ошибки для источника данных, который присутствует в текущем коде? Это относится к исправлению на странице Как обновить отчет sh, который использует пользовательские функции в Power BI Service? * Страница 1002 *, которая при попытке работает, но имеет много повторяющегося кода?
BaseUrl = "https://jira.domain.com/rest/api/2/search?jql=project in ('ABC','DEF') AND issuetype = Bug AND createdDate >= startOfMonth(-12)",
SubUrl = BaseUrl & " &expand=projects.issuetypes.fields,version&fields=key,priority,status,created,labels,project,components,versions,fixVersions,affectedVersion,resolution,customfield_45132,customfield_11760,customfield_10937,customfield_13320,customfield_68920,customfield_25833,customfield_47426,reporter,resolutiondate,created,assignee",
JiraIDPerPage = 1000,
GetJson = (Url) =>
let
RawData = Web.Contents(Url),
Json = Json.Document(RawData)
in Json,
GetJiraIDCount = () =>
let Url = BaseUrl & "&maxResults=0",
Json = GetJson(Url),
Count = Json[#"total"]
in Count,
GetPage = (Index) =>
let Skip = "&startAt=" & Text.From(Index * JiraIDPerPage),
Top = "&maxResults=" & Text.From(JiraIDPerPage),
Url = SubUrl & Skip & Top,
Json = GetJson(Url),
Value = Json[#"issues"]
in Value,
JiraIDCount = List.Max({ JiraIDPerPage, GetJiraIDCount() }),
PageCount = Number.RoundUp(JiraIDCount / JiraIDPerPage),
PageIndices = { 0 .. PageCount - 1 },
Pages = List.Transform(PageIndices, each GetPage(_)),
JiraID = List.Union(Pages),
Table = Table.FromList(JiraID, Splitter.SplitByNothing(), null, null, ExtraValues.Error),
#"Expanded Column1" = Table.ExpandRecordColumn(#"Table", "Column1", {"expand", "id", "self", "key", "fields"}, {"Column1.expand", "Column1.id", "Column1.self", "Column1.key", "Column1.fields"}) in
#"Expanded Column1"