Pular para o conteúdo principal

Power BI - NÃO EDITE seus Modelos do Power BI na Nuvem.

[Power BI] Lista do SharePoint não é Banco de Dados, OK?



Olá viciados em SharePoint e outras coisas mais que são impronunciáveis a essa hora, tudo bem?

Bem se você já conhece esse blog sabe que sou apaixonado por tecnologias Microsoft e com o SharePoint não poderia ser diferente, MAS... aí vem o grande MAS... não usem listas do SharePoint como Banco de Dados, porque as consultas a esse tipo de fonte são extremamente lentas e ineficientes seja no nosso Projeto no Power BI ou para qualquer outra coisa que você queira fazer que precise utilizar esses dados.

Então vamos lá, para nossa demonstração pra não ficar só no meu PAPO!

Para nossa demonstração eu criei três Fluxos de Dados (DataFlows) no Power BI Web utilizando 3 fontes de dados que possuem os mesmo dados, uma tabela de duas colunas e mais de 200 mil linhas, no Excel, SharePoint e Azure SQL Server.



Criei uma única entidade em cada Fluxo de Dados para que pudéssemos avaliar o tempo de atualização de cada uma das Fontes.

Conectei meu Power BI Desktop a esses Data Flows para que vocês possam ver que se tratam da mesma quantidade de linhas.




 


Acima lado a lado cada uma das tabelas demonstradas no exemplo.

Vamos então mandar atualizar TODOS os DataFlows, lembrando que somente uma das fontes utiliza Gateway de dados que é a Excel que está na minha máquina, tanto Azure SQL Server quanto SharePoint não utilizam Gateway.


Finalizada a atualização, vamos então verificar o tempo que cada uma dessas fontes levou até finalizar o processo na nuvem.

Eu já havia anteriormente atualizado uma única vez cada uma das Fontes para que possamos ter um comparativo se por alguma motivo houver alguma oscilação nos serviços da MS.

Para o Azure SQL Server os tempos de atualização foram de 32 segundos nas duas tentativas. Excelente não?


Nosso Amigo Excel também performou muito bem, graças a internet boa e ao processamento rápido da minha máquina. Então nesse exemplo empatou até com me SQL Server, o que nem sempre vai ocorrer.

Já o SharePoint, deu foi SONO meu irmão!!! Mais de 11 minutos nas duas tentativas.


O Azure SQL Server usado nesse exemplo foi o mais barato que existe na nuvem da Microsoft, que custa pouco mais de 22 Reais por mês, então a velocidade não se deu ao processamento violento da nuvem. Eu fiz um teste aumentando a quantidade de DTUs do meu Azure SQL Server e não mudou em nada o tempo de refresh do Power BI.

Acredito não haver mais dúvidas que listas no SharePoint não são as melhores opções além disso consultando dados no SQL Server (seja azure ou on-premise) podemos fazer consultas direct query, ou seja sem necessidade de dar um refresh no Dataset.

E por hoje é só coleguinhas.

Grande abraço e até a próxima.

Comentários

  1. Ai simm. Nobre amigo!! E caso o usuário só tenha a lista, ou eu choro, ou tento fazer um update para algum banco!

    ResponderExcluir
    Respostas
    1. Se o SharePoint for obrigatório vc pode fazer um flow pra levar isso também para um banco ou até utilizar o SSIS.

      Excluir
    2. Não sei se é o melhor caminho, tenho um cliente que a unica opção era a lista então montei um excel com VBA (pois são várias listas) e com o Excel eu importo os dados de uma vez só e armazeno em um Access que pluga direto no Power BI.
      O Excel com VBA fica com uma macro rodando e de tempos em tempos ele faz a extração e armazena no Access e o Power BI atualiza em menos de 1 minuto todos os dados diretamente do Access.

      Excluir
  2. Este comentário foi removido pelo autor.

    ResponderExcluir
  3. Muito bom Rafael, agora é avaliarmos o que podemos fazer com os recursos disponível.

    ResponderExcluir
  4. Ótimo post Rafael!
    Eu recebo um excel automaticamente no sharepoint e de lá levo pro BI.
    É possivel automatizar para levar esse excel para azure em formato de banco de dados?
    Pode me indicar por onde procurar conteúdo disso?

    Abraços

    ResponderExcluir
    Respostas
    1. Oi Lucas vamos em breve ter alguns artigos sobre ferramentas de ETL profissionais, como SSIS e ADF e aí temos a possibilidade de levar esse excel sem problema algum para um banco seja na azure ou até no seu próprio ambiente on-premise.

      Excluir
  5. Oi Rafa tudo bem
    E se eu me conectar a uma pasta do Sharepoint o desempenho é o mesmo de se conectar em uma lista?

    ResponderExcluir
    Respostas
    1. Boa pergunta !! Mas acredito que seja a mesma so devem mudar um bit de lista para pasta.

      Excluir
  6. Oi Rafa, se eu utilizar o CDS como alternativa a lista do sharepoint eliminamos esse problema de lentidão?

    ResponderExcluir
  7. Aqui na empresa não consigo fugir do SharePoint, usam listas como banco de dados porque são pessoas de outras várias empresas que inserem os dados. São 5 listas que forma 1 consolidada no BI, que une com outras 19. São 100 listas no total, que viram 20 listas e depois de Acrescentar consulta faz 1 lista geral no BI. Pensa no sofrimento do BI rodar essas 100 consultas.

    Estou estudando qual possibilidade ofereço para sair do SharePoint (seja criando um sistema próprio integrado com banco de dados ou não) ou se há possibilidade dessa informação do BI ir automaticamente para um banco de dados e importar o banco para o BI.

    ResponderExcluir

Postar um comentário

Postagens mais visitadas deste blog

[Power BI] O totalizador da minha Tabela ou Matriz "NÃO BATE" e agora?

Olá amantes de visuais de tabela e matriz no Power BI, tudo bem? Hoje vamos falar de um caso que vejo bastante nos grupos do Power BI. “O calculo na linha está batendo mas no total não e agora?” Mas antes de iniciarmos, que tal deixar aquela sua inscrição marota no meu canal no youtube que está recheado de vídeos legais, vai lá seu pão duro de like youtube.com/rafaelmendonca Agora que você já aliviou sua pão-durice você merece conteúdo .... kkkkkkkk Vamos lá, temos então a seguinte tabela gerada no meu conjunto de dados Essa tabela possui uma lista de vendas realizadas por dois vendedores com o numero da ordem da venda, um valor unitário e uma quantidade de itens em cada venda. O que queremos é bem simples meu jovem, calcular o valor total de cada venda e ter um total de todas as vendas... Aí você muito garotão usa a seguinte expressão DAX: E depois joga isso numa tabela. Lindo neh??? Mas o totalizador trouxe um valor que não tem...

[Power BI] Transformando Latitude e Longitude de Graus para Decimal

Olá amiguinhos que adoram mapas nos seus paineis tudo bem? Hoje bate papo rapidão sobre uma dúvida de uma colega no nosso grupo do telegram, e se você não está nele pode ir agora tirar duvida com um grupo de quase 1700 pessoas e super ativo. https://t.me/planilheiros Bem, a dúvida dela era bem simples e já tinha visto outra vez alguém perguntando em outro grupo mas estava na correria e não pude ajudar, isso acontece infelizmente bastante. Ela tem dados de latitude e longitude em Grau e gostaria de passar isso para DECIMAL para poder utilizar nos visuais de Mapa do Power BI. A dúvida é bem legal e precisa entender um pouco a lógica matemática de transformar Grau para Decimal e ela é bem simples. Quando um dado em Grau, temos 3 informações: - Grau - Minutos - Segundos. Grau é o valor inteiro e ele por si só já me da o dado do meu inteiro do Decimal. Minuto é isso mesmo Minuto, para eu chegar num valor decimal de minutos eu preciso dividir ele por 60. Segundo seg...

Como usar o Web.Contents do Power Query: guia completo

Como usar o Web.Contents do Power Query para acessar dados online O Power Query é uma ferramenta poderosa para obter, transformar e analisar dados de diferentes fontes. Uma dessas fontes é a web, que contém uma grande variedade de dados online que podem ser úteis para os seus projetos. Para acessar dados online a partir de uma URL, você pode usar a função Web.Contents do Power Query. Essa função retorna o conteúdo binário baixado da URL especificada e permite que você use opções adicionais para personalizar a sua consulta. Neste artigo, vamos mostrar como usar o Web.Contents para obter dados de diferentes tipos de arquivos online, como CSV, Excel ou JSON. Também vamos discutir as vantagens e desvantagens dessa função em comparação com outras funções do Power Query. O que é o Web.Contents? O Web.Contents é uma função do Power Query que permite acessar dados online a partir de uma URL. Você pode usar essa função para obter dados de diferentes fontes da web, como arquivos CSV, Excel, JSON...