Olá coleguinhas tem vídeo novo no canal Planilheiros Brasil sobre PowerShell e PowerBI fazendo streaming de dados.
Muito legal muito bacana, e as repercussões estão sendo bem legais.
Você pode conferir o vídeo no link abaixo:
Uma questão que foi levantada, o uso do FOR JSON AUTO, só está disponível para as versões do SQL Server acima de 2016.
O nosso amigo Bruno daqui de Fortaleza (valeu Brunão), mandou a seguinte alteração para nosso código transformando então em JSON dentro da própria função no PowerShell
Já me perguntaram se é possível fazer em Postgree ou MySql, sim dá pra fazer basta instalar no PowerShell os cmdlets para esses dois bancos que você pode encontrar nos links abaixo:
https://www.powershellgallery.com/packages/PostgresqlCmdlets/17.0.6634.0
https://www.powershellgallery.com/packages/MySQLCmdlets/19.0.7165.0
Um exemplo de Postgre foi enviado no canal planilheiros pelo colega Nicolas Leonardi lá no canal Planilheiros Brasil.
Rafael e se eu não quiser me autenticar? Ou por algum motivo eu não puder me autenticar?
Você pode chamar diretamente o endpoint usando a URL de Push que é exibida depois que criamos o dataset de streaming
Muito legal muito bacana, e as repercussões estão sendo bem legais.
Você pode conferir o vídeo no link abaixo:
Uma questão que foi levantada, o uso do FOR JSON AUTO, só está disponível para as versões do SQL Server acima de 2016.
O nosso amigo Bruno daqui de Fortaleza (valeu Brunão), mandou a seguinte alteração para nosso código transformando então em JSON dentro da própria função no PowerShell
For($i -le 10) {
$tabela = Invoke-Sqlcmd -Query "select Nome as cliente , SUM(valor) as total from Venda group by nome order by 2 desc" -ServerInstance "Localhost" -Database "Bruno"
$Final = $tabela | Select-Object * -ExcludeProperty ItemArray, Table, RowError, RowState, HasErrors | ConvertTo-Json
Add-PowerBIRow -DatasetId '' -Rows (ConvertFrom-Json $Final)}
https://www.powershellgallery.com/packages/PostgresqlCmdlets/17.0.6634.0
https://www.powershellgallery.com/packages/MySQLCmdlets/19.0.7165.0
Um exemplo de Postgre foi enviado no canal planilheiros pelo colega Nicolas Leonardi lá no canal Planilheiros Brasil.
Rafael e se eu não quiser me autenticar? Ou por algum motivo eu não puder me autenticar?
Você pode chamar diretamente o endpoint usando a URL de Push que é exibida depois que criamos o dataset de streaming
For($i -le 10) {Então há muitas outras possibilidades sim. É só pesquisar um pouco, estudar um pouco que sem dúvida da pra fazer muita coisa legal.
$endpoint = "insira aqui a url de push"
$tabela = Invoke-Sqlcmd -Query "select Nome as cliente , SUM(valor) as total from Venda group by nome order by 2 desc" -ServerInstance "Localhost" -Database "Bruno"
$Final = $tabela | Select-Object * -ExcludeProperty ItemArray, Table, RowError, RowState, HasErrors | ConvertTo-Json
Invoke-RestMethod -Method Post -Uri "$endpoint" -Body $Final
}
Fala Rafa! Obrigado pelo conteúdo deste vídeo! Tô trabalhando nas queries para tentar usar esse método para a minha necessidade mas ainda estou engatinhando nos códigos. Você comentou no vídeo que o loop usado para demonstração não seria viável para lançar em produção. Você poderia me ajudar sugerindo qual alteração eu poderia fazer para usar esse método em produção? Se puder me indicar também qual a linguagem usada nesse código para que eu possa pesquisar mais eu te agradeço! Um abraço!
ResponderExcluirBoa tarde, Rafael! Tudo bem?
ResponderExcluirQueria saber se há alguma forma de utilizar essa solução do PowerShell para permitir que o usuário final faça a atualização dos dados por demanda a partir do Power BI service. Obrigada pelo conteúdo!