Alunos Thiago Lima Postado Abril 6 Alunos Compartilhar Postado Abril 6 Olá! Pessoal fiz toda a configuração da chamada via api no meu bi com atualização incremental, porém quando publico aparece o seguinte erro da imagem abaixo. Alguém consegue me ajudar por favor. Deixo em anexo o arquivo .pbix Já me baseei nesse video do Leo https://www.youtube.com/watch?v=2JzCPr5sUNE , porém o exemplo de API que ele usa é diferente. power20bi20api (1).pbix Link para o comentário Compartilhar em outros sites More sharing options...
0 Alunos Maikon Miekzikowski Postado Abril 11 Alunos Compartilhar Postado Abril 11 Boa tarde, Thiago, o que está faltando é você configurar o nível de privacidade no Power BI serviço. No inicio o nível de privacidade do Power BI era feito apenas no Power BI desktop, porém agora é necessário fazer a configuração no Power BI serviço também. Siga o passo a passo abaixo: Acesse app.powerbi.com e selecione seu espaço de trabalho. Selecione Conjuntos de dados + fluxos de dados. Selecione Configurações no conjunto de dados. Selecione Credenciais da fonte de dados. Selecione Editar credenciais, defina o nível de privacidade para a as fontes de dados e selecione Entrar para cada fonte de dados. Se esta resposta de ajudou não esqueça de marcar como concluída. Link para o comentário Compartilhar em outros sites More sharing options...
0 Alunos Thiago Lima Postado Abril 12 Autor Alunos Compartilhar Postado Abril 12 Boa tarde Maikon Miekzikowski. Já fiz esses passos, atualiza normal no desktop, porém no Service não. Link para o comentário Compartilhar em outros sites More sharing options...
0 Alunos Joao Raulino Postado Abril 12 Alunos Compartilhar Postado Abril 12 Suave @Thiago Lima? Se os níveis de privacidade estão corretamente configurados, então o problema certamente está na construção da tua função funcPedidos. Recomendo dar uma olhada no site abaixo para entender o que está causando isso, e especialmente nos comentários mais recentes que falam exatamente do teu tipo de caso (i.e.: atualização de uma fonte Web): https://excelguru.ca/power-query-errors-please-rebuild-this-data-combination/ Abs! Link para o comentário Compartilhar em outros sites More sharing options...
0 Alunos Alex Pereira Postado Abril 16 Alunos Compartilhar Postado Abril 16 Você chegou a fazer o teste da chamada da api no online sem atualização incremental talvez ela possa estar dando problema. Dê uma olhada neste vídeo Link para o comentário Compartilhar em outros sites More sharing options...
0 Alunos Thiago Lima Postado Abril 16 Autor Alunos Compartilhar Postado Abril 16 4 horas atrás, Alex Pereira disse: Você chegou a fazer o teste da chamada da api no online sem atualização incremental talvez ela possa estar dando problema. Dê uma olhada neste vídeo Boa tarde Alex, tudo bem? Já fiz esse teste, só atualiza sem ser no online. Esse vídeo é o que eu cito, já assiste porém ele utiliza um modelo de exemplo diferente. Link para o comentário Compartilhar em outros sites More sharing options...
0 Alunos Alex Pereira Postado Abril 16 Alunos Compartilhar Postado Abril 16 Quanto tempo de atualização de dados você colocou na sua incremental que quer armazenar? Por exemplo supondo você colocou dois anos, já tentou chamar 2 anos no seu local para ver se funciona? Link para o comentário Compartilhar em outros sites More sharing options...
0 Alunos Thiago Lima Postado Abril 16 Autor Alunos Compartilhar Postado Abril 16 Para teste to fazendo com apenas 1 mês e assim que der certo, aplicar para um periodo maior. Estou tão perto da solução mas não sei o que falta. No local funciona perfeito. Link para o comentário Compartilhar em outros sites More sharing options...
0 Alunos Alex Pereira Postado Abril 16 Alunos Compartilhar Postado Abril 16 Acho que erro está aqui: Olhando meio pela lógica aqui não deveria ser Range Start e Range End? Link para o comentário Compartilhar em outros sites More sharing options...
0 Alunos Thiago Lima Postado Abril 16 Autor Alunos Compartilhar Postado Abril 16 22 minutos atrás, Alex Pereira disse: Acho que erro está aqui: Olhando meio pela lógica aqui não deveria ser Range Start e Range End? Tentei nesse formato, da o seguinte erro: Link para o comentário Compartilhar em outros sites More sharing options...
0 Alunos Alex Pereira Postado Abril 16 Alunos Compartilhar Postado Abril 16 Aqui ta errado tbm tem que ser >= e menor < Link para o comentário Compartilhar em outros sites More sharing options...
0 Alunos Alex Pereira Postado Abril 16 Alunos Compartilhar Postado Abril 16 Experimente usar esse codigo: let DataInicio = DateTime.Date(RangeStart), // Corrigido: use aspas duplas para definir o valor da data DataFim = DateTime.Date(RangeEnd), // Corrigido: use aspas duplas para definir o valor da data QtdDias = Duration.Days(Duration.From(DataFim - DataInicio)) + 1, ListaDatas = List.Dates(DataInicio, (QtdDias), #duration(1, 0, 0, 0)), TransformarTabela = Table.TransformColumnTypes( Table.FromList(ListaDatas, Splitter.SplitByNothing(), {"Data"}, null, ExtraValues.Error), {{"Data", type datetime}} ), AtualizacaoIncremental = Table.SelectRows(TransformarTabela, each [Data] >= RangeStart and [Data] < RangeEnd), #"Função Personalizada Invocada" = Table.AddColumn(AtualizacaoIncremental, "funcPedidos", each funcPedidos([Data])), #"funcPedidos Expandido" = Table.ExpandRecordColumn(#"Função Personalizada Invocada", "funcPedidos", {"obj"}, {"funcPedidos.obj"}), #"funcPedidos.obj Expandido" = Table.ExpandListColumn(#"funcPedidos Expandido", "funcPedidos.obj"), #"funcPedidos.obj Expandido1" = Table.ExpandRecordColumn(#"funcPedidos.obj Expandido", "funcPedidos.obj", {"id"}, {"funcPedidos.obj.id"}), #"Tipo Alterado" = Table.TransformColumnTypes(#"funcPedidos.obj Expandido1",{{"funcPedidos.obj.id", type text}}), #"Função Personalizada Invocada1" = Table.AddColumn(#"Tipo Alterado", "funcPedidosID", each funcPedidosID([funcPedidos.obj.id])), #"funcPedidosID Expandido" = Table.ExpandRecordColumn(#"Função Personalizada Invocada1", "funcPedidosID", {"httpStatusCode", "msg", "obj"}, {"funcPedidosID.httpStatusCode", "funcPedidosID.msg", "funcPedidosID.obj"}), #"funcPedidosID.obj Expandido" = Table.ExpandRecordColumn(#"funcPedidosID Expandido", "funcPedidosID.obj", {"approved", "items"}, {"funcPedidosID.obj.approved", "funcPedidosID.obj.items"}), #"funcPedidosID.obj.items Expandido" = Table.ExpandListColumn(#"funcPedidosID.obj Expandido", "funcPedidosID.obj.items"), #"funcPedidosID.obj.items Expandido1" = Table.ExpandRecordColumn(#"funcPedidosID.obj.items Expandido", "funcPedidosID.obj.items", {"title", "sku", "totalPrice"}, {"funcPedidosID.obj.items.title", "funcPedidosID.obj.items.sku", "funcPedidosID.obj.items.totalPrice"}), #"Tipo Alterado1" = Table.TransformColumnTypes(#"funcPedidosID.obj.items Expandido1",{{"funcPedidosID.obj.approved", type datetime}}), #"Colunas Removidas1" = Table.RemoveColumns(#"Tipo Alterado1",{"funcPedidosID.obj.items.totalPrice", "funcPedidosID.httpStatusCode", "funcPedidosID.msg"}), #"Colunas Renomeadas" = Table.RenameColumns(#"Colunas Removidas1",{{"funcPedidosID.obj.approved", "data"}}) in #"Colunas Renomeadas" Link para o comentário Compartilhar em outros sites More sharing options...
0 Alunos Thiago Lima Postado Abril 16 Autor Alunos Compartilhar Postado Abril 16 17 minutos atrás, Alex Pereira disse: Experimente usar esse codigo: let DataInicio = DateTime.Date(RangeStart), // Corrigido: use aspas duplas para definir o valor da data DataFim = DateTime.Date(RangeEnd), // Corrigido: use aspas duplas para definir o valor da data QtdDias = Duration.Days(Duration.From(DataFim - DataInicio)) + 1, ListaDatas = List.Dates(DataInicio, (QtdDias), #duration(1, 0, 0, 0)), TransformarTabela = Table.TransformColumnTypes( Table.FromList(ListaDatas, Splitter.SplitByNothing(), {"Data"}, null, ExtraValues.Error), {{"Data", type datetime}} ), AtualizacaoIncremental = Table.SelectRows(TransformarTabela, each [Data] >= RangeStart and [Data] < RangeEnd), #"Função Personalizada Invocada" = Table.AddColumn(AtualizacaoIncremental, "funcPedidos", each funcPedidos([Data])), #"funcPedidos Expandido" = Table.ExpandRecordColumn(#"Função Personalizada Invocada", "funcPedidos", {"obj"}, {"funcPedidos.obj"}), #"funcPedidos.obj Expandido" = Table.ExpandListColumn(#"funcPedidos Expandido", "funcPedidos.obj"), #"funcPedidos.obj Expandido1" = Table.ExpandRecordColumn(#"funcPedidos.obj Expandido", "funcPedidos.obj", {"id"}, {"funcPedidos.obj.id"}), #"Tipo Alterado" = Table.TransformColumnTypes(#"funcPedidos.obj Expandido1",{{"funcPedidos.obj.id", type text}}), #"Função Personalizada Invocada1" = Table.AddColumn(#"Tipo Alterado", "funcPedidosID", each funcPedidosID([funcPedidos.obj.id])), #"funcPedidosID Expandido" = Table.ExpandRecordColumn(#"Função Personalizada Invocada1", "funcPedidosID", {"httpStatusCode", "msg", "obj"}, {"funcPedidosID.httpStatusCode", "funcPedidosID.msg", "funcPedidosID.obj"}), #"funcPedidosID.obj Expandido" = Table.ExpandRecordColumn(#"funcPedidosID Expandido", "funcPedidosID.obj", {"approved", "items"}, {"funcPedidosID.obj.approved", "funcPedidosID.obj.items"}), #"funcPedidosID.obj.items Expandido" = Table.ExpandListColumn(#"funcPedidosID.obj Expandido", "funcPedidosID.obj.items"), #"funcPedidosID.obj.items Expandido1" = Table.ExpandRecordColumn(#"funcPedidosID.obj.items Expandido", "funcPedidosID.obj.items", {"title", "sku", "totalPrice"}, {"funcPedidosID.obj.items.title", "funcPedidosID.obj.items.sku", "funcPedidosID.obj.items.totalPrice"}), #"Tipo Alterado1" = Table.TransformColumnTypes(#"funcPedidosID.obj.items Expandido1",{{"funcPedidosID.obj.approved", type datetime}}), #"Colunas Removidas1" = Table.RemoveColumns(#"Tipo Alterado1",{"funcPedidosID.obj.items.totalPrice", "funcPedidosID.httpStatusCode", "funcPedidosID.msg"}), #"Colunas Renomeadas" = Table.RenameColumns(#"Colunas Removidas1",{{"funcPedidosID.obj.approved", "data"}}) in #"Colunas Renomeadas" Testei esse codigo e continua nesse erro OLE DB ou do ODBC. Link para o comentário Compartilhar em outros sites More sharing options...
0 Alunos Thiago Lima Postado Abril 16 Autor Alunos Compartilhar Postado Abril 16 19 minutos atrás, Alex Pereira disse: Experimente usar esse codigo: let DataInicio = DateTime.Date(RangeStart), // Corrigido: use aspas duplas para definir o valor da data DataFim = DateTime.Date(RangeEnd), // Corrigido: use aspas duplas para definir o valor da data QtdDias = Duration.Days(Duration.From(DataFim - DataInicio)) + 1, ListaDatas = List.Dates(DataInicio, (QtdDias), #duration(1, 0, 0, 0)), TransformarTabela = Table.TransformColumnTypes( Table.FromList(ListaDatas, Splitter.SplitByNothing(), {"Data"}, null, ExtraValues.Error), {{"Data", type datetime}} ), AtualizacaoIncremental = Table.SelectRows(TransformarTabela, each [Data] >= RangeStart and [Data] < RangeEnd), #"Função Personalizada Invocada" = Table.AddColumn(AtualizacaoIncremental, "funcPedidos", each funcPedidos([Data])), #"funcPedidos Expandido" = Table.ExpandRecordColumn(#"Função Personalizada Invocada", "funcPedidos", {"obj"}, {"funcPedidos.obj"}), #"funcPedidos.obj Expandido" = Table.ExpandListColumn(#"funcPedidos Expandido", "funcPedidos.obj"), #"funcPedidos.obj Expandido1" = Table.ExpandRecordColumn(#"funcPedidos.obj Expandido", "funcPedidos.obj", {"id"}, {"funcPedidos.obj.id"}), #"Tipo Alterado" = Table.TransformColumnTypes(#"funcPedidos.obj Expandido1",{{"funcPedidos.obj.id", type text}}), #"Função Personalizada Invocada1" = Table.AddColumn(#"Tipo Alterado", "funcPedidosID", each funcPedidosID([funcPedidos.obj.id])), #"funcPedidosID Expandido" = Table.ExpandRecordColumn(#"Função Personalizada Invocada1", "funcPedidosID", {"httpStatusCode", "msg", "obj"}, {"funcPedidosID.httpStatusCode", "funcPedidosID.msg", "funcPedidosID.obj"}), #"funcPedidosID.obj Expandido" = Table.ExpandRecordColumn(#"funcPedidosID Expandido", "funcPedidosID.obj", {"approved", "items"}, {"funcPedidosID.obj.approved", "funcPedidosID.obj.items"}), #"funcPedidosID.obj.items Expandido" = Table.ExpandListColumn(#"funcPedidosID.obj Expandido", "funcPedidosID.obj.items"), #"funcPedidosID.obj.items Expandido1" = Table.ExpandRecordColumn(#"funcPedidosID.obj.items Expandido", "funcPedidosID.obj.items", {"title", "sku", "totalPrice"}, {"funcPedidosID.obj.items.title", "funcPedidosID.obj.items.sku", "funcPedidosID.obj.items.totalPrice"}), #"Tipo Alterado1" = Table.TransformColumnTypes(#"funcPedidosID.obj.items Expandido1",{{"funcPedidosID.obj.approved", type datetime}}), #"Colunas Removidas1" = Table.RemoveColumns(#"Tipo Alterado1",{"funcPedidosID.obj.items.totalPrice", "funcPedidosID.httpStatusCode", "funcPedidosID.msg"}), #"Colunas Renomeadas" = Table.RenameColumns(#"Colunas Removidas1",{{"funcPedidosID.obj.approved", "data"}}) in #"Colunas Renomeadas" Eu fiz um segundo codigo aqui funcionou, até no service rodou, porém não consigo encaixar a atualização incremental. Da uma olhada nele, deixei no anexo @Alex Pereira BI MODELO 2 API.pbix Link para o comentário Compartilhar em outros sites More sharing options...
0 Alunos Alex Pereira Postado Abril 17 Alunos Compartilhar Postado Abril 17 Você tem que colocar aqui no get dos pedidos tbm: Transformar seu RangeStart nesse tipo de data e seu RangeEnd nesse formato de data. Link para o comentário Compartilhar em outros sites More sharing options...
0 Alunos Thiago Lima Postado Abril 17 Autor Alunos Compartilhar Postado Abril 17 1 hora atrás, Alex Pereira disse: Você tem que colocar aqui no get dos pedidos tbm: Transformar seu RangeStart nesse tipo de data e seu RangeEnd nesse formato de data. A api não aceita data e hora como no rangestart e rangeend, somente data mesmo, se não daria pra colocar conforme vc explicou Link para o comentário Compartilhar em outros sites More sharing options...
0 Alunos Alex Pereira Postado Abril 17 Alunos Compartilhar Postado Abril 17 Converte então DataInicio = DateTime.ToText(RangeStart, "yyyy-MM-dd"), // Corrigido: use aspas duplas para definir o valor da data DataFim = DateTime.ToText(RangeEnd, "yyyy-MM-dd"), // Corrigido: use aspas duplas para definir o valor da data Link para o comentário Compartilhar em outros sites More sharing options...
0 Alunos Thiago Lima Postado Abril 17 Autor Alunos Compartilhar Postado Abril 17 2 horas atrás, Alex Pereira disse: Converte então DataInicio = DateTime.ToText(RangeStart, "yyyy-MM-dd"), // Corrigido: use aspas duplas para definir o valor da data DataFim = DateTime.ToText(RangeEnd, "yyyy-MM-dd"), // Corrigido: use aspas duplas para definir o valor da data Fiz isso, mas caio no mesmo gargalo inicial de nao entrar a atualização incremental. Link para o comentário Compartilhar em outros sites More sharing options...
0 Alunos Alex Pereira Postado Abril 19 Alunos Compartilhar Postado Abril 19 Bom dia você teria link da documentação dessa api para que eu possa olhar mais atentamente? Link para o comentário Compartilhar em outros sites More sharing options...
0 Alunos Thiago Lima Postado Abril 19 Autor Alunos Compartilhar Postado Abril 19 Bom dia, segue abaixo 👇 https://documenter.getpostman.com/view/4554319/S1a63SJM Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Thiago Lima
Olá!
Pessoal fiz toda a configuração da chamada via api no meu bi com atualização incremental, porém quando publico aparece o seguinte erro da imagem abaixo. Alguém consegue me ajudar por favor.
Deixo em anexo o arquivo .pbix
Já me baseei nesse video do Leo https://www.youtube.com/watch?v=2JzCPr5sUNE , porém o exemplo de API que ele usa é diferente.
power20bi20api (1).pbix
Link para o comentário
Compartilhar em outros sites
19 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