Desmistificando o Power Pivot (ou Data Model) no Excel

Marco Marques • fev. 16, 2022

Power Pivot ou Data Model ?

Por vezes a Microsoft atribui designações a certas funções Excel que só complicam e fazem retrair os utilizadores menos aventurosos da exploração das mesmas. Durante algum tempo, isto passou-se comigo e com a função Power Pivot, mas quando afinal ganhei coragem e fui investigar, vi que se tratava de algo diferente e muito mais acessível do que imaginava. Afinal a Power Pivot não é mais do que uma normal PivotTable que permite ler dados de diferentes tabelas, necessariamente localizadas em locais diferentes de um mesmo ficheiro ou até dispersas por vários locais.


Quando temos uma única tabela de dados podemos sobre ela construir uma PivotTable. Quando temos múltiplas tabelas de dados podemos construir sobre elas uma Power Pivot. Portanto, o Power Pivot é uma simples PivotTable que tem a particularidade de ter como ‘source data’ os dados de diferentes tabelas. Porém, neste caso, as diversas tabelas que queremos consultar têm de estar relacionadas entre si através de campos comuns e/ou relações pré-estabelecidas entre os campos: isto sim é o que faz a diferença na função Power Pivot já que a funcionalidade PivotTables é rigorosamente idêntica àquela que já conhecemos (para aqueles que já conheciam as ‘normais’ PivotTables). Portanto, o verdadeiro busílis e essência da função Power Pivot não está nas PivotTables (que como disse, são rigorosamente as mesmas!) mas sim na possibilidade de criar a tal base de dados formada por múltiplas tabelas separadas e relacionadas entre si, a qual em Excel se designa por Data Model. Logo, a real função Excel que merece ser aqui falada é o Data Model e não a Power Pivot.


Considerações sobre designações à parte, o Data Model é mais uma função que - juntamente com o Power Query - eleva a capacidade de processamento do Excel para patamares nunca dantes vistos, para lá das dezenas de milhões de linhas de dados e naturalmente além do espartilho da limitação do nº máximo de linhas da worksheet. Isto permite ao Excel colocar o ‘tick’ em ‘Big Data’ entre a vasta lista das suas aplicações possíveis. Não desfazendo aquilo que acabo de afirmar, acrescento, porém, que o Data Model funcionará de forma mais fluida numa versão 64 bits de Excel.

O que é então o Data Model?

Excel Data Model

Tal como disse antes, o Data Model no Excel é uma base de dados que é formada por tabelas de dados que estão dispersas em dois ou mais locais e que têm uma relação entre si. Como solução clássica alternativa ao Power Pivot podemos sempre - recorrendo a funções do tipo ‘Vlookup’ ou equivalentes - construir numa worksheet uma tabela única juntando os dados dessas tabelas que pretendemos analisar. Caso o façamos, podemos depararmo-nos com diversos problemas (relacionados com o tamanho e a performance do ficheiro ou com a necessidade de fazer atualizações manuais sempre que existeirem novos dados), sendo que alguns desses problemas podem mesmo ser inultrapassáveis (no caso de necessitarmos de mais linhas de dados do aquelas que a worksheet dispõe). É portanto para contornar esta solução ‘classíca’ que o Excel dispõe do Data Model.


Como requisitos para poder criar o Data Model, os dados existentes nas várias localizações têm de estar formatados como uma tabela (Table) de Excel (o que se consegue fazendo CTRL+T quando estamos posicionados em cima de uma célula do grupo de dados), as diversas tabelas de dados que queremos analisar tem de ser adicionadas ao Data Model (‘Add to Data Model’) e as relações entre os campos das diferentes tabelas têm de ser criadas. Conceptualmente, a necessidade destas relações é fácil de entender: o Excel tem de saber qual o campo (coluna) de uma tabela que corresponde ao campo (coluna) da outra tabela, uma vez que os campos (colunas) podem ter nomes diferentes. Ou seja, temos que dizer ao Excel onde se encontram os campos idênticos entre tabelas diferentes para que a relação entre tabelas possa ser estabelecida. É o mesmo princípio que aplicamos quando fazemos Vlookup, apenas a sintaxe é diferente. O vídeo em anexo explica detalhadamente e de forma simples como efetuar estes passos (créditos: Canal Youtube ExcelcraftDotCom).


Com a criação do Data Model é como se dispuséssemos da tal base de dados da solução ‘clássica’ que referi antes, só que essa base de dados é virtual: apenas existe na memória do computador e não está residente em nenhuma worksheet do ficheiro. Para aceder e visualizar os dados dessa base de dados virtual (Data Model) podemos recorrer a uma PivotTable (que neste caso se chamará Power Pivot) e pode também nesse caso usar dados dessa base de dados virtual noutras zonas do seu ficheiro recorrendo à função GetPivotData para aí colocar os dados. Existe também no Excel uma função designada ‘Cube’ que se destina especificamente a extrair dados do Data Model sem a necessidade de ter de criar previamente uma PivotTable (Power Pivot). No entanto essa função ‘Cube’ obriga à aprendizagem de uma sintaxe inteiramente nova no Excel (que apenas serve para essa função) e adicionalmente, pelos testes que fiz, pareceu-me que existem ainda algumas arestas a limar por parte da Microsoft pelo que, de momento, prefiro ainda recorrer à PivotTable (Power Pivot) e à função GetPivotData no caso de necessitar extrair dados do Data Model para outras zonas do meu ficheiro.


Para quem já utilize PivotTables, o Data Model representa assim uma função muito útil e eficiente em Excel e que pode ser facilmente utilizada pelos utilizadores comuns com muito pouco investimento inicial na sua formação: basta visualizar o vídeo que anexo a este post. E acrescento que o Data Model não se aplica apenas nos casos de termos de lidar com quantidades massivas de dados: é também muito exequível quando pretendemos criar uma pequena base de dados recorrendo à informação de múltiplos ficheiros (ou de múltiplas tabelas no mesmo ficheiro) sem a necessidade de ter de repetir os dados ao reuni-los todos ‘fisicamente’ numa única worksheet, com consequências muito benignas no tamanho e performance do seu ficheiro.

Controlo de Gestão
Por Marco Marques 30 nov., 2022
O Controlo de Gestão é um sistema - constituído por processos, ferramentas e pessoas - que visa obter informação para monitorizar e influenciar o (bom) desempenho de uma organização em todas as suas vertentes (económica, humana, comercial, operacional, etc.).
Why consulting colaborating
Por Marco Marques 17 fev., 2022
O Excel é incontornável nas empresas: conheça a proposta diferenciada de como propomos desenvolver efetivamente as competências Excel nos seus colaboradores.
Power Query puts Excel on stereoids
Por Marco Marques 14 fev., 2022
Este post salienta a importância de saber que o Power Query existe e que eleva as capacidades do Excel para novos patamares.
Share by: