Olá. Tenho um relatório que gostaria de colocar em um site. Vi que posso passar parâmetros através da url, mas não consigo fazer funcionar.
Precisa configurar algo dentro do Power BI para funcionar?
Obrigada!
Olá. Tenho um relatório que gostaria de colocar em um site. Vi que posso passar parâmetros através da url, mas não consigo fazer funcionar.
Precisa configurar algo dentro do Power BI para funcionar?
Obrigada!
Oi Ana, tudo bem?
Eu não sei como você está tentando fazer a inserção, mas a documentação explica como fazer a inserção de relatórios em outros sites.
Qualquer coisa que precisar, pode ir me falando tá bom? Estou à disposição :)
Olá, graças a Deus tudo bem. E com você Maria?
Bom... estou fazendo da mesma forma que no tópico "Filtrar o conteúdo do relatório usando filtros de URL", mas não funciona. Passo o parâmetro utilizando o filter, conforme mostrado no exemplo ($filter=Industries/Industry eq 'Energy') , mas não funciona. Preciso fazer algo do relatório para que funcione?
Obrigada.
Oi Ana. Eu estou bem, obrigada.
Certo, não precisa fazer nada no relatório. Apenas pegar os parâmetros do iframe como mostrado na documentação, colocar no código HTML e depois na função JavaScript passar a URL com o filtro que deseja.
É retornado algum erro no console? Se puder compartilhar o projeto comigo para que eu possa dar uma olhada, ajudaria bastante :)
Joia. O projeto é o exercício 3 do curso DAX e ETL com powerBI, mas pode ser qualquer um. Já testei com alguns.
Estou fazendo assim:
A linha ficou assim:
Estou montado essa linha errada, né?
Como compartilho com você?
Oi Ana,
Eu não consigo ver os seus relatórios e nem consigo testar, pois a minha licença de 30 dias encerrou.
A forma que você está fazendo a URL está correta, mas isso é no caso de você colocar em um site. Antes de tentar colocar a visualização em um site, tente fazer apenas a URL para poder mostrar o relatório com o filtro e depois insere no site.
Vamos supor que você tem a seguinte URL:
E quer filtrar o relatório para mostrar dados somente de lojas em "NC" (Carolina do Norte), inclua a URL com o seguinte:
?filter=Store/Territory eq 'NC'
Sua URL vai ficar assim:
Tente fazer dessa forma e me avise qualquer coisa, tá bom? :)
Estou fazendo exatamente assim, conforme orientado.
Abri o browser, e colei apenas a URL gerada. Então, o relatório é mostrado direitinho, com todos os estados. Então, colo no final da URL o que gostaria de filtrar conforme lhe mostrei, então o relatório é mostrado igualzinho, como se não tivesse nada ao final da URL.
Oi Ana, tudo bem?
Consegui realizar alguns testes para te ajudar, vamos lá:
Primeiramente vou explicar algumas coisas sobre os parâmetros de filtros na URL.
Essa é a sintaxe do parâmetro: ?filter=Tabela/Campo eq 'valor'. O parâmetro Tabela e Campo são case sensitive, o que quer dizer isso? Isso significa que tem que ser digitado do jeitinho que está no arquivo. Já o parâmetro valor não é case sensitive.
Exemplo: tenho a tabela Tempo, o campo Ano e o valor 2016, então minha URL fica: ?filter=Clientes/Ano eq '2016'. Explicado isso, vamos agora para montar a URL com o filtro.
Antes de gerarmos a URL para incorporar no site, vamos colocar o filtro na URL interna. A URL interna é aquela do Power BI Service onde visualizamos o relatório:
Beleza, pegando essa URL, vamos inserir o filtro:
https://app.powerbi.com/groups/72b24c0e-0c9c-48bd-a3ce-c72d6e582a49/reports/eff325d9-5d98-4c01-83ec-8762048c9296/ReportSectiond51b48e73d94786b413b*?filter=Tempo/Ano eq '2016'*
Observe que pegamos a URL completa e inserimos o filtro. Ao carregar a página, veremos que foi filtrado. Você pode expandir a aba Filtros para que possa visualizar se está filtrando:
Certo. Feito isso, vamos gerar a URL externa. O Power BI vai nos dar uma URL enoooorme:
https://app.powerbi.com/reportEmbed?reportId=eff325d9-5d98-4c01-83ec-8762048c9296&autoAuth=true&ctid=eca496fb-0e8f-4630-80ab-7319a08eca6d&config=eyJjbHVzdGVyVXJsIjoiaHR0cHM6Ly93YWJpLWJyYXppbC1zb3V0aC1yZWRpcmVjdC5hbmFseXNpcy53aW5kb3dzLm5ldC8ifQ%3D%3D
Porém, não precisamos dela toda, apenas dessa parte:
https://app.powerbi.com/reportEmbed?reportId=eff325d9-5d98-4c01-83ec-8762048c9296&autoAuth=true&
A partir daí, vamos inserir a página do relatório que queremos que traga e o filtro. Para trazer a página, utilizamos o parâmetro pageName e o nome da página está na URL interna e começa com ReportSection.
Então, de primeira nossa URL vai ficar assim:
https://app.powerbi.com/reportEmbed?reportId=eff325d9-5d98-4c01-83ec-8762048c9296&autoAuth=true&*pageName=ReportSectiond51b48e73d94786b413b*
Atualizando a página, temos o relatório sem filtro:
Agora, vamos inserir o filtro. Não podemos esquecer do & e o $ para a passagem do parâmetro:
https://app.powerbi.com/reportEmbed?reportId=eff325d9-5d98-4c01-83ec-8762048c9296&autoAuth=true&pageName=ReportSectiond51b48e73d94786b413b*&$filter=Tempo/Ano eq '2016'*
O relatório vai atualizar com o filtro e pronto para poder inserir no seu site.
Ana, me perdoe pela resposta enorme e espero que tenha conseguido explicar direitinho para você. Qualquer coisa você me fala, tá bom? :)
Tudo em Paz, graças a Deus! E espero a mesmo para você.
Antes de mais nada, muito obrigada mesmo pela atenção e disponibilidade. Uma verdadeira aula.
Acho que estou quase lá... deixa eu lhe contar como foi...
Peguei a URL interna:
https://app.powerbi.com/groups/babe29d4-96cc-4d8f-9340-54836f8c37f4/reports/54258539-3024-4001-957c-526385f3de8e/ReportSection?noSignUpCheck=1
Primeiro, veja que não veio nenhum valor junto a ReportSection. E veio esse parâmetro noSignUpCheck.
Então, como orientada inseri ?filter=Clientes/Estado eq 'RJ' ao final. Dando certo, quando eu retirei o parâmetro noSignUpCheck, ficando assim:
https://app.powerbi.com/groups/babe29d4-96cc-4d8f-9340-54836f8c37f4/reports/54258539-3024-4001-957c-526385f3de8e/ReportSection&?filter=Clientes/Estado eq 'RJ'
Joia. Fiquei muito Feliz!!!
Ai... fui para a segunda fase. Pegar a URL gerada, que foi:
https://app.powerbi.com/reportEmbed?reportId=54258539-3024-4001-957c-526385f3de8e&autoAuth=true&ctid=a945fc3b-8cde-4136-b0f3-422fcb01541d&config=eyJjbHVzdGVyVXJsIjoiaHR0cHM6Ly93YWJpLWJyYXppbC1zb3V0aC1iLXByaW1hcnktcmVkaXJlY3QuYW5hbHlzaXMud2luZG93cy5uZXQvIn0%3D
Então retirei tudo depois do autoAuth=True e coloquei o filtro (não coloquei o ReportSection pois não tinha), que ficou:
https://app.powerbi.com/reportEmbed?reportId=54258539-3024-4001-957c-526385f3de8e&autoAuth=true&?filter=Clientes/Estado eq 'RJ'
Mas não funcionou. Mostrou o relatório como se não tivesse nenhuma passagem de parâmetro. Que estranho, né!
Depois coloquei pageName apenas para testar, assim:
https://app.powerbi.com/reportEmbed?reportId=54258539-3024-4001-957c-526385f3de8e&autoAuth=true&pageName=ReportSection&?filter=Clientes/Estado eq 'RJ'
Será que não está funcionando pela falta dessa informação?!? Mas se fosse importante, nem aparecia o relatório, né?!? Acho que funcionou pelo reportId.
Será que devo fazer algo para encontrar a informação completa do ReportSection?
Novamente muito obrigada.
ps: Tentei inserir a tela mostrando, mas não consegui.
Oi Ana,
Fico feliz que eu tenha conseguido te ajudar de alguma forma. Vamos lá.
Na URL externa, precisamos do pageName igual você colocou ali, para que o Power BI saiba que página do relatório mostrar, até aí está correto. Ao adicionar o filtro na URL externa, já não usamos o '?' ali no filter, usamos o '$'. Tente dessa forma aqui:
https://app.powerbi.com/reportEmbed?reportId=54258539-3024-4001-957c-526385f3de8e&autoAuth=true&pageName=ReportSection&$filter=Clientes/Estado eq 'RJ'
E para adicionar imagens aqui, você pode upar no Imgur e enviar o link.
Me avisa qualquer coisa, tá bom? :)
Estou morta de Feliz! Funcionou!!! :)
Desculpa não ter percebido a diferença entre ? e $.
Muito muito obrigada!!!
Ana,
Fico feliz por você estar feliz :)
Qualquer coisa estou sempre por aqui, tá bom?