![Powerpivot; Obtenha um datadump do SQL versus crie um modelo de dados no Excel](https://rvso.com/image/1428740/Powerpivot%3B%20Obtenha%20um%20datadump%20do%20SQL%20versus%20crie%20um%20modelo%20de%20dados%20no%20Excel.png)
Tenho uma tabela SQL que inclui dados de vendas e leads, juntamente com informações detalhadas da conta, e tenho outra tabela que inclui apenas informações detalhadas da conta.
Minha pergunta é se é mais eficiente extrair apenas o valor das vendas e o ID da conta (excluir as informações detalhadas da conta) e extrair uma tabela separada que contenha apenas informações detalhadas da conta e, em seguida, criar o relacionamento no powerpivot usando o ID da conta. OU é mais eficiente/mais rápido apenas despejar uma tabela que contém todas as informações no powerpivot (todo o trabalho é feito em SQL).
Primeiro, pensei que, como informações como gerentes de conta, segmentos e nome da conta seriam duplicadas para muitos números de vendas (a conta A poderia comprar vários produtos várias vezes), seria mais eficiente ter uma tabela separada que contém apenas as informações da conta. Mas pensando mais sobre isso, se eu tivesse duas tabelas, o Excel teria que fazer todo o trabalho na hora, em vez de deixar o SQL cuidar de todo o trabalho.
Adoraria ouvir a opinião dos especialistas sobre isso. Preciso que o powerbi/powerpivot funcione rápido, mesmo que isso signifique menos eficiência de memória no Excel.
Responder1
Tabelas separadas certamente serão mais rápidas para atualizar e analisar usando Tabelas Dinâmicas e também serão mais compactas (no disco e na memória).
Esse design também abre a possibilidade de cálculos eficientes em nível de conta (se você precisar deles mais tarde), por exemplo, contagem distinta de produtos por conta.
O problema pode ser que os conjuntos de dados geralmente estão sujos e as supostas chaves geralmente não são confiáveis - esse problema geralmente piora quanto mais você volta na história. Esses problemas podem forçá-lo a voltar a um design de tabela único no Power Pivot, para que você possa tentar contornar esses problemas usando código SQL, Power Query ou uma ferramenta ETL.