Solved

 Importar base de dados do Pipefy para Power BI/SQL Server

  • 18 September 2020
  • 7 replies
  • 1075 views

Userlevel 5

 

Gostaria de saber se é possível importar a base de dados do Pipefy para o Power BI ou SQL Server com dados sendo enviados em tempo real.

Mais ou menos como esse post aqui explica: https://gist.github.com/petrsvihlik/cc34a6cf1882d515139c5b27f37cf99e

icon

Best answer by murilova 10 February 2022, 15:03

View original

7 replies

Userlevel 7
Badge +10

Bom dia @Paulo Ribas, tudo bem com você?

Não temos uma funcionalidade nativa para essa exportação. Você pode criar esta integração através da nossa API. Temos relatos de clientes que desenvolveram conectores diretamente com o Power BI. 
 

A Microsoft está analisando o nosso pedido de integração oficial e estamos em processo de liberação, porém, infelizmente, ainda não temos uma resposta definitiva sobre quando estará disponível pois dependemos de um posicionamento da Microsoft. :blush:  

Caso tenha qualquer outra dúvida, basta chamar. Tenha um excelente dia! 

Userlevel 1

Bom dia @Paulo Ribas, tudo bem com você?

Não temos uma funcionalidade nativa para essa exportação. Você pode criar esta integração através da nossa API. Temos relatos de clientes que desenvolveram conectores diretamente com o Power BI. 
 

A Microsoft está analisando o nosso pedido de integração oficial e estamos em processo de liberação, porém, infelizmente, ainda não temos uma resposta definitiva sobre quando estará disponível pois dependemos de um posicionamento da Microsoft. :blush:  

Caso tenha qualquer outra dúvida, basta chamar. Tenha um excelente dia! 

Olá @Nicole Chiroli

   Como vai ? tudo bem ? Sou novo no fórum, estou trabalhando em uma integração entre Pepify e PowerBI, sabe me informar se hoje já existe alguma solução para essa integração. 

 

Obrigado pela atenção,

Diego Silva

Userlevel 4

Olá @diego.silva,

 

Ainda não obtivemos resposta da Microsoft quanto a nossa solicitação.

Mas conforme conversamos, pode ser desenvolvida através da nossa API.

Userlevel 7
Badge +15

@Paulo Ribas eu consegui extrair os dados através do Lambda da AWS e exportar os dados para o Power BI Online. 

Se ainda estiver precisando de ajuda, pode me chamar.

Userlevel 3

  Bom dia a todos,

Nosso colaborador Pedro Kronberg aqui da Market4u.com.br conseguiu escrever um script para importar os cards. Basta fazer uma Consulta Nula no Power Query e depois colar o codigo abaixo no editor avançado. As duas primeiras linhas são onde deve informar sua chave da API e o pipe a puxar.
 

let
TOKENAUTH = "Bearer xxxxxxxx", // Inserir sua Chave da API
PipeAnalisado = "xxxxxxxxxx", // Usar os numeros que seguem depois da URL: https://app.pipefy.com/pipes/______

GeradorDeCards =
(TOKENAUTH as text, PRIMEIROCARD as text) =>
let
query = "{""query"" : ""{ cards(pipe_id: "&PipeAnalisado&" "& PRIMEIROCARD &") { pageInfo { startCursor endCursor hasNextPage hasPreviousPage } edges { node { id title creatorEmail created_at finished_at updated_at due_date comments { text created_at } assignees { id name } labels { id name } created_by { id name } parent_relations { cards { id }} current_phase { id name } phases_history { phase { id name sequentialId } firstTimeIn lastTimeIn lastTimeOut duration } pipe { id name } fields { name report_value updated_at } } } } }""}",
authURL = "https://app.pipefy.com/graphql",
getToken = Web.Contents(
authURL,
[
Headers=[
#"Method" = "POST",
#"Accept" = "application/json",
#"Authorization" =TOKENAUTH ,
#"Content-Type" = "application/json; charset=utf-8"
],
Content=Text.ToBinary(query)
]
),
pipefyResponse = Json.Document(getToken),
data = pipefyResponse[data],
cards = data[cards],
edges = cards[edges]
in
edges,

GeradorDePaginas =
(TOKENAUTH as text, PrimeiroCard as text) => let
query = "{""query"" : ""{ cards(pipe_id: "&PipeAnalisado&" "& PrimeiroCard &") { pageInfo { startCursor endCursor hasNextPage hasPreviousPage } edges { node { id title creatorEmail created_at finished_at updated_at due_date comments { text created_at } assignees { id name } labels { id name } created_by { id name } current_phase { id name } phases_history { phase { id name sequentialId } firstTimeIn lastTimeIn lastTimeOut duration } pipe { id name } fields { indexName report_value name updated_at } } } } }""}",
authURL = "https://app.pipefy.com/graphql",
getToken = Json.Document(Web.Contents(authURL, [Headers=[Method="POST", Accept="application/json", Authorization=TOKENAUTH, #"Content-Type"="application/json; charset=utf-8"], Content=Text.ToBinary(query)])),
data = getToken[data],
cards = data[cards],
#"Convertido para Tabela" = Record.ToTable(cards),
Value = #"Convertido para Tabela"{0}[Value],
#"Convertido para Tabela1" = Record.ToTable(Value),
Nextpage = #"Convertido para Tabela1"{2}[Value],
STARTFROM = #"Convertido para Tabela1"{1}[Value],
res = [maispagina = Nextpage, cursorstart = STARTFROM]
in
res,

Fonte = List.Generate(
() =>
[Consulta = GeradorDePaginas(TOKENAUTH, ""), PG = 1, newstart = "", TOKENAUTH = TOKENAUTH],
each [newstart] <> null,
each [PG = [PG]+1, newstart = ("after: \#(0022)"& [Consulta][cursorstart] &"\#(0022)"), Consulta = GeradorDePaginas(TOKENAUTH, newstart), TOKENAUTH = [TOKENAUTH] ],
each [[TOKENAUTH], [PG], [newstart]]
),
#"Convertido para Tabela" = Table.FromList(Fonte, Splitter.SplitByNothing(), null, null, ExtraValues.Error),
#"Column1 Expandido" = Table.ExpandRecordColumn(#"Convertido para Tabela", "Column1", {"TOKENAUTH", "PG", "newstart"}, {"Column1.TOKENAUTH", "Column1.PG", "Column1.newstart"}),
#"Função Personalizada Invocada" = Table.AddColumn(#"Column1 Expandido", "GeradorDeCards", each GeradorDeCards([Column1.TOKENAUTH], [Column1.newstart])),
#"GeradorDeCards Expandido" = Table.ExpandListColumn(#"Função Personalizada Invocada", "GeradorDeCards"),
#"GeradorDeCards Expandido1" = Table.ExpandRecordColumn(#"GeradorDeCards Expandido", "GeradorDeCards", {"node"}, {"GeradorDeCards.node"}),
#"GeradorDeCards.node Expandido" = Table.ExpandRecordColumn(#"GeradorDeCards Expandido1", "GeradorDeCards.node", {"id", "title", "creatorEmail", "created_at", "finished_at", "updated_at", "due_date", "comments", "assignees", "labels", "created_by", "current_phase", "phases_history", "pipe", "fields"}, {"GeradorDeCards.node.id", "GeradorDeCards.node.title", "GeradorDeCards.node.creatorEmail", "GeradorDeCards.node.created_at", "GeradorDeCards.node.finished_at", "GeradorDeCards.node.updated_at", "GeradorDeCards.node.due_date", "GeradorDeCards.node.comments", "GeradorDeCards.node.assignees", "GeradorDeCards.node.labels", "GeradorDeCards.node.created_by", "GeradorDeCards.node.current_phase", "GeradorDeCards.node.phases_history", "GeradorDeCards.node.pipe", "GeradorDeCards.node.fields"}),
#"Linhas Filtradas" = Table.SelectRows(#"GeradorDeCards.node Expandido", each ([GeradorDeCards.node.id] <> null)),
#"Colunas Removidas" = Table.RemoveColumns(#"Linhas Filtradas",{"Column1.TOKENAUTH", "Column1.PG", "Column1.newstart"})
in
#"Colunas Removidas"

 

Userlevel 7
Badge +15

Legal @murilova. Essa consulta nas atualizações automáticas do Power BI Online ou somente no Desktop? 

Userlevel 3

Os dois!

Reply