Ir para conteúdo
  • 0

Atualizar Dados Dinâmicos em URLs


wisneranalista

Pergunta

  • Alunos

Alguem ja passou por isso ?

Tenho uma URL que busca o ID de uma movimentação financeira, ajustei a URL conforme o código abaixo paraque   financialEventId seja dinamico buscando de outra tabela.  porem quando tento atualizar no power bi online não carrega, informa que a url e dinamica.

Erro bi online

te conjunto de dados inclui uma fonte de dados dinâmica. Como as fontes de dados dinâmicas não são atualizadas no serviço do Power BI, esse conjunto de dados não será atualizado. Saiba mais: https://aka.ms/dynamic-data-sources.

  • Fonte de dados para Query1
  •  

 

let
    Fonte = (financialEventId as text) => 
        let
            Consulta = 
                try Json.Document(
                    Web.Contents(
                        "https://services.contaazul.com/contaazul-bff/finance/v1/financial-events/" & financialEventId & "/summary",
                        [
                            Headers = 
                            [
                                #"x-Authorization" = Authorization,
                                #"Content-Type" = "application/json"
                            ]
                        ]
                    )
                )
                otherwise null
        in
            Consulta,

    // Referência à tabela f_extrato_movimento
    TabelaExtratoMovimento = f_extrato_movimento,

    // Adicionar coluna "Consulta" com os resultados da função personalizada
    Resultado = Table.AddColumn(TabelaExtratoMovimento, "Consulta", each Fonte([financialEventId])),

    // Filtrar os valores bem-sucedidos (diferentes de null)
    ConsultasBemSucedidas = Table.SelectRows(Resultado, each [Consulta] <> null),

    // Expandir a coluna "Consulta" para trazer apenas o campo "categoriesRatio"
    ConsultasExpandidas = Table.ExpandRecordColumn(ConsultasBemSucedidas, "Consulta", {"categoriesRatio"}, {"categoriesRatio"}),
    #"Outras Colunas Removidas" = Table.SelectColumns(ConsultasExpandidas,{"description", "status", "id", "negotiator", "financialEventId", "categoriesRatio"}),
    #"categoriesRatio Expandido" = Table.ExpandListColumn(#"Outras Colunas Removidas", "categoriesRatio"),
    #"categoriesRatio Expandido1" = Table.ExpandRecordColumn(#"categoriesRatio Expandido", "categoriesRatio", {"costCentersRatio", "category"}, {"costCentersRatio", "category"}),
    #"costCentersRatio Expandido" = Table.ExpandListColumn(#"categoriesRatio Expandido1", "costCentersRatio"),
    #"costCentersRatio Expandido1" = Table.ExpandRecordColumn(#"costCentersRatio Expandido", "costCentersRatio", {"costCenterId", "costCenter", "value"}, {"costCenterId", "costCenter", "value"}),
    #"Tipo Alterado" = Table.TransformColumnTypes(#"costCentersRatio Expandido1",{{"value", Currency.Type}}),
    #"negotiator Expandido" = Table.ExpandRecordColumn(#"Tipo Alterado", "negotiator", {"name"}, {"negotiator.name"})
in
    #"negotiator Expandido"

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0
  • Alunos

Olá @wisneranalista tudo bem? 😃

Esperamos que você tenha encontrado a solução que tanto desejava!!

Caso alguma resposta tenha ajudado, você pode marcá-la como Solução . Com isso o tópico poderá ser fechado! 

Maas...

Pode acontecer de você receber uma resposta que não é 100% do que você esperava. Mesmo assim, se ela o ajudou de alguma forma para que você mesmo conseguisse chegar à solução, conte como você fez isso e marque como a melhor resposta. 😉

 

Obrigado por tonar nossa comunidade #INCOMPARÁVEL!!

Att Julian Salcedo I Community Manager Xperiun

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos

Suave @wisneranalista?

É bem isso que o @edmar falou mesmo. Só para completar a resposta, tua função ficaria algo assim:

Citar

    Fonte = (financialEventId as text) => 
        let
            Consulta = 
                try Json.Document(
                    Web.Contents(
                        "https://services.contaazul.com/contaazul-bff/finance/v1/financial-events",
                        [
                            RelativePath = financialEventId & "/summary",
                            Headers = 
                            [
                                #"x-Authorization" = Authorization,
                                #"Content-Type" = "application/json"
                            ]
                        ]
                    )
                )
                otherwise null
        in
            Consulta

Abs!

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos

Galera estou com a mesma dúvida e não consigo evoluir!  Alguem que possa ajudar! 

image.png.8668bea2d9d8c1f01c1f1051e5fdff79.png

 

let
    GetPageData = (offset as number) as table =>
        let
            // Fazendo a requisição para a API
            Source = Function.InvokeAfter(()=>Json.Document(Web.Contents("https://app.simplificagestao.com.br/simplifica/api/bi/v2/venda/ZDUTWQ5V8F?offset=" & Text.From(offset))), #duration(0,0,0,2)),
            // Pegando os itens da página atual
            itemsTable = Table.FromList(Source[items], Splitter.SplitByNothing()),
            // Verificando se há um link "next" e obtendo o próximo offset
            nextLink = List.Select(Source[links], each [rel] = "next"),
            nextOffset = if List.IsEmpty(nextLink) then null else Number.From(Text.AfterDelimiter(nextLink{0}[href], "offset=")),
            // Se houver um próximo offset, chamando a função recursivamente
            nextTable = if nextOffset <> null then @GetPageData(nextOffset) else null,
            // Combinando os dados da página atual com os dados das páginas seguintes
            combinedTable = if nextTable <> null then Table.Combine({itemsTable, nextTable}) else itemsTable
        in
            combinedTable,
    
    // Chamando a função com o offset inicial de 0
    Result = GetPageData(0),
    #"Column1 Expandido" = Table.ExpandRecordColumn(Result, "Column1", {"id_venda", "dt_venda", "dt_previsao_entrega", "dt_entrega", "id_cliente", "situacao_texto", "nm_cliente", "vl_protudos", "vl_acrescimo", "vl_desconto", "vl_frete", "vl_total", "ds_observacao", "ds_observacao_interna", "cd_responsavel_venda", "ds_link_avatar", "ic_origem_orcamento", "id_orcamento", "ic_origem_consulta", "id_consulta", "nm_profissional", "id_profissional", "endereco", "id_origem_venda", "nm_origem_venda", "cd_finalizado_por", "dt_finalizado", "ic_bonificacao", "ic_pendente", "dt_confirmacao", "cd_usuario_confirmacao", "ic_conferido", "dt_conferido", "cd_usuario_conferido"}, {"Column1.id_venda", "Column1.dt_venda", "Column1.dt_previsao_entrega", "Column1.dt_entrega", "Column1.id_cliente", "Column1.situacao_texto", "Column1.nm_cliente", "Column1.vl_protudos", "Column1.vl_acrescimo", "Column1.vl_desconto", "Column1.vl_frete", "Column1.vl_total", "Column1.ds_observacao", "Column1.ds_observacao_interna", "Column1.cd_responsavel_venda", "Column1.ds_link_avatar", "Column1.ic_origem_orcamento", "Column1.id_orcamento", "Column1.ic_origem_consulta", "Column1.id_consulta", "Column1.nm_profissional", "Column1.id_profissional", "Column1.endereco", "Column1.id_origem_venda", "Column1.nm_origem_venda", "Column1.cd_finalizado_por", "Column1.dt_finalizado", "Column1.ic_bonificacao", "Column1.ic_pendente", "Column1.dt_confirmacao", "Column1.cd_usuario_confirmacao", "Column1.ic_conferido", "Column1.dt_conferido", "Column1.cd_usuario_conferido"}),
    #"Tipo Alterado" = Table.TransformColumnTypes(#"Column1 Expandido",{{"Column1.id_venda", Int64.Type}, {"Column1.dt_venda", type date}, {"Column1.dt_previsao_entrega", type any}, {"Column1.dt_entrega", type date}, {"Column1.id_cliente", Int64.Type}, {"Column1.situacao_texto", type text}, {"Column1.nm_cliente", type text}, {"Column1.vl_protudos", type number}, {"Column1.vl_acrescimo", Int64.Type}, {"Column1.vl_desconto", Int64.Type}, {"Column1.vl_frete", Int64.Type}, {"Column1.vl_total", type number}, {"Column1.ds_observacao", type text}, {"Column1.ds_observacao_interna", type text}, {"Column1.cd_responsavel_venda", type text}, {"Column1.ds_link_avatar", type text}, {"Column1.ic_origem_orcamento", type text}, {"Column1.id_orcamento", Int64.Type}, {"Column1.ic_origem_consulta", type text}, {"Column1.id_consulta", type any}, {"Column1.nm_profissional", type any}, {"Column1.id_profissional", type any}, {"Column1.endereco", type text}, {"Column1.id_origem_venda", type any}, {"Column1.nm_origem_venda", type any}, {"Column1.cd_finalizado_por", type text}, {"Column1.dt_finalizado", type date}, {"Column1.ic_bonificacao", type text}, {"Column1.ic_pendente", type text}, {"Column1.dt_confirmacao", type any}, {"Column1.cd_usuario_confirmacao", type any}, {"Column1.ic_conferido", type text}, {"Column1.dt_conferido", type any}, {"Column1.cd_usuario_conferido", type any}}),
    #"Duplicatas Removidas" = Table.Distinct(#"Tipo Alterado", {"Column1.id_venda"}),
    #"Linhas Filtradas" = Table.SelectRows(#"Duplicatas Removidas", each ([Column1.ic_bonificacao] = "N")),
    #"Tipo Alterado1" = Table.TransformColumnTypes(#"Linhas Filtradas",{{"Column1.dt_venda", type datetime}}),
    #"Linhas Filtradas1" = Table.SelectRows(#"Tipo Alterado1", each [Column1.dt_venda] >= RangeStart and [Column1.dt_venda] < RangeEnd)
in
    #"Linhas Filtradas1"

 

 

Link para o comentário
Compartilhar em outros sites

Faça login para comentar

Você vai ser capaz de deixar um comentário após fazer o login



Entrar Agora
×
×
  • Criar Novo...