Estou com duas bases que estão buscando dados da API do Runrunit e tudo deu certo na primeira chamada: consegui carregar os dados, fazer alguns gráficos, e as funções de paginação e parâmetros do Web.Contents funcionaram perfeitamente.
Estava tudo funcionando perfeitamente, o problema começou acontecer quando precisei trazer as informações da função fx_tasks_descricoes (destaque na imagem "invocando função personalizada") que são informações adicionais e necessárias para a primeira chamada. Abaixo o print do código.
O problema acredito que seja por conta da paginação da base f_Tarefas_fechadas, visto que só foi configurado lá e imagino que devo fazer também a paginação na função fx_tasks_descricoes, porém é essa a minha dúvida: como fazer uma paginação dentro de uma função. Abaixo o código da função:
Aqui estão os dois códigos:
f_Tarefas_fechadas
let
BlingCall = (pagina as number) =>
let
url = "https://runrun.it/api/v1.0/tasks",
queryParameters = [
page = Text.From(pagina),
is_closed = "true",
project_id = "3157584",
is_assigned = "true"
],
headers = [
#"App-Key" = #"app-key",
#"User-Token" = #"user-token",
#"Content-Type" = "application/json"
],
options = [
Query = queryParameters,
Headers = headers
],
Fonte = Json.Document(Web.Contents(url, options))
in
Fonte,
Source = Table.FromList(List.Generate( () => 1, each _ <= #"paginas-tasks", each _ +1), Splitter.SplitByNothing(), null, null, ExtraValues.Error),
#"Invoked Custom Function" = Table.AddColumn(Source, "Modelo", each BlingCall([Column1])),
#"Modelo Expandido" = Table.ExpandListColumn(#"Invoked Custom Function", "Modelo"),
#"Modelo Expandido1" = Table.ExpandRecordColumn(#"Modelo Expandido", "Modelo", {"id", "title", "is_working_on", "user_id", "type_id", "project_id", "team_id", "board_id", "board_stage_id", "board_stage_position", "subtask_parent_position", "desired_date", "desired_date_with_time", "estimated_start_date", "estimated_delivery_date", "gantt_bar_start_date", "gantt_bar_end_date", "close_date", "was_reopened", "is_closed", "is_assigned", "on_going", "estimate_updated", "estimated_at", "queue_position", "created_at", "start_date", "desired_start_date", "current_estimate_seconds", "current_evaluator_id", "evaluation_status", "attachments_count", "tags_data", "client_name", "client_id", "project_name", "project_group_name", "project_group_id", "project_group_is_default", "project_sub_group_name", "project_sub_group_id", "project_sub_group_is_default", "type_name", "user_name", "board_name", "board_stage_name", "board_stage_description", "team_name", "type_color", "state", "overdue", "time_worked", "time_pending", "time_total", "time_progress", "activities_6_days_ago", "activities_5_days_ago", "activities_4_days_ago", "activities_3_days_ago", "activities_2_days_ago", "activities_1_days_ago", "activities_0_days_ago", "activities", "repetition_rule", "board_remaining_time", "stage_depart_estimated_at", "is_urgent", "points", "reestimate_count", "parent_ids", "opened_parent_ids", "parents_max_desired_date", "child_ids", "workflow_id", "checklist_id", "is_shared", "sharing_details", "subtask_ids", "subtasks_count", "subtasks_closed_count", "subtasks_count_progress", "is_subtask", "parent_task_id", "parent_task_title", "all_subtasks_time_worked", "all_subtasks_times_updating", "all_subtasks_time_total", "all_subtasks_time_progress", "current_level", "priority", "tag_list", "tags", "scheduled_start_time", "is_scheduled", "uid", "responsible_id", "task_state_id", "responsible_name", "task_state_name", "activities_7_days_ago", "repetition_rule_id", "current_worked_time", "estimated_delivery_date_updated", "last_estimated_at", "task_tags", "approved", "task_status_id", "task_status_name", "assignments", "follower_ids"}, {"id", "title", "is_working_on", "user_id", "type_id", "project_id", "team_id", "board_id", "board_stage_id", "board_stage_position", "subtask_parent_position", "desired_date", "desired_date_with_time", "estimated_start_date", "estimated_delivery_date", "gantt_bar_start_date", "gantt_bar_end_date", "close_date", "was_reopened", "is_closed", "is_assigned", "on_going", "estimate_updated", "estimated_at", "queue_position", "created_at", "start_date", "desired_start_date", "current_estimate_seconds", "current_evaluator_id", "evaluation_status", "attachments_count", "tags_data", "client_name", "client_id", "project_name", "project_group_name", "project_group_id", "project_group_is_default", "project_sub_group_name", "project_sub_group_id", "project_sub_group_is_default", "type_name", "user_name", "board_name", "board_stage_name", "board_stage_description", "team_name", "type_color", "state", "overdue", "time_worked", "time_pending", "time_total", "time_progress", "activities_6_days_ago", "activities_5_days_ago", "activities_4_days_ago", "activities_3_days_ago", "activities_2_days_ago", "activities_1_days_ago", "activities_0_days_ago", "activities", "repetition_rule", "board_remaining_time", "stage_depart_estimated_at", "is_urgent", "points", "reestimate_count", "parent_ids", "opened_parent_ids", "parents_max_desired_date", "child_ids", "workflow_id", "checklist_id", "is_shared", "sharing_details", "subtask_ids", "subtasks_count", "subtasks_closed_count", "subtasks_count_progress", "is_subtask", "parent_task_id", "parent_task_title", "all_subtasks_time_worked", "all_subtasks_times_updating", "all_subtasks_time_total", "all_subtasks_time_progress", "current_level", "priority", "tag_list", "tags", "scheduled_start_time", "is_scheduled", "uid", "responsible_id", "task_state_id", "responsible_name", "task_state_name", "activities_7_days_ago", "repetition_rule_id", "current_worked_time", "estimated_delivery_date_updated", "last_estimated_at", "task_tags", "approved", "task_status_id", "task_status_name", "assignments", "follower_ids"}),
#"Outras Colunas Removidas" = Table.SelectColumns(#"Modelo Expandido1",{"id", "title", "project_id", "close_date", "is_closed", "start_date", "created_at", "board_stage_name", "time_total", "responsible_id"}),
#"Colunas Reordenadas" = Table.ReorderColumns(#"Outras Colunas Removidas",{"id", "title", "project_id", "is_closed", "board_stage_name", "time_total", "responsible_id", "created_at", "start_date", "close_date"}),
#"Valor Substituído" = Table.ReplaceValue(#"Colunas Reordenadas","T"," ",Replacer.ReplaceText,{"created_at", "start_date", "close_date"}),
#"Texto Extraído Antes do Delimitador" = Table.TransformColumns(#"Valor Substituído", {{"created_at", each Text.BeforeDelimiter(_, "-03:00"), type text}, {"start_date", each Text.BeforeDelimiter(_, "-03:00"), type text}, {"close_date", each Text.BeforeDelimiter(_, "-03:00"), type text}}),
#"Tipo Alterado1" = Table.TransformColumnTypes(#"Texto Extraído Antes do Delimitador",{{"created_at", type datetime}, {"start_date", type datetime}, {"close_date", type datetime}}),
#"Hora Inserida" = Table.AddColumn(#"Tipo Alterado1", "Hora created", each DateTime.Time([created_at]), type time),
#"Hora Inserida1" = Table.AddColumn(#"Hora Inserida", "Hora Start", each DateTime.Time([start_date]), type time),
#"Hora Inserida2" = Table.AddColumn(#"Hora Inserida1", "Hora Close", each DateTime.Time([close_date]), type time),
#"Subtração da Hora Inserida" = Table.AddColumn(#"Hora Inserida2", "Tempo de Tarefa", each [close_date] - [start_date], type duration),
#"Tipo Alterado" = Table.TransformColumnTypes(#"Subtração da Hora Inserida",{{"created_at", type date}, {"start_date", type date}, {"close_date", type date}, {"id", Int64.Type}, {"title", type text}, {"project_id", Int64.Type}, {"is_closed", type logical}, {"board_stage_name", type text}, {"time_total", Int64.Type}, {"responsible_id", type text}, {"Tempo de Tarefa", Int64.Type}}),
#"Função Personalizada Invocada" = Table.AddColumn(#"Tipo Alterado", "Tasks_description", each fx_tasks_descricoes([id])),
#"Tasks_description Expandido" = Table.ExpandTableColumn(#"Função Personalizada Invocada", "Tasks_description", {"Departamento", "Regional", "Supervisor", "Equipe", "Tipo de atendimento", "Deseja consultar por:", "Informe o número:", "Observações adicionais", "Justificativa", "Quantos serviços você tem disponível ?", "Número da UC"}, {"Departamento", "Regional", "Supervisor", "Equipe", "Tipo de atendimento", "Deseja consultar por:", "Informe o número:", "Observações adicionais", "Justificativa", "Quantos serviços você tem disponível ?", "Número da UC"}),
#"Tipo Alterado2" = Table.Buffer(Table.TransformColumnTypes(#"Tasks_description Expandido",{{"Departamento", type text}, {"Regional", type text}, {"Supervisor", type text}, {"Equipe", type text}, {"Tipo de atendimento", type text}, {"Deseja consultar por:", type text}, {"Informe o número:", type text}, {"Observações adicionais", type text}, {"Justificativa", type text}, {"Quantos serviços você tem disponível ?", type text}, {"Número da UC", type text}}))
in
#"Tipo Alterado2"
Pergunta
FrancoAndre
Olá, Senhores(as)!
Estou com duas bases que estão buscando dados da API do Runrunit e tudo deu certo na primeira chamada: consegui carregar os dados, fazer alguns gráficos, e as funções de paginação e parâmetros do Web.Contents funcionaram perfeitamente.
Estava tudo funcionando perfeitamente, o problema começou acontecer quando precisei trazer as informações da função fx_tasks_descricoes (destaque na imagem "invocando função personalizada") que são informações adicionais e necessárias para a primeira chamada. Abaixo o print do código.
O problema acredito que seja por conta da paginação da base f_Tarefas_fechadas, visto que só foi configurado lá e imagino que devo fazer também a paginação na função fx_tasks_descricoes, porém é essa a minha dúvida: como fazer uma paginação dentro de uma função. Abaixo o código da função:
Aqui estão os dois códigos:
f_Tarefas_fechadas
fx_tasks_descricoes
8 respostass a esta questão
Posts Recomendados
Faça login para comentar
Você vai ser capaz de deixar um comentário após fazer o login
Entrar Agora