Pular para o conteúdo principal

PBI Pilot – Teste grátis sem custos um assistente de IA para o seu Power BI

[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

“Traduzindo” formulas do Excel para DAX.

Como utilizar algumas formulas bem conhecidas no EXCEL em DAX Olá moçada tudo bem? Todos sabemos que muitos dos usuários de Excel tem dificuldade de migrar ou utilizar o Power BI, muito pela dificuldade de entender a forma de calcular do DAX e os contextos de linha e de filtro, bem como por já estar acostumado com as formulas no Excel, chegando a procurar um SOMASE (SUMIF) quando quer escrever uma nova medida em DAX (eu fiz isso). Queria então conversar hoje com esse público e te mostrar como traduzir o que você pensa em EXCEL para DAX. Iremos brincar então com as seguintes formulas em Excel (versão português). Somase, Somases, Procv, Cont.se, Cont.ses, Pgto, Concat, Texto, Esquerda, Direita e Seerro. Utilizaremos para nosso exemplo o modelo de dados abaixo (Power BI e Excel) Nossos objetivos serão: - Encontrar o total de Compras para veículos novos (ano de venda igual a 2018). - Encontrar o total de Compras para veículos novos e com va...

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...

Power BI - Atualização Incremental de Qualquer Tipo de Fonte de Dados!!!!

Sim eu não enlouqueci, na técnica que vamos apresentar que foi criada pelo Dustin Ryan aqui nesse artigo  https://sqldusty.com/2020/05/20/power-bi-incremental-refresh-with-web-api-data-source/  e também demonstrada pelo Gilbert da Fourmoo (adoro o símbolo da empresa kakakkaka) aqui nesse outro excelente artigo  https://www.fourmoo.com/2020/06/10/how-you-can-incrementally-refresh-any-power-bi-data-source-this-example-is-a-csv-file/  , permite que você faça atualização incremental para qualquer FUCKIN tipo de fonte de dados e isso é sensacional. MASSSSSSS... eu fui um pouco além e decidi mudar uma coisinha que pode fazer uma ENORME diferença, nos artigos citados acima é utilizada uma fonte do SQL Server (que claro poderia ser um Oracle, ou qualquer fonte que utilize query folding) já que QueryFolding é uma premissa necessária para a utilização da Atualização Incremental, como eu já falei pra vocês nesse vídeo aqui no canal Planilheiros Brasil e aconselho que veja esse...