Escolar Documentos
Profissional Documentos
Cultura Documentos
Tabelas Dinmicas
por Robert Friedrick Martim
Robert F. Martim
www.juliobattisti.com.br rm@msofficegurus.com
09/04/2009 2/7/2009
Robert F. Martim
www.juliobattisti.com.br rm@msofficegurus.com
09/04/2009 2/7/2009
Desenvolvimento inteligente
ou
atravs
do
site
de
leiles
Mercado
Livre:
Ao adquirir este eBook voc tem o direito de l-lo na tela do seu computador e de imprimir quantas cpias desejar, desde que sejam para uso pessoal. vetada a distribuio deste eBook, mediante cpia ou quaisquer outros meios de reproduo, para outras pessoas. Se voc recebeu este eBook atravs de e-mail ou via FTP de algum site da Internet, ou atravs de CD de Revista, saiba que voc est com uma cpia pirata, no autorizada. Se for este o seu caso entre, em contato com o autor atravs do e-mail rm@msofficegurus.com ou comunique diretamente ao nosso site atravs do e-mail webmaster@juliobattisti.com.br. Ao regularizar a sua cpia, voc estar remunerando, mediante uma pequena quantia, o trabalho do autor e incentivando que novos trabalhos sejam disponibilizados. Visite periodicamente o site www.juliobattisti.com.br para ficar por dentro das novidades!
Robert F. Martim
www.juliobattisti.com.br rm@msofficegurus.com
09/04/2009 2/7/2009
ii
Desenvolvimento inteligente
Pr-requisitos
Para completar este curso, voc precisa conhecer o ambiente de trabalho Excel 2003 e possuir uma cpia do Excel 2007. Uma verso Trial pode ser baixada do site da Microsoft. Neste mdulo discutirei como utilizar os novos recursos da Tabela Dinmica no Excel 2007.
Robert F. Martim
www.juliobattisti.com.br rm@msofficegurus.com
09/04/2009 2/7/2009
iii
Desenvolvimento inteligente
Robert F. Martim
www.juliobattisti.com.br rm@msofficegurus.com
09/04/2009 2/7/2009
iv
Desenvolvimento inteligente
NDICE ANALTICO
Introduo ....................................................................................................................................1 Bem-vindo a srie Como Fazer...........................................................................................1 Antes de continuar ................................................................................................................1 1. Algumas novidades do Excel 2007 ....................................................................................2 1.1. Lista das novidades e seus benefcios..........................................................................4 1.1.1. Faixa de Opes .............................................................................................. 4 1.1.2. Mais linhas e colunas ....................................................................................... 4 1.1.3. Ordenao simultnea de campos ................................................................... 4 1.1.4. Nova formatao condicional ........................................................................... 5 1.1.5. Novas funes.................................................................................................. 5 1.1.6. Visualizao Dinmica ..................................................................................... 5 1.1.7. Layout da Pgina ............................................................................................. 5 1.1.8. Estilos de formatao ....................................................................................... 5 2. Compreendendo Tabelas Dinmicas .................................................................................7 2.1. TDs, Tabelas e matriciais: como obter resultados iguais ............................................ 12 2.2. Atualizacao de dados ................................................................................................. 16 3. Tabelas dinmicas no Excel 2007: o que h de novo? ................................................... 17 3.1. Acessando a ferramenta de tabela dinmica .............................................................. 17 3.2. Ferramentas de Tabela Dinmica: Tabset de Extensibilidade .................................... 18 3.3. Adicionando suas prprias ferramentas ao Tabset de Extensibilidade ....................... 18 3.4. Lista de campos da tabela dinmica ........................................................................... 20 3.5. Acessando as opes da tabela dinmica .................................................................. 21 4. Compreendendo os elementos de uma Tabela Dinmica .............................................. 24 4.1. Elementos de uma Tabela Dinmica .......................................................................... 24 4.2. Onde devo ir para inserir uma tabela dinmica? ......................................................... 27 4.3. Onde foi parar o Assistente de Tabela Dinmica no Excel 2007? ............................... 28 4.4. Opes da tabela dinmica ........................................................................................ 31 4.4.1. 4.4.2. 4.4.3. 4.4.4. 4.4.5.
Autor: Publicado: Contato:
Layout e Formato ........................................................................................... 31 Totais e filtros ................................................................................................. 34 Exibio ......................................................................................................... 35 Impresso ...................................................................................................... 37 Dados ............................................................................................................. 37
Robert F. Martim
www.juliobattisti.com.br rm@msofficegurus.com
09/04/2009 2/7/2009
Desenvolvimento inteligente
4.5. O que uma tabela unidimensional de campo nico? ................................................ 38 4.6. O que uma tabela bidimensional de campo nico? .................................................. 38 4.7. O que uma tabela unidimensional e bidimensional de mltiplos campos? ............... 38 4.8. Adicionando campos tabela dinmica: mtodo clssico e novo ............................... 39 4.9. Removendo campos da tabela dinmica .................................................................... 41 5. Compreendendo as fontes de dados para Tabelas Dinmicas ...................................... 42 5.1. Banco de dados ou lista do Microsoft Office Excel ..................................................... 42 5.2. Fonte de dados externos ............................................................................................ 44 No caso anterior, ns utilizamos a fonte externa para alimentar a TD diretamente. ............ 46 5.3. Vrios intervalos de consolidao............................................................................... 46 5.4. Outro relatrio de tabela dinmica ou de grfico dinamico.......................................... 51 6. Formatao ........................................................................................................................ 53 6.1. Estilos de Tabela Dinmica ........................................................................................ 53 6.2. Formatando campo..................................................................................................... 55 6.3. Layout do relatrio de tabela dinmica ....................................................................... 55 6.4. Preservando formatao ............................................................................................ 57 6.5. Modificando nome de campos .................................................................................... 58 7. Trabalhando com campos ................................................................................................ 59 7.1. Trabalhando com campos de linha e de coluna .......................................................... 59 7.2. Trabalhando com sumrios e subtotalizaes: subtotais simples e mltiplos ............. 62 7.2.1. Modificando o tipo de subtotal apresentado (mostrar como % do total, etc) ... 64 7.3. Utilizando data base para comparar valores (gastos de um trimestre base comparados com outro) .................................................................................................................. 68 7.4. Trabalhando com ndices (comparao relativa) ........................................................ 72 7.5. Trabalhando com campos e itens calculados ............................................................. 74 7.5.1. 7.5.2. 7.5.3. 7.5.4. 7.5.5. O que um campo ou item calculado? .......................................................... 74 Criando um campo e/ou item calculado .......................................................... 77 Editando/Excluindo campos/itens calculados ................................................. 81 Determinando ordem de clculo ..................................................................... 82 Determinando ordem de apresentao .......................................................... 83
7.6. Determinando os Top 10 (os 10 Primeiros) ............................................................ 85 8. 9. Salvando a TD como um documento HTM interativo ..................................................... 87 Tabulando dados de Pesquisas com TDs ....................................................................... 88 9.1. Tabulando e analisando dados de uma pesquisa de opinio: cenrio 1 tabulao global .......................................................................................................................... 88
Autor: Publicado: Contato:
Robert F. Martim
www.juliobattisti.com.br rm@msofficegurus.com
09/04/2009 2/7/2009
vi
Desenvolvimento inteligente
9.2. Tabulando e analisando dados de uma pesquisa de opinio: cenrio 2 tabulao por cidade ......................................................................................................................... 93 10. Tabelas dinmicas e VBA ................................................................................................. 98 10.1. Gravando uma macro ................................................................................................. 98 10.2. Adicionando uma nova tabela dinmica.................................................................... 100 10.2.1. Adicionando uma nova tabela dinmica em uma nova pasta de trabalho ..... 101 10.3. Adicionando uma nova tabela dinmica utilizando os objetos PivotTable e PivotCache 103 10.4. Adicionando campos a TD usando VBA: orientao de campos............................... 104 10.4.1. 10.4.2. Removendo campos de uma TD .................................................................. 107 Adicionando campos via matriz (Array) ........................................................ 107
10.5. Copiando valores de uma TD e colando como valores fixos e desconectados ......... 108 10.6. Clculo manual ou automtico? ................................................................................ 110 11. Problemas em potencial ................................................................................................. 111 11.1. Campos nulos (vazios) e em brancos: qual a diferena e como determin-la? ......... 111 11.2. Descontinuidade nos dados...................................................................................... 114 11.3. A funo INFODADOSTABELADINMICA .............................................................. 116 12. Sobre o autor ................................................................................................................... 118
Robert F. Martim
www.juliobattisti.com.br rm@msofficegurus.com
09/04/2009 2/7/2009
Desenvolvimento inteligente
Tabelas Dinmicas
por Robert Friedrick Martim
Introduo
Bem-vindo a srie Como Fazer. Nas sries que sero escritas olharemos aspectos distintos do Excel 2007 de acordo com a demanda do site Jlio Battisti (http://www.juliobattisti.com.br). A inteno principal fornecer ao internauta uma ferramenta que concentre a ateno na soluo de um problema especfico. Neste mdulo veremos como utilizar as novas ferramentas de Tabela Dinmica no Excel 2007 e como aplic-las aos mais variados problemas encontrados no nosso dia-a-dia.
Antes de continuar Sugestes sero sempre bem-vindas e esperamos que o leitor participe pro ativamente no desenvolvimento do material aqui apresentado. Finalmente, todo um esforo foi feito para assegurar que o material aqui apresentado est livre de qualquer erro, mas no improvvel evento de encontrar algo errado, por favor, no deixe de me comunicar, pois terei prazer em revisar o material imediatamente.
Robert F. Martim
www.juliobattisti.com.br rm@msofficegurus.com
09/04/2009 2/7/2009
Desenvolvimento inteligente
1.
Iniciaremos fazendo um reconhecimento da nossa rea de trabalho. O novo Office mudou bastante a sua cara e para aqueles que se acostumaram com os antigos menus o novo visual pode ser um choque tremendo. No obstante, uma vez que voc aprenda a nova interface, voc comear a ver os benefcios que ela nos traz. O primeiro benefcio que a maioria dos comandos agora fica agrupada no RibbonX (Faixa de Opes) e no enterrados em algum local obscuro do Excel. Alm disso, o RibbonX sensvel ao contexto e ir adicionar novas guias dependendo do que voc esteja fazendo. Como o RibbonX ocupa bastante espao, quanto maior for a resoluo de seu monitor melhor ser o benefcio da Faixa de Opes:
Figura -1 Faixa de Opes em baixa resoluo agrupa ainda mais os itens de um grupo 1
A figura acima mostra a Faixa de Opes com uma resoluo menor. Note que o grupo que usaremos (grupo Estilo) compresso e, portanto, no possvel saber o que h nele at que o mesmo seja expandido. Em uma resoluo maior ns temos uma rea bem mais visvel da Faixa de Opes e o grupo que usaremos exposto:
Assim sendo, quanto maior for sua resoluo maior ser o benefcio da Faixa de Opes.
Robert F. Martim
www.juliobattisti.com.br rm@msofficegurus.com
09/04/2009 2/7/2009
Desenvolvimento inteligente
A ferramenta de formatao condicional pode ser rapidamente acessada na guia Incio no grupo Estilo conforme mostra a figura abaixo:
Note a pequena seta para baixo no boto de formatao condicional. Este pequeno boto nos permite expandir as opes disponveis no boto. Este boto, na verdade, funciona como os antigos menus popups os quais expem novos clicveis os abrem novos clicveis ou executam algum tipo de comando:
Robert F. Martim
www.juliobattisti.com.br rm@msofficegurus.com
09/04/2009 2/7/2009
Desenvolvimento inteligente
Antes de continuar, porm, abro um curto subtpico para discutir algumas novas questes do Excel 2007. Estas novas questes iro lhe ajudar a compreender melhor a nova verso.
1.1. Lista das novidades e seus benefcios Vamos das uma rpida olhada nas novidades do Excel 2007 e seus benefcios (ou no benefcios) para os usurios novos e antigos. Para facilitar a identificao, quebro a lista para que a mesma possa ser encontrada a partir do ndice analtico.
1.1.1.
Faixa de Opes
Faixa de Opes (ou RibbonX) uma das primeiras novidades que qualquer usurio notar. A grande vantagem da Faixa de Opes que ele agrupa tarefas comuns e expe os controles que o usurio precisa para resolver um problema qualquer. A Faixa de Opes sensvel ao contexto e a ela so adicionadas novas guias e controles dependendo do trabalho que voc esteja fazendo. A grande desvantagem da Faixa de Opes o espao que ela ocupa. Portanto, quanto maior a resoluo de seu monitor mais voc se beneficiar dela.
1.1.2.
O novo Excel possui 1.048.576 linhas por 16.384 colunas, dando um total de mais de 17 bilhes de clulas para o leitor brincar vontade. Para os que achavam 65.536 linhas por 256 colunas pouco, o choro pode terminar agora. O leitor pode rapidamente checar o nmero de linhas e colunas utilizando o cdigo abaixo:
Sub linhasColunas() Cells(1, 1) = ActiveSheet.Rows.Count Cells(1, 2) = ActiveSheet.Columns.Count End Sub
1.1.3.
Uma reclamao antiga do Excel era a possibilidade de apenas ordenarmos trs campos, no mximo. bem verdade que podemos ordenar mais de trs campos utilizando um mtodo nada ortodoxo e lento, contudo, o novo Excel nos permite ordenar at 64 campos simultaneamente.
Autor: Publicado: Contato:
Robert F. Martim
www.juliobattisti.com.br rm@msofficegurus.com
09/04/2009 2/7/2009
Desenvolvimento inteligente
Provavelmente, voc se perder na ordenao l pelo quinto campo e ter que confiar no resultado final, no obstante, a nova possibilidade extremamente bem-vinda.
1.1.4.
A nova formatao condicional, o assunto deste curso, est show de bola. Para aqueles que amam formatao condicional e as usam para identificar tudo que tipo de coisa no Excel, a nova interface da FC est nota 1000. No princpio pode parecer um pouco complexa, mas uma vez que voc domine os novos conceitos desta ferramenta voc ver como ela bastante ilimitada.
1.1.5.
Novas funes
O Excel 2007 agora possui novas funes que resolvem muitos dos problemas que antes tiravam o sono de muitos usurios como o caso de soma condicional.
1.1.6.
Visualizao Dinmica
Permite visualizar o resultado de uma formatao antes que ela seja aplicada. Recurso muito til na hora de darmos o toque final ao nosso trabalho.
1.1.7.
Layout da Pgina
Para os usurios de Word que amam o layout de impresso, agora, ficou muito mais fcil formatar a sua planilha com o Layout da Pgina.
1.1.8.
Estilos de formatao
Com os novos estilos de formatao ficou bastante simples dar aquele toque profissional ao seu trabalho no Excel. Basta selecionar um dos vrios estilos da galeria e aplic-lo. Sem contar que com a Visualizao Dinmica voc ver o resultado antes de aplicar o estilo. Estas so apenas algumas das mais variadas novidades do novo Excel. Infelizmente, o espao aqui curto para discutir cada uma delas, mas acredito que os pontos acima dem ao leitor uma viso geral do que esperar da nova verso.
Autor: Publicado: Contato:
Robert F. Martim
www.juliobattisti.com.br rm@msofficegurus.com
09/04/2009 2/7/2009
Desenvolvimento inteligente
Robert F. Martim
www.juliobattisti.com.br rm@msofficegurus.com
09/04/2009 2/7/2009
Desenvolvimento inteligente
2.
A principal razo para usarmos Tabelas Dinmicas que elas nos permitem analisar grandes quantidades de dados de forma significativa. Tabelas Dinmicas nos permitem trabalham com uma massa de dados que seria indecifrvel ou insignificativa em sua ausncia. Ns podemos, por exemplo, organizar, subtotalizar, agrupar, etc, de forma simples e rpida atravs de Tabelas Dinmicas. Esta organizao, subtotalizao, agrupamento, etc, no se restringe a dados contidos em uma planilha Excel. Uma tabela dinmica pode utilizar dados de banco de dados externo ou consultas pr-definidas. A importncia desta caracterstica se torna evidente quando o total de registros excede o limite de uma planilha Excel. Com o Excel 2007, o total de registros aumentou, mas mesmo assim devemos lembrar que o Excel no um banco de dados e no deve ser utilizado para esta finalidade. O nome Tabela Dinmica no faz jus ao nome original em ingls: Pivot Table (ou Tabela Pivotante). A razo para este nome em ingls to singela quanto o nome: quando temos um objeto complexo em nossas mos, como um Cubo Mgico (Cubo de Rubik) ns o giramos de vrias formas analisando-o por diversos ngulos. Com uma tabela dinmica, ns fazemos o mesmo; porm, com uma massa de dados ao invs de um cubo. Suponha, por exemplo, que voc responsvel pelo almoxarifado e deseja criar um banco de dados para controlar estoque. Voc deveria utilizar o Access e posteriormente analisar os dados no Excel, contudo, como o Excel o mais popular entre os aplicativos do Office, ele acaba virando um PPO (Pau Para toda Obra). Se este o seu caso ou voc no tem acesso ao Access, ento importante que voc conhea bem as ferramentas que o Excel possui para que voc possa tomar controle dos pontos fortes e fracos do Excel. Principalmente em dominar os pontos fortes para tirar o melhor proveito do aplicativo e conhecer os pontos fracos para que eles no causem danos ao seu trabalho. Certamente que gravar os dados no resolve outros problemas ou responde outras perguntas importantes sobre o seu estoque. Se voc conhece os dados, voc ser capaz de construir anlises mais complexas e detalhadas sobre o mesmo. Voc poder fazer um controle maior sobre o que sai e entra, efetivamente reduzindo custo e mantendo uma boa rotatividade de produtos perecveis. Voc poder criar uma anlise comparativa por setor, produto consumido,
Autor: Publicado: Contato:
Robert F. Martim
www.juliobattisti.com.br rm@msofficegurus.com
09/04/2009 2/7/2009
Desenvolvimento inteligente
quem solicitou a baixa, com que freqncia algum solicita uma baixa, cruzar dados entre setores, solicitantes, produtos e poca de baixas e compras, e uma pletora de outras perguntas complexas que podem ser facilmente respondidas atravs de uma tabela dinmica. E se voc acha que o exemplo acima complexo para um simples almoxarifado, imagine uma distribuidora com diversos escritrios espalhados pelo pas? Como conciliar e analisar a distribuio, as vendas por regio e por vendedor? Como saber o percentual de vendas de cada regio em relao ao total da empresa como um todo? Ou como saber dentro disso tudo quem foi o melhor vendedor e qual foi o produto mais vendido? Como cruzar todos estes dados por todas as regies do pas e analisar cada detalhe? Aqui, se voc alguma vez criou uma consulta circular no Excel (uma consulta que retorna dados dentro da prpria pasta que funciona como a fonte de dados), voc chegar concluso que ela ser incapaz de responder tantas perguntas simultaneamente. Voc precisaria de diversas consultas que analisassem cada situao e depois ficar como louco cruzando tais consultas para chegar ao nvel de detalhe que estou falando. Sem contar a redundncia dos dados, pois voc estaria simplesmente filtrando dados dentro da planilha que j contm os dados! J imaginou o caos? Se seu chefe pedisse uma mdia ponderada no cenrio da distribuidora acima, voc provavelmente iria ficar careca tentando resolver o problema num mar de nmeros. Com tabelas dinmicas talvez voc at arranque uma meia dzia de fios de cabelos, mas certamente no ficar careca por causa disso. E como funciona uma tabela dinmica1?
Robert F. Martim
www.juliobattisti.com.br rm@msofficegurus.com
09/04/2009 2/7/2009
Desenvolvimento inteligente
Os dados acima podem ser sumarizados em uma tabela dinmica da seguinte forma:
Com a pequena tabela dinmica acima podemos facilmente ver os totais para as vendas de cada produto sem a necessidade de criarmos frmulas mirabolantes para somar por produto. Contudo, no temos os detalhes de cada venda. Aqui, podemos fazer algo similar ao que geralmente feito em um relatrio.
Robert F. Martim
www.juliobattisti.com.br rm@msofficegurus.com
09/04/2009 2/7/2009
10
Desenvolvimento inteligente
Se o nome do produto o cabealho e sob tal cabealho vem listado cada total de cada venda efetuada temos o seguinte cenrio:
Aqui, temos no cabealho cada produto com a lista das vendas e o total geral de vendas por produtos. O resultado basicamente o mesmo que o anterior, pois estamos interessados no total. Contudo, aqui, ainda temos os detalhes das vendas. Para situaes mais complexas, voc precisar criar filtro ou consulta que rena os dados crticos para anlise e utilizar a tabela resultante para criar a sua tabela dinmica no Excel. A traduo do ingls para o portugus talvez no faa jus ao original em ingls PivotTable. Embora a traduo para Tabela Pivotante possa ser feia acredito que ela faa mais jus ao real significado do que uma Tabela Dinmica realmente seja. Pivotante refere-se a algo que gira sobre um ponto fixo e exatamente isso que os dados fazem dentro de uma tabela dinmica. Os dados giram sobre o eixo da tabela e voc pode gir-los vontade sobre tal eixo.
Robert F. Martim
www.juliobattisti.com.br rm@msofficegurus.com
09/04/2009 2/7/2009
11
Desenvolvimento inteligente
Esta aparente simplicidade nos fornece resultados extremamente complexos. Alm disso, se os dados em um formato no resultam no sumrio que voc deseja voc pode simplesmente arrastar o campo para outro local dentro da tabela para rearranjar os dados. Em nossa tabela de dados tambm possumos datas. Datas em tabelas dinmicas tm papel crtico, pois com as datas podemos agrupar dados para anlise por perodos. Por exemplo, poderamos comparar as vendas ms a ms. Ou ano a ano. O tipo de agrupamento pode variar com a necessidade. Isso pode ser facilmente feito simplesmente arrastando o campo para a tabela:
Com o agrupamento por ms podemos rapidamente identificar que o produto A tem uma constncia maior nas vendas. Que em abril o nico produto vendido foi o produto A e novamente em julho. Estes tipos de respostas no podem ser obtidos diretamente do conjunto de dados, pois o resultado unidirecional2. E se voc no gosta da forma como os resultados so apresentados, pela caracterstica pivotante da tabela dinmica, voc pode simplesmente mover um dos campos para outra rea qualquer ou remov-lo da tabela:
Embora seja possvel criar uma frmula matricial ou tabela para representar tal cenrio.
Robert F. Martim
www.juliobattisti.com.br rm@msofficegurus.com
09/04/2009 2/7/2009
12
Desenvolvimento inteligente
Em questo de segundos, voc cria outra apresentao dos dados sem esforo algum. Agora, junte a fora de filtros com consultas bem organizadas com tabelas dinmicas, e voc tem uma ferramenta de anlise de dados extremamente poderosa. Ao longo deste curso, voc notar que no existe uma forma correta de se criar uma tabela dinmica. Tabelas dinmicas so usadas para criar sumrios que nos ajudam a interpretar os dados. Como a tabela final feita depender da necessidade individual, do tipo de anlise sendo feita, e principalmente de sua compreenso dos dados. Na verdade, eu diria que o mais importante de tudo conhecer os dados. Sem conhec-los o seu trabalho ser muito mais complexo. Esta apenas uma introduo ao que possvel fazer com tabelas dinmicas. A seguir apresento os componentes de uma tabela dinmica e o que cada um faz antes de entrarmos na real criao das mesmas.
2.1. TDs, Tabelas e matriciais: como obter resultados iguais Mencionei antes que possvel simular um cenrio de uma tabela dinmica utilizando uma frmula matricial3 ou uma tabela. Apenas para matar a curiosidade, vejamos como isso feito. O conceito relativamente simples, embora o procedimento possa ser extramente complexo dependendo do tipo de dados e quantidade de dados que voc esteja lidando. Lembre-se que estou apenas dando um exemplo. No utilize este mtodo para efetuar clculos complexos, pois alm de trabalhoso consome muito mais de processamento do que uma TD.
Caso o leitor no tenha conhecimento sobre matriciais, veja o curso no link: http://www.juliobattisti.com.br/cursos/excelmatric/default.asp
Robert F. Martim
www.juliobattisti.com.br rm@msofficegurus.com
09/04/2009 2/7/2009
13
Desenvolvimento inteligente
Na clula C25 ns inserimos a frmula do clculo que desejamos efetuar (neste caso a soma por produto). Aqui, utilizo um formato geral similar a TD para facilitar a visualizao. Disponha os nomes dos produtos em uma coluna nica (vrias linhas por uma coluna) e defina o critrio (neste caso defini como sendo A na clula B23). Utilize o critrio na frmula para a soma baseado no critrio nico. Agora, siga os passos abaixo para criar a tabela: Selecione a rea B25:C29; V a guia Dados grupo Ferramentas de Dados Teste de Hipteses Tabela de Dados; Na nova janela que abrir, defina a clula de entrada da coluna como sendo B23; Clique OK.
A figura acima mostra a caixa de entrada para a tabela. Aps clicarmos em OK, a tabela ser preenchida com as somas por produto:
Autor: Publicado: Contato:
Robert F. Martim
www.juliobattisti.com.br rm@msofficegurus.com
09/04/2009 2/7/2009
14
Desenvolvimento inteligente
A tabela utiliza dois argumentos: linha e coluna. Neste caso, temos apenas coluna como argumento da tabela. Os resultados so propagados para as demais clulas e obtemos o que procuramos. Podemos tambm adicionar um somatrio sob a tabela para criar o total geral:
Como podemos ver, obtemos exatamente o mesmo resultado que obteramos em uma tabela dinmica. Outra forma de efetuar os mesmos clculos seria utilizando uma funo de banco de dados, uma frmula matricial ou SOMASE. Por exemplo, abaixo utilizo a funo SOMASE:
Robert F. Martim
www.juliobattisti.com.br rm@msofficegurus.com
09/04/2009 2/7/2009
15
Desenvolvimento inteligente
Como as reas so nomeadas, basta seleciona o nome do produto e as reas de dados e arrastar a frmula para baixo. Para a frmula matricial complica um pouco, pois o leitor precisa compreender de multiplicao de matrizes. O efetuar tal clculo faramos: Comparar nome do produto com o critrio (A, B, C e D) transposto; O resultado acima geraria uma matriz n x 4 (n linhas por 4 colunas, pois temos 4 produtos distintos); Transpomos tal resultado e o multiplicamos por 1 para obtermos uma matriz de zeros e uns com uma dimenso 4xn (4 linhas e n colunas); Multiplicaramos esta matriz de zeros e uns pela matriz contendo os valores totais para obtermos o que desejamos:
Obtemos mais uma vez o mesmo resultado, mas com um nvel de complexidade muito maior. Sem contar que o cenrio aqui simples. Imagine um cenrio mais complexo com colunas, mltiplas linhas, cabealhos, etc?
Robert F. Martim
www.juliobattisti.com.br rm@msofficegurus.com
09/04/2009 2/7/2009
16
Desenvolvimento inteligente
Seria o completo caos tentar resolver tais questes. Sem contar com a imprevisibilidade. E se o seu chefe resolve mudar tudo de posio? Portanto, embora seja possvel no nem um pouco recomendvel fazer algo to complexo utilizando mtodos manuais. O que vejo s vezes a argumentao de que uma TD no retorna no formato desejado. Se no retornar, no tem problema. Analise com a TD, depois copie e cole no formato desejado e mesmo assim ainda ser mais rpido, prtico e consumir menos recursos. No se apegue a detalhes que pouco ajudam na soluo do problema. Ataque o problema de frente e resolva-o. Depois, preocupe-se com questes de formatao e apresentao dos resultados.
2.2. Atualizacao de dados As informaes contidas em uma tabela dinmica no so atualizadas automaticamente, isto , caso ocorra uma mudana na fonte de dados esta mudana no ser refletida em sua TD. Este fato independe da localizao dos dados, ou seja, os dados podem estar na pasta de trabalho ou um servidor SQL remoto d no mesmo. Alm disso, pressionar F9 (recalcular) no recalcula ou atualiza a sua TD. Para atualizar os dados: 1. Clique direito sobre a TD e selecione Atualizar, ou; 2. Clique no boto Atualizar sob a guia Opes. Note que a TD precisa estar ativa para que esta guia esteja visvel, ou; 3. Determine um intervalo para atualizao nos casos de dados externos. Mais adiante no curso veremos como acessar esta opo.
Robert F. Martim
www.juliobattisti.com.br rm@msofficegurus.com
09/04/2009 2/7/2009
17
Desenvolvimento inteligente
3.
Neste tpico, discutirei as novidades da Tabela Dinmica no Excel 2007. A principal caracterstica que o leitor deve manter em mente diz respeito compatibilidade. Outra questo diz respeito ao acesso da ferramenta.
3.1. Acessando a ferramenta de tabela dinmica No Excel 2003 o acesso era feito pelo menu Dados. No Excel 2007 o acesso feito pela guia Inserir conforme mostra a figura abaixo:
Como o acesso feito por uma guia diferente da guia de formatao, voc pode adicionar a ferramenta Barra de Ferramentas de Acesso Rpido (BAR). Para tanto, clique com o boto direito do mouse sobre o boto Tabela Dinmica. A opo de adio BAR ser exibida:
Uma vez que o boto tenha sido adicionado BAR, o mesmo poder ser acessado rapidamente sem a necessidade de troca de guias:
Autor: Publicado: Contato:
Robert F. Martim
www.juliobattisti.com.br rm@msofficegurus.com
09/04/2009 2/7/2009
18
Desenvolvimento inteligente
NOTA: A forma como voc clica no boto determina qual elemento inserido. Note que o boto Tabela Dinmica , na verdade, um boto simples e um boto do tipo Split. No caso da figura acima o botao adicionado ao BAR o spliButton (boto split)
3.2. Ferramentas de Tabela Dinmica: Tabset de Extensibilidade No Excel 2003, ns tnhamos uma barra de ferramentas que era sensvel ao contexto do objeto. No Excel 2007, ns temos algo similar denominado tabset de extensibilidade:
A figura mostra apenas parte de toda a faixa de opes para o tabset Ferramentas de Tabela Dinmica. O leitor deve estudar atentamente a posio de cada elemento dentro da guia.
3.3. Adicionando suas prprias ferramentas ao Tabset de Extensibilidade Neste tpico cobrirei rapidamente a customizao do TabSet de extensibilidade da Tabela Dinmica. Caso o leitor tenha interesse de aprender mais sobre a customizao da Faixa de
Robert F. Martim
www.juliobattisti.com.br rm@msofficegurus.com
09/04/2009 2/7/2009
19
Desenvolvimento inteligente
Opes,
veja
curso
sobre
assunto
no
link:
Como no existe um Object Model (OM) em VBA para lidar com a criao de tais elementos da Faixa de Opes, ns utilizamos XML para tanto. O leitor precisar baixar o programa CustomUI Editor (gratuito na Internet) para poder acessar o arquivo Excel 2007 e adionar o seguinte cdigo XML para customizar a Guia conforme exemplo acima:
<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui"> <ribbon> <contextualTabs> <tabSet idMso="TabSetPivotTableTools"> <tab id="rxtab" label="Minhas Ferramentas de TD"> </tab> </tabSet> </contextualTabs> </ribbon> </customUI>
NOTA: importante lembrar que manter um arquivo Excel aberto no Excel 2007 ou aberto no CustomUI Editor far com que um dos dois perca as ltimas alteraes.
Robert F. Martim
www.juliobattisti.com.br rm@msofficegurus.com
09/04/2009 2/7/2009
20
Desenvolvimento inteligente
3.4. Lista de campos da tabela dinmica No Excel 2007 a lista de campos da tabela dinmica est mais inteligente e fcil de usar. Alm do formato padro de visualizao, podemos escolher entre quatro outros modelos diferentes de visualizao conforme mostrado na figura abaixo:
www.juliobattisti.com.br rm@msofficegurus.com
09/04/2009 2/7/2009
21
Desenvolvimento inteligente
Adia a atualizao do layout at que todos os campos tenham sido inseridos e o boto Atualizar tenha sido clicado. Note que desmarcar esta opo desfaz o layout criado com a opo marcada.
3.5. Acessando as opes da tabela dinmica A caixa de dilogo de opes da tabela dinmica mudou bastante, contendo agora um formato que agrupa funes similares.
Robert F. Martim
www.juliobattisti.com.br rm@msofficegurus.com
09/04/2009 2/7/2009
22
Desenvolvimento inteligente
Mtodo 1 1. Clique em qualquer local de sua tabela dinmica 2. Quando a guia de extensibilidade for ativada, seleciona a guia Opes 3. No primeiro grupo (canto esquerdo) chamado Opes clique sobre o boto de mesmo nome Mtodo 2 1. Siga os mesmo passos do mtodo 1, mas clique sobre a pequena seta do boto Opes (no clique sobre a palavra). Um menu ser expandido conforme Figura 3-8
Mtodo 3 1. Clique com o boto direito sobre a tabela dinmica; 2. Selecione a opo Opes da tabela dinmica
Robert F. Martim
www.juliobattisti.com.br rm@msofficegurus.com
09/04/2009 2/7/2009
23
Desenvolvimento inteligente
Robert F. Martim
www.juliobattisti.com.br rm@msofficegurus.com
09/04/2009 2/7/2009
24
Desenvolvimento inteligente
4.
Este curto tpico para introduzi-lo aos elementos que compem uma tabela dinmica. Voc precisar estudar estes elementos para compreender melhor como eles funcionam. As explicaes so basicamente o que voc pode encontrar no prprio Ajuda do Excel e a melhor forma de realmente aprend-los testar diferentes combinaes com os dados que voc possui. A dica que posso dar que voc deve iniciar com um pequeno banco de dados ou planilha com algumas informaes e alguns campos ao invs de um banco de dados ou planilha enorme e com diversos campos. Isso facilitar a sua compreenso e visualizao do que ocorre quando voc cruza os dados. Com um banco de dados ou planilha muito grande e muitos campos, certamente causar confuso para o mais inexperiente, pois a tendncia entrar em pnico quando no se consegue fazer o sumrio desejado. Isso muitos vezes tem a ver com o prprio formato dos dados (como eles esto gravados no banco de dados ou planilha e o tipo de relacionamento existente entre os dados) e requer uma abordagem diferente para se chegar ao resultado esperado.
4.1. Elementos de uma Tabela Dinmica A figura a seguir mostra os componentes da tabela dinmica apresentada anteriormente:
Para evitar um emaranhado de setas na figura eu omiti os itens os quais posso me referir sem a necessidade de setas dentro da figura.
Robert F. Martim
www.juliobattisti.com.br rm@msofficegurus.com
09/04/2009 2/7/2009
25
Desenvolvimento inteligente
Abaixo voc encontra o significado de cada um destes elementos (nem todos os elementos encontram-se na Figura 4-1): Campos Campos referem-se s categorias de dados de uma tabela dinmica. No exemplo acima, nomeProduto e Meses so os campos da tabela dinmica. Meses o campo de linha (rtulo de linha) ao passo que nomeProduto o campo de pgina (Filtro Relatrio). Campos podem ser os mesmos contidos na tabela fonte ou podem ser campos criados pelo usurio a partir dos campos j existentes. Item Item refere-se a cada elemento dentro de um campo qualquer. Por exemplo, no caso acima, as letras de A a D poderiam ser os itens do campo de coluna ao passo que os meses de janeiro a julho poderiam ser os itens do campo de linha. Itens podem ser expandidos e colapsados quando existem detalhes disponveis para os mesmos (discutirei isso mais adiante no curso). Observe que o ponto de interseo entre um item de linha e um item de coluna o sumrio de dados para o cruzamento entre os campos de linha e coluna para este item. Campo de linha (Rtulos de Linha) Um campo de linha refere-se ao campo na rea de linha da tabela dinmica. fcil confundir um campo de linha com um item de linha. Campos de linha referem-se aos campos utilizados como cabealhos para os itens de linha (os campos que possuem a seta de campo suspenso). Campo de coluna (Rtulos de Coluna) Um campo de coluna refere-se ao campo que mostra os itens na vertical. Novamente, fcil chamar um item de coluna de campo, por causa da maneira como uma planilha apresentada no Excel. Como sempre vemos os campos de uma planilha no topo, a tendncia olhar uma tabela dinmica e chamar um item de coluna de campo de coluna. Campos de coluna possuem uma seta de campo suspenso. Campo de filtro (Filtro Relatrio) Campo de filtro refere-se ao campo na parte superior da tabela dinmica. Este campo utilizado para filtrar os dados apresentados nos campos de linha e coluna. Campo de detalhes (Valores) Refere-se ao campo que recebe os dados a serem sumarizados. O campo no precisa
Autor: Publicado: Contato:
Robert F. Martim
www.juliobattisti.com.br rm@msofficegurus.com
09/04/2009 2/7/2009
26
Desenvolvimento inteligente
necessariamente receber um valor numrico. Este campo ir agrupar os dados de diversas formas. Voc pode somar, contar, retirar mdia e desvios padres, etc deste campo. Ou ainda criar os seus prprios campos.
Seta suspensa Seta suspensa a pequena seta ao lado de um campo de linha, coluna e/ou filtro
utilizado para expandir os itens contidos sob tal campo. A seta suspensa utilizada para filtrar os itens que devem ser sumarizados no campo selecionado4:
Ao expandir RL (Rtulos de Linha, o qual contm a agrupamento dos meses), voc pode selecionar os meses que devem aparecer em sua tabela dinmica.
Caso o layout do relatrio esteja no Formato Compacto (Design Layout Layout do Relatrio Mostrar em Formato Compacto) voce precisa clicar com o botao direito do mouse sobre a seta suspensa para visualizar os campos filtrveis.
Robert F. Martim
www.juliobattisti.com.br rm@msofficegurus.com
09/04/2009 2/7/2009
27
Desenvolvimento inteligente
4.2. Onde devo ir para inserir uma tabela dinmica? Para inserir uma tabela dinmica bastante simples (e j vimos isso anteriormente, mas entraremos em outros detalhes agora). Mesmo sem selecionar os dados o Excel ainda capaz de determinar a rea contendo os dados desde que a mesma esteja em um formato apropriado, isto , contenha cabealhos (nomes de campos), no possua registros nulos e seja contnua. Caso o seu conjunto de dados possua registros nulos, selecione a rea que contm os dados e siga as instrues abaixo para iniciar o Assistente de Tabela Dinmica: V at a guia Inserir grupo Tabelas boto split Tabela Dinmica Tipo: Tabela Dinmica: Cria uma tabela dinmica; Grfico Dinmico: Cria um grfico dinmico.
Uma nova janela ser aberta. Nesta janela, selecione uma das opes para a fonte de dados: Fonte de dados: Tabela/Intervalo: Especifica uma rea de uma planilha contida em uma pasta de trabalho Excel como sendo a fonte de dados; Fontes de dados externos: Especifica uma fonte externa de dados;
Robert F. Martim
www.juliobattisti.com.br rm@msofficegurus.com
09/04/2009 2/7/2009
28
Desenvolvimento inteligente
Determine se a tabela dinmica deve ser inserida em uma nova planilha ou na planilha ativa. Caso escolha a planilha ativa assegure-se que no h informaes no caminho da tabela. Embora um aviso seja emitido possvel substituir dados por erro. Geralmente, tenho preferncia por uma planilha nova.
4.3. Onde foi parar o Assistente de Tabela Dinmica no Excel 2007? Para todos aqueles que j usaram TDs no Excel 97-2003 a figura do Assistente certamente bem-vinda por vrias razes. Por exemplo,voc pode determinar a consolidao de vrias reas de dados, pode criar uma TD ou GD, etc. Porm, no Excel 2007 quando ns inciamos o processo no h mais tal Assistente. No obstante, ele continua presente no Excel, embora escondido dos olhos de todos. Para acessar o assistente, siga os passos: 1. Clique em alguma parte da tabela de dados; 2. Digite em seqncia as teclas Alt d a. Note que esta no a mesma seqncia de acelerao no Excel 97-2003.
Robert F. Martim
www.juliobattisti.com.br rm@msofficegurus.com
09/04/2009 2/7/2009
29
Desenvolvimento inteligente
Nesta primeira etapa, selecione uma das opes para a fonte de dados e para tipo (Tabela ou Grfico Dinmico) antes de continuar: Fonte de dados: Banco de dados ou lista do Microsoft Office Excel: Especifica uma rea de uma planilha contida em uma pasta de trabalho Excel como sendo a fonte de dados; Fontes de dados externos: Especifica uma fonte de dados externa; Vrios intervalos de consolidao: Especifica reas mltiplas de consolidao; Outro relatrio de tabela dinmica ou de grfico dinmico: Determina se a fonte provm de uma Tabela ou Grfico Dinmico j existente no documento em questo. Este mtodo evita redundncia de consultas e minimiza o uso de memria. Somente ser possvel utilizar tal opo se existir uma Tabela ou Grfico Dinmico disponvel no documento (se efetivamente existir um PivotCache). Tipo de relatrio: Tabela Dinmica: Cria uma tabela dinmica; Relatrio de Grfico Dinmico: Cria um grfico dinmico.
3. Clique em Avanar para continuar ou Concluir para terminar. Sugiro Avanar para se beneficiar do Assistente, principalmente se o leitor for iniciante. Assumindo que o leitor clicou em Avanar, o prximo passo requer a seleo da rea que contm os dados na planilha. Caso a clula selecionada esteja dentro do intervalo de dados e o intervalo esteja no formato correto o Excel capaz de determinar sozinho o intervalo de dados:
Robert F. Martim
www.juliobattisti.com.br rm@msofficegurus.com
09/04/2009 2/7/2009
30
Desenvolvimento inteligente
Clique em avanar para determinar o local de sada da TD. Caso j exista alguma tabela dinmica na pasta de trabalho o Excel avisar que ela j existe e se voc deseja utiliz-la para construir uma nova tabela. Caso o leitor clique em No, o Excel para avana para o ltimo passo:
Determine se a tabela dinmica deve ser inserida em uma nova planilha ou na planilha ativa. Caso escolha a planilha ativa assegure-se que no h informaes no caminho da tabela. Embora um aviso seja emitido possvel substituirmos dados por engano. Geralmente, tenho preferncia por uma planilha nova. Este o ltimo passo do Assistente. O Assistente de layout deve ser acessado a partir das opes da TD. Este assunto coberto adiante.
Robert F. Martim
www.juliobattisti.com.br rm@msofficegurus.com
09/04/2009 2/7/2009
31
Desenvolvimento inteligente
4.4. Opes da tabela dinmica Vamos investir agora um tempo na anlise das opes de uma tabela dinmica.
Como podemos ver acima, as opes so separadas em cinco grupos: 1) Formato e Layout; 2) Totais e Filtros; 3) Exibicao; 4) Impresso e 5) Dados. Deste modo, quebrarei cada um destes grupos em tpicos para que possamos analis-los separadamente e maximizar a compreenso de cada item dentro de cada grupo. Iniciarei pelas opes de formatao.
4.4.1. Layout e Formato A nossa primeira parada diz respeito s opes de layout e formatao. Todas as opes so tratadas separadamente:
Autor: Publicado: Contato:
Robert F. Martim
www.juliobattisti.com.br rm@msofficegurus.com
09/04/2009 2/7/2009
32
Desenvolvimento inteligente
Mesclar rtulos Mesclar rtulos nada mais do que um mesclado de clulas. Observe o a figura abaixo:
Note que as clulas selecionadas so mescladas quando esta opo ativada. A vantagem de ter as clulas mescladas que ao selecionar o espao j selecionamos o valor ao invs de uma clula. Na formatao padro, ns devemos especificamente selecionar a clula que contm o valor ao invs da rea que contm o valor. Abaixo e acima Modifica a disposio dos campos dentro da tabela. Observe as duas figuras a seguir
A figura acima mostra a disposio Abaixo e Acima ao passo que a figura abaixo mostra a disposio para o layout Acima e Abaixo:
Autor: Publicado: Contato:
Robert F. Martim
www.juliobattisti.com.br rm@msofficegurus.com
09/04/2009 2/7/2009
33
Desenvolvimento inteligente
Para valores de erro, mostrar Utilize esta opo para mostrar um erro por voc determinado ao invs dos erros internos como #NM!, #VALOR!, etc; Para clulas vazias, mostrar Quando no h informao para uma linha/coluna o Excel deixar em branco o ponto onde um valor seria esperado. A figura na prxima pgina mostra isso ocorrendo:
Utilize esta opo para determinar um valor para as clulas em branco. Apenas lembre-se de manter consistncia, isto , se voc est somando utilizando o valor zero. Note tambm que ao inserir o valor 0 a TD pode ser interpretada como sendo o valor zero ao invs de no h dados.
Robert F. Martim
www.juliobattisti.com.br rm@msofficegurus.com
09/04/2009 2/7/2009
34
Desenvolvimento inteligente
4.4.2. Totais e filtros Sob esta tabulao, o leitor poder inserir totais por linhas e colunas, alm de poder permitir mltiplos filtros por campo e permitir a utilizao de listas personalizadas na classificao dos dados. O leitor deve apenas lembrar que totais por linha totalizam os dados dispostos na horizontal ao passo que os totais de coluna totalizam os dados dispostos na vertical.
Outra forma de ativar/desativar totais acessar a guia Design (da guia de extensibilidade) e sob o grupo Layout boto split Totais Gerais selecione a o total desejado.
Robert F. Martim
www.juliobattisti.com.br rm@msofficegurus.com
09/04/2009 2/7/2009
35
Desenvolvimento inteligente
4.4.3. Exibio Na parte de exibio, ns podemos executar vrios comandos que nos permitem modificar o mtodo de exibio da tabela dinmica. Mostrar botes de expandir/recolher Esta opo permite a alternncia entre a visualizao e no visualizao do boto de expandir/recolher.
A expanso para itens pode ocorrer atravs deste boto ou pelo duplo-clique (caso o boto no esteja visvel). Outra opo acessar a TD e quando a guia de extensibilidade for ativada, v at a guia Opes grupo Campo Ativo Expandir Campo Inteiro:
www.juliobattisti.com.br rm@msofficegurus.com
09/04/2009 2/7/2009
36
Desenvolvimento inteligente
A exibio destes elementos til para impresso final de um relatrio de tabela dinmica. Layout clssico Exibe a TD no layout clssico, isto , no layout pr-Excel 2007. Neste caso, note que em caso de campos passveis de extenso, o item oculto ser exibido em outra coluna dentro da rea de rtulo de linha. A vantagem da utilizao deste layout que podemos arrastar os campos para dentro/fora de uma tabela dinmica. Utilize a tabela abaixo como guia dos smbolos de arraste do mouse: Ao arrastarmos um campo, caso a rea em azul seja o topo da pequena representao da TD, isso indica que o campo ser inserido na rea do campo de filtro; Ao arrastarmos um campo, caso a rea em azul seja o canto esquerdo da pequena representao da TD, isso indica que o campo ser inserido na rea do campo de linha; Ao arrastarmos um campo, caso a rea em azul seja a parte superior da pequena representao da TD, isso indica que o campo ser inserido na rea do campo de coluna;
Robert F. Martim
www.juliobattisti.com.br rm@msofficegurus.com
09/04/2009 2/7/2009
37
Desenvolvimento inteligente
Ao arrastarmos um campo, caso a rea em azul seja a rea central da pequena representao da TD, isso indica que o campo ser inserido na rea de dados; Ao arrastarmos um campo, caso a figura representando a TD muda para um pequeno X o campo ser removido. Contraste tambm o layout inicial da TD clssica com o layout da TD no Excel 2007:
4.4.4. Impresso Sob esta guia voc pode definir certas opes de impresso tais como impresso dos botes de expanso e recolhimento de itens.
4.4.5. Dados Utilize esta guia para definir opes de dados tais como se os dados devem ou no ser atualizados na abertura, se os dados devem ser salvos com o arquivo, etc. A deciso de salvar ou no salvar os dados com o layout de tabela determina como o Excel manipula os dados, tamanho do arquivo, desempenho da tabela e desempenho de processamento. Para salvar os dados com o layout da tabela, deixe este boto selecionado. Feito isso, o Excel salvar os dados juntamente com a pasta de trabalho. Aqui, existe uma demora no salvamento e o arquivo inchar. Quanto mais informaes de TDs estejam em cache e sejam salvas, maior ser o arquivo.
Robert F. Martim
www.juliobattisti.com.br rm@msofficegurus.com
09/04/2009 2/7/2009
38
Desenvolvimento inteligente
A vantagem que com os dados salvos no layout as informaes da TD so carregadas mais rapidamente e liberam memria, pois a mesma somente utilizada quando algo muda na TD, como relocao de campos dentro da TD. Por outro lado, se no utilizamos esta opo o Excel deixa de salvar a informao junto com a pasta de trabalho. Deste modo, o tamanho da pasta reduzido se comparado com o salvamento junto com o layout. O problema que os dados precisam ser atualizados. Ao atualizar, o Excel cria uma nova cpia dos dados em cache. Este processo mais lento que o anterior.
4.5. O que uma tabela unidimensional de campo nico? Uma tabela unidimensional de campo nico a tabela dinmica mais simples que voc encontrar. Neste tipo de tabela o usurio insere um campo de linha ou de coluna e o campo de dados. Feito isso, o usurio poder determinar como os dados so agrupados (soma, contagem, etc).
4.6. O que uma tabela bidimensional de campo nico? Uma tabela bidimensional de campo nico a tabela dinmica que contm ao menos um campo de linha e um campo de coluna com os dados de ambos os campos sendo cruzados na rea de dados. Este um dos motivos para se chamar tais tabelas de X-Tab (em ingls X-Tab lido como cross tabulation ou tabulao cruzada, em portugus). O grande poder de tabelas dinmicas que podemos rapidamente cruzar os mais variados tipos de informaes rapidamente.
4.7. O que uma tabela unidimensional e bidimensional de mltiplos campos? Como o nome sugere, se a tabela for unidimensional com mltiplos campos estamos observando uma tabela que contm mais de um campo da tabela fonte no campo de linha ou no campo de coluna da tabela dinmica. Por outro lado, uma tabela bidimensional com mltiplos campos aquela que possui mltiplos campos da tabela fonte tanto no campo de linha quanto no campo de coluna da tabela dinmica.
Robert F. Martim
www.juliobattisti.com.br rm@msofficegurus.com
09/04/2009 2/7/2009
39
Desenvolvimento inteligente
Boa parte das tabelas dinmicas feita em cima de tabelas bidimensionais, pois geralmente queremos cruzar diversos dados simultaneamente de diversos campos de nossa fonte de dados. Este tipo de tabela envolve um nvel de complexidade extremamente elevado e em muitos casos, voc no conseguir o resultado procurado na primeira tentativa (a menos que voc conhea muito bem os dados, sua estrutura e tenha muita experincia com tabelas dinmicas). Desta forma, se voc se encontrar em dificuldades em criar uma tabela dinmica complexa, no entre em pnico, pois em muitos casos o trabalho realmente frustrante de incio.
4.8. Adicionando campos tabela dinmica: mtodo clssico e novo Para adicionar um campo tabela dinmica bastante simples no Excel 2007. No mtodo normal para o Excel 2007, tudo que voc precisa fazer selecionar o campo e o Excel far a sugesto de onde ele deve ir. Em seguida, voc pode utilizar o mouse para arrastar os campos dentro da janela Lista de Campos para reorganiz-los ou reorden-los.
Robert F. Martim
www.juliobattisti.com.br rm@msofficegurus.com
09/04/2009 2/7/2009
40
Desenvolvimento inteligente
Na figura acima, para adicionar um campo rea de filtro (campo de filtro ou de pgina) tudo que precisaramos fazer selecionar o campo, selecionar a opo na lista conforme mostra a figura e clicar em Adicionar a. Mas isso mudou no Excel 2007. Ao invs disso, clique com o boto direito5 sobre o campo desejado para obter as mesmas opes:
Robert F. Martim
www.juliobattisti.com.br rm@msofficegurus.com
09/04/2009 2/7/2009
41
Desenvolvimento inteligente
4.9. Removendo campos da tabela dinmica Para remover um campo da tabela bastante simples. Simplesmente clique sobre o campo e segure o boto do mouse. Em seguida, arraste o campo para uma rea fora da tabela dinmica (utilizando o mtodo clssico conforme j ensinado). No modo normal, simplesmente desmarque o campo na lista de campos.
Robert F. Martim
www.juliobattisti.com.br rm@msofficegurus.com
09/04/2009 2/7/2009
42
Desenvolvimento inteligente
5.
Ao criar uma tabela dinmica, ns temos vrias opes de fonte de dados. Compreender tais fontes de dados fundamental no momento da criao de sua TD. Utilizar o Excel como fonte de dados pode no ser a melhor opo quando possumos uma grande quantidade de registros. Por outro lado se os dados precisam viajar com a planilha, provavelmente o Excel a melhor opo de fonte de dados. Investiremos um tempo agora para conhecer as vrias fontes de dados.
5.1. Banco de dados ou lista do Microsoft Office Excel Antes de tudo, lembre-se que no Excel 2007 no h mais lista. Ao invs disso, ns temos tabelas. Esta nova ferramenta substitui as antigas listas e possui muito mais vantagens do que as antigas listas. Para maiores informaes sobre Tabelas no Excel 2007, veja o curso: http://www.juliobattisti.com.br/cursos/ex2007tabelas/default.asp Utilizar o Excel como fonte de dados , sem dvida, a forma mais comum e conhecida na criao de TDs. Neste caso, os dados podem estar localizados: 1. na mesma pasta de trabalho; 2. em uma outra pasta de trabalho Independentemente da localizao acima, os dados devem estar padronizados para o formato de banco de dados, isto , com colunas representando campos e as linhas representando registros. Se a clula ativa est dentro da rea de dados e esta rea no possui descontinuidade de dados, o Excel ser capaz de determinar a rea total de dados que ser utilizada como fonte. Por outro lado, se voc deseja determinar a rea de forma explicita voc pode fazer o seguinte antes de iniciar o processo de criao da TD: 1. Selecione a rea de dados manualmente; 2. Digite o nome da tabela no campo Tabela/Intervalo. Nome da tabela , na verdade, um Nome (rea nomeada);
Robert F. Martim
www.juliobattisti.com.br rm@msofficegurus.com
09/04/2009 2/7/2009
43
Desenvolvimento inteligente
3. Crie um nome (que pode ser esttico ou dinmico) e digite o nome no campo Tabela/Intervalo. A Figura 5-1 mostra o exemplo utilizando o nome de uma tabela:
Caso o nome inserido seja invlido, o Excel exibir uma mensagem de erro solicitando a sua correo para que voc possa continuar. At usamos dados da mesma pasta de trabalho; porm, podemos tambm utilizar dados de uma pasta secundria. Primeira pergunta : por que eu faria isso? O principal motivo para isso reduzir o custo de manuteno dos dados na mesma pasta, pois alm do tamanho da pasta de trabalho h tambm a questo de velocidade de processamento. No caso dos dados estarem em uma pasta diferente, o processo de criao da TD ligeiramente diferente do processo j visto. Para criar esta TD, siga estes passos: 1. Inicie o processo de criao da TD conforme j mostrado; 2. O padro Tabela/Intervalo j estar selecionado. Clique no boto de referncia para abrir a caixa de seleo de intervalo de dados; 3. Navegue at a pasta de trabalho que contm os dados (use Alt+Tab para alternar entre os documentos abertos ou outro mtodo de sua preferncia);
Autor: Publicado: Contato:
Robert F. Martim
www.juliobattisti.com.br rm@msofficegurus.com
09/04/2009 2/7/2009
44
Desenvolvimento inteligente
4. Selecione os dados. Note que a fonte de dados ser exibida Por no formato: exemplo:
[NomeDaPasta.xlsx]NomeDaPlanilha!Intervalo.
[TD_XL07_Tpico3.3.xlsx]Plan1!MinhaTabela. Neste caso, MinhaTabela o nome do intervalo que contm os dados no formato de uma tabela. Alternativamente, voc pode inserir o caminho completo da localizao de sua pasta de trabalho contendo os dados, por exemplo: '\Users\Robert
Martim\Desktop\TD_XL07_Tpico3.3.xlsx'!MinhaTabela NOTA: s vezes, ns queremos criar uma TD em cima de dados filtrados. Caso os dados estejam filtrados o Excel ignorar o filtro e todos os dados sero utilizados. Caso voc queira somente os dados, copie os dados filtrados para outra localidade e utilize-os como fonte para a TD.
5.2. Fonte de dados externos No caso de fontes externas de dados, ns podemos: 1. Importar os dados para o Excel e utiliz-los diretamente no Excel, atualizando a consulta e a TD sempre que necessrio; 2. Conectar a TD fonte externa de dados. Para conectar a TD fonte externa de dados, siga os passos abaixo: 1. Abrar a caixa de dilogo de criao de TD; 2. Selecione a opo Fonte de dados externos; 3. Clique em Escolher Conexo para exibir a caixa de Conexes Existentes.
Robert F. Martim
www.juliobattisti.com.br rm@msofficegurus.com
09/04/2009 2/7/2009
45
Desenvolvimento inteligente
Neste ponto, selecione a conexo desejada e clique em Abrir. Alternativamente, clique em Procurar Mais para localizar outras fontes de dados no listadas. Caso no exista a conexo, voc pode utilizar a guia Dados grupo Obter dados externos. Escolha uma das opes, crie e salve a sua conexo para uso posterior. NOTA: Em alguns casos voc pode querer salvar a senha de conexo. Porm, este salvamento no recomendado. A razo que o Excel no somente expe toda a string de conexo, mas tambm o nome de usurio e senha. A Figura 5-3 exibe a string de conexo (cadeia de conexo) para um servidor SQL. O nome do usurio (sa) e a senha so exibidos:
Robert F. Martim
www.juliobattisti.com.br rm@msofficegurus.com
09/04/2009 2/7/2009
46
Desenvolvimento inteligente
No caso anterior, ns utilizamos a fonte externa para alimentar a TD diretamente. 5.3. Vrios intervalos de consolidao
Para usar esta opo necessrio acessar o antigo Assistente de Tabela Dinmica. O acesso direto pelo Excel 2007 no nos permite criar uma TD com este tipo de consolidao. Antes de tudo, importante lembrar que os dados devem ser compatveis com o formato requerido pela tabela dinmica. Caso contrrio, ns no obteremos o resultado desejado. Uma vez no formato correto, a criao da TD mais simples do que pode parecer. Estude a figura abaixo:
Para criar a TD utilizando os dois intervalos de consolidao, siga os passos abaixo: Pressione Alt d a (ou Alt d p no Excel 2007 em ingls); Selecione a opo Vrios Intervalos de Consolidao; Clique em Avancar para passar para o prximo passo;
Robert F. Martim
www.juliobattisti.com.br rm@msofficegurus.com
09/04/2009 2/7/2009
47
Desenvolvimento inteligente
Na segunda etapa do Assistente, voc ter as seguintes opes (selecione a opo padro e clique em Avanar): o Crie um nico campo de pgina O Campo de Pgina o nome dado no Excel 2003 ao Filtro de Relatrio no Excel 2007. Caso tenha dvida sobre a localizao, veja a Figura 4-1. o Criarei os campos de pgina Utilize esta opo para determinar quantos campos de pgina devem ter. Voc pode determinar entre zero (0) e quatro (4) campos.
No prximo passo, voc dever selecionar os intervalos de dados. Note que CentroOeste e Nordeste encontram-se no topo de cada um dos intervalos de consolidao. Voce no deve selecionar esta rea, mas somente a rea contendo os cabealhos de campo e dados. Veja Figura 5-6 para exemplo de como selecionar o intervalo.
Robert F. Martim
www.juliobattisti.com.br rm@msofficegurus.com
09/04/2009 2/7/2009
48
Desenvolvimento inteligente
Finalmente, defina onde voc deseja que a nova TD seja criada (sugiro em uma nova planilha).
Note que no possumos os nomes dos campos, mas apenas a consolidao dos mesmos. No caso do Filtro de Relatrio, ao expandi-lo, voc ver apenas Item 1 e Item 2 os quais se referem aos itens Centro-Oeste e Nordeste respectivamente (campo Regio).
Robert F. Martim
www.juliobattisti.com.br rm@msofficegurus.com
09/04/2009 2/7/2009
49
Desenvolvimento inteligente
O nosso prximo passo mudar os nomes dos campos padres para o que realmente queremos. Iniciaremos pelos Filtros de Relatrio. Siga os passos abaixo: Clique no boto de filtro (onde se l (Tudo)) e escolha Item 1 Na barra de frmula, troque o valor Item 1 para Centro-Oeste e pressione Enter
Ao pressionar Enter, o Excel avisar que no existe o item digitado e sugerir que o item seja renomeado:
Clique OK para continuar e renomear o item. Repita os passos e renomeie o Item 2 para Nodeste bem como Pgina 1 para Regio. Ao final da renomeao, voc ter o resultado como segue:
Robert F. Martim
www.juliobattisti.com.br rm@msofficegurus.com
09/04/2009 2/7/2009
50
Desenvolvimento inteligente
Em seguida, ns renomearemos os campos. Na lista de campos, clique no campo que deseja renomear e selecione a opo Configuraes do Campo:
Robert F. Martim
www.juliobattisti.com.br rm@msofficegurus.com
09/04/2009 2/7/2009
51
Desenvolvimento inteligente
No caso acima, o campo selecionado Linhas o qual deve ser modificado para Cidade. Ao terminar de renomear todos os campos (exceto o de colunas que no ter efeito algum para este exemplo), voc ter o seguinte cenrio:
5.4. Outro relatrio de tabela dinmica ou de grfico dinamico Como ltima opo da lista de fonte de dados ns temos como utilizar outra TD ou Grfico Dinmico (GD). No Excel 2007, voc pode criar uma TD/GD utilizando os seguintes mtodos: Selecionar o mesmo intervalo (intervalo exato) de uma TD j existente; Acionar o Assistente (Alt d a) e selecionar a TD da lista
Figura -13 Baseando uma nova TD em uma j existente 5 Autor: Publicado: Contato:
Robert F. Martim
www.juliobattisti.com.br rm@msofficegurus.com
09/04/2009 2/7/2009
52
Desenvolvimento inteligente
O motivo para usar outra TD/GD como fonte de dados? Uma TD/GD baseada em outra usa menos memria. Simples assim.
Robert F. Martim
www.juliobattisti.com.br rm@msofficegurus.com
09/04/2009 2/7/2009
53
Desenvolvimento inteligente
6.
Formatao
Neste tpico discutirei a questo de formatao de uma tabela dinmica. A formatao um ponto importante, pois atravs dela que ns realamos pontos dentro da tabela, etc. Formatao uma parte complexa, pois cada indivduo tem gosto diferente. Portanto, este tpico no estar focado em como-fazer-a-tabela-mais-bonita-do-planeta, mas estar focado nas ferramentas que o leitor precisa para criar a formatao que desejar. Aqui, no discutirei questes bsicas como onde modificar cor de letra. O que faremos aprender a formatar uma TD. assumido que o leitor sabe onde formatar texto, linhas, fundos, etc.
6.1. Estilos de Tabela Dinmica O Excel 2007 vem com um nmero de estilos prontos para aplicao em uma tabela dinmica. Alm disso, voc pode criar a sua prpria formatao e/ou estilo. Por questo de praticidade e rapidez, eu prefiro os estilos prontos aos meus prprios. No obstante, h empresas que, por motivos de identidade corporativa, utilizam estilos prprios. Um estilo visa controlar vrios aspectos visuais, entre eles (no somente de uma TD/GD mas de qualquer outro objeto no Excel): Fonte: define o tipo de fonte a ser utilizado em toda a TD/GD ou em elementos especficos do objeto que receber o estilo. Voce pode definir tamanho, cor, estilo (negrito, itlico, sublinhado, etc), estilo de fonte, etc Bordas: define o estilo de bordas para linhas horizontais e verticais utilizadas para envolver a rea onde ser aplicada ou elemento que receber a aplicao Fundo: determina cores de fundo bem como padres para o fundo do elemento em questo Para aplicar um estilo: Selecione a TD que receber o estilo Selecione um estilo da lista de estilos conforme mostra figura a seguir
Robert F. Martim
www.juliobattisti.com.br rm@msofficegurus.com
09/04/2009 2/7/2009
54
Desenvolvimento inteligente
Alternativamente, voc pode abrir a caixa de definio de estilos (Estilos de tabela dinmica Novo estilo de tabela dinmica) onde voc poder definir o estilo para os mais variados elementos da tabela dinmica:
Nesta janela, voc possui os seguintes elementos: Nome: Digite aqui o nome para o seu estilo personalizado Visualizao: Exibe como o seu estilo ficar
Robert F. Martim
www.juliobattisti.com.br rm@msofficegurus.com
09/04/2009 2/7/2009
55
Desenvolvimento inteligente
Limpar: Limpa toda a formatao da TD selecionada Definir como estilo rpido de tabela dinmica para este documento: define como estilo padro para todas as novas TDs para a pasta de trabalho.
Para modificar o estilo criado basta retornar galeria de estilos e clicar com o boto direito sobre o estilo personalizado. Para os estilos internos ns podemos defini-lo cmo padro, copiar etc:
6.2. Formatando campo Para formatar um campo bastante simple. Voc pode acessar a configurao do campo: Direto na tabela: Clique com o boto direito sobre o campo e escolha a opo Configuraes de campo. Na lista de campo (rea de campos na TD e no de campos disponveis): clique com o boto esquerdo sobre o campo e escolha a opo Configuraes de campo. Sob a guia Opes, grupo Campo Ativo: Clique sobre o campo desejado, selecione a guia Opes grupo Campo Ativo e clique em Configuraes de campo. As opes de configurao do campo selecionado dependero do tipo de dado no campo selecionado.
6.3. Layout do relatrio de tabela dinmica O Excel oferece trs tipos de layouts distintos para a sua tabela dinmica. Estes podem ser acessados sob a guia Design (presente na guia de extensibilidade Ferramentas de Tabela Dinmica).
Robert F. Martim
www.juliobattisti.com.br rm@msofficegurus.com
09/04/2009 2/7/2009
56
Desenvolvimento inteligente
Os seguintes layouts estao disponveis: Formato compacto: Este layout requer o mnimo de espao para a sua TD. Figura 6-4 mostra o modelo de formato compacto. Este formato oculta boto de Lista Suspensa para o segundo e subseqente campos de linha. Formato de Estrutura de Tpicos: Neste layout, os dados so formatados no modelo de estrutura de tpicos, isto , os campos so indentados de acordo com a ordem hierrquica. Figura 6-5 mostra o formato em Estrutura de Tpicos Formato de tabela: Exibe a TD em um formato de tabela. Figura 6-6 mostra a TD no formato de tabela.
www.juliobattisti.com.br rm@msofficegurus.com
09/04/2009 2/7/2009
57
Desenvolvimento inteligente
6.4. Preservando formatao Ao aplicar uma formatao diretamente nos elementos de uma tabela dinmica, ao atualizarmos a TD, a formatao revertida para a formatao padro aplicada. Para manter o formato aplicado abra a caixa de opes da tabela dinmica e marque a opo Preservar a formatao da clula ao atualizar. importante notar que elementos que pertencem ao mesmo campo podem ser formatados simultaneamente desde que eles tenham sido selecionados. Para selecionar tais elementos vai depender do cursor do mouse:
Robert F. Martim
www.juliobattisti.com.br rm@msofficegurus.com
09/04/2009 2/7/2009
58
Desenvolvimento inteligente
Com o cursor apontando para baixo, conforme figura acima, os elementos do campo da linha (Regio) sero selecionados como mostra a rea sombreada. O mtodo mais seguro, obviamente, selecionar o campo diretamente na lista de campos e formatar por l.
6.5. Modificando nome de campos Para modificar o nome de um campo bastante simples: um duplo-clique sobre o nome do campo6,7 e a janela de edio do nome do campo aberta:
No campo Nome Personalizado, defina o nome que voc deseja dar ao campo em questo.
Caso a rea de dados possua mais de um campo o duplo-clique no funcionar. Para modificar o nome do campo clique com o boto direito sobre o campo e escolha a opo Configuraes de campo. Utilize este mtodo para modificar campos tambm. 7 Caso a TD esteja em um formato de relatrio, o duplo-clique sobre a rea de dados causar a criao de uma planilha nova em forma de uma tabela-relatrio.
Robert F. Martim
www.juliobattisti.com.br rm@msofficegurus.com
09/04/2009 2/7/2009
59
Desenvolvimento inteligente
7.
At o momento vimos o bsico e o importante para que possamos trabalhar com tabelas dinmicas. Sem este conhecimento bsico, passar para o prximo estgio pode ser mais penoso (como o caso da formatao). Neste grande tpico veremos como trabalhar com campos em uma tabela dinmica. Primeiramente, investiremos um tempo na construo de tabelas com mltiplos campos em linha e/ou coluna. Em seguida movemos para subtotalizaes, agrupamentos e campos calculados.
7.1. Trabalhando com campos de linha e de coluna Trabalhar com campos de linha bastante simples. Iniciaremos com a adio de um campo de linha mais o campo de dados da planilha deste tpico:
Ns temos aqui uma tabela simples unidirecional, isto , uma TD contendo um campo de linha mais o campo de dados. Caso haja uma necessidade de maior detalhamento, ns podemos adicionar mais um campo rea reservada para as linhas conforme mostra a figura a seguir. Note que a disposio dos dados em forma de relatrio e, portanto, podemos expandir ou colapsar um determinado item dentro do campo:
Robert F. Martim
www.juliobattisti.com.br rm@msofficegurus.com
09/04/2009 2/7/2009
60
Desenvolvimento inteligente
Conforme j dito a expanso total acima pode ser colapsada/expandida conforme a necessidade, bastando apenas clicar nos botes de mais (+) e menos (-):
Agora que possumos estes dois campos o que mais podemos fazer? Clique com o boto direito sobre o campo Regio e selecione a opo Configuraes do campo. A caixa de dilogo do campo da TD ser aberta:
Autor: Publicado: Contato:
Robert F. Martim
www.juliobattisti.com.br rm@msofficegurus.com
09/04/2009 2/7/2009
61
Desenvolvimento inteligente
Na guia Subtotais e Filtros ns podemos definir o tipo de subtotais que desejamos trabalhar. Por exemplo, dependendo do tipo de dados, o subtotal automtico ser Soma ou ContNm. Por outro lado, voc pode selecionar Personalizados e escolher a funo para agregar os seus dados. Clicando na guia Layout e Impresso. Voce ter as seguintes opes:
Robert F. Martim
www.juliobattisti.com.br rm@msofficegurus.com
09/04/2009 2/7/2009
62
Desenvolvimento inteligente
O que cada uma das opes representa: Mostra rtulos de item no formato de estrutura de tpicos Exibe os rtulos de item (no confunda Item com Campo, cidade se transforma em item quando estruturada dentro do campo regio) em estrutura de tpicos. Campo fica uma linha acima do item dentro da estrutura da TD: o Exibir rtulos do prximo campo na mesma coluna O prximo campo aqui se refere ao campo que fornecer os itens na estrutura de tpicos. Uma coluna removida para cada item na estrutura da TD. O formato precisa ser aplicado para CADA campo que possui um campo de itens. o Exibir subtotais no incio de cada grupo Subtotais sero exibidos cada vez que um grupo modificado. Mostrar rtulo de item no formato de tabela Exibe o rtulo no formato da tabela. O campo fica na mesma linha que o item dentro da estrutura da TD. Inserir linha em branco aps cada item Novamente, faz exatamente o que est escrito: insere uma linha em branco aps cada item de um grupo; Inserir quebra de pgina aps cada item Esta opo de impresso permite colocar quebras de pgina nos itens do campo selecionado. Vejamos agora os itens de subtotalizao que aparecem na caixa de edio do campo da TD.
7.2. Trabalhando com sumrios e subtotalizaes: subtotais simples e mltiplos Ao criar uma tabela dinmica o Excel adicionar totais por linhas ou colunas (ou ambas se desejar). O tipo de total poder variar dependendo do tipo de dado na rea de dados. Por exemplo, se todos os dados forem textos, ento os mesmos so contados automaticamente ao passo que valores numricos so somados. importante salientar que um valor diferente na rea de dados determinar o total adicionado (contagem ou soma). Por exemplo, se existirem 999 valores numricos e um de texto, a contagem tem precedncia sobre a soma:
Robert F. Martim
www.juliobattisti.com.br rm@msofficegurus.com
09/04/2009 2/7/2009
63
Desenvolvimento inteligente
Embora estes dois sumrios sejam padres, ainda possvel determinar outros tipos de sumrios. A figura acima mostra algumas das opes de subtotalizao. Voc pode selecionar mais de uma funo para personalizao e o campo de dados ser duplicado para exibir a nova subtotalizao. Observe a figura abaixo:
Nesta figura ns possumos a soma total por regio e a mdia por regio. Porm, note que a mdia no entre as cidades, mas entre todas as observaes para o Centro-Oeste, isto , a
Autor: Publicado: Contato:
Robert F. Martim
www.juliobattisti.com.br rm@msofficegurus.com
09/04/2009 2/7/2009
64
Desenvolvimento inteligente
mdia entre toda a soma para a regio (R$4.135.308) divida pelo total de observaes (648) para a regio. Finalmente, para remover um subtotal, basta abrir a caixa de configurao do campo da TD e excluir os tipos de subtotais desejados.
7.2.1. Modificando o tipo de subtotal apresentado (mostrar como % do total, etc) Os subtotais que adicionamos anteriormente so valores absolutos, porm suponha que voc queira saber os valores relativos, isto , o que voc deseja saber a proporo de cada valor em relao ao total. Continuando com os dados e exemplo do tpico anterior, vejamos o nosso cenrio inicial normal (normal a opo inicial de apresentao do sumrio):
A soma total o nosso 100% e cada uma das somas para as regies brasileiras representa um percentual do total. Poderamos efetuar o clculo no lado externo da TD, porm este no seria o cenrio ideal:
Robert F. Martim
www.juliobattisti.com.br rm@msofficegurus.com
09/04/2009 2/7/2009
65
Desenvolvimento inteligente
Se os valores em linha forem modificados teremos erro no clculo. Por outro lado, se houver mudanas na coluna (adio de um campo de linha ou coluna), a TD ser movida para a direita sobrescrevendo os valores (o usurio ser alertado antes) calculados. Como estes clculos no fazem parte da TD eles so sensveis a modificaes externas. A soluo adicionar o clculo diretamente na TD. Para modificar este campo, abra a configurao de campos para o campo Soma do Total. Quando a janela abrir clique em Opes para expandir as opes do campo:
Figura -10 Opes de visualizao de dados 7 Criado em: www.juliobattisti.com.br ltima edio: rm@msofficegurus.com
Robert F. Martim
09/04/2009 2/7/2009
66
Desenvolvimento inteligente
No total so 9 formas diferentes de apresentar os dados (incluindo a forma normal). No exemplo acima, estamos interessados no percentual do total (% do total). Selecione e aplique esta opo:
O exemplo acima pode ser expandido para levar em conta cenrios mais complexos. Vejamos como complicar um pouco a nossa anlise. O nosso conjunto de dados possui um campo de categorias o qual pode ser utilizado em nossa anlise. Suponha que desejamos saber o somatrio para cada regio dentro de cada categoria. Tambm desejamos saber o percentual que cada regio representa para cada categoria. O nosso cenrio inicial mostrado abaixo:
Para criar esta tabela inicial siga os passos: Inicie com um TD em branco;
Robert F. Martim
www.juliobattisti.com.br rm@msofficegurus.com
09/04/2009 2/7/2009
67
Desenvolvimento inteligente
Adicione o campo Regio rea de linha e o campo Categoria rea de coluna. A TD ter agora a seguinte visualizao:
O prximo passo adicionar os dados. Aqui, acrescente o campo Total duas vezes na rea de dados. Assim, obteremos a figura inicial deste tpico. Caso o Excel adicione o campo Total como rtulo de Valores da coluna, mova o campo de rtulo para a rea de linha. A figura da direita abaixo mostra como a configurao dos campos deve ficar (a figura da esquera a sugesto padro do Excel):
Modifique o rtulo para os campos da rea de dados para Soma por categoria e para % Regional por categoria. A nossa TD agora ter o seguinte layout:
Robert F. Martim
www.juliobattisti.com.br rm@msofficegurus.com
09/04/2009 2/7/2009
68
Desenvolvimento inteligente
Selecione o campo (efetivamente ser um item na rea de linha) % Regional por categoria e acesse a caixa de configurao de campo. Clique em Opes e modifique a visualizao para % da coluna:
Os totais acima so para colunas, mas o leitor pode modificar para mostrar os totais por linha, por exemplo.
7.3. Utilizando data base para comparar valores (gastos de um trimestre base comparados com outro) Este exemplo pode ser expandido para outros cenrios tais como comparaes entre anos, entre meses, etc. O que desejamos criar neste novo cenrio descrito abaixo: Calcular a soma total para uma regio qualquer;
Robert F. Martim
www.juliobattisti.com.br rm@msofficegurus.com
09/04/2009 2/7/2009
69
Desenvolvimento inteligente
Agrupar os dados desta regio por trimestre; Comparar o desempenho dos trimestres seguintes ao trimestre base (neste caso ser o primeiro trimestre, mas o trimestre base pode ser qualquer um).
Para iniciar, vamos criar a parte bsica de nossa TD. Siga os passos abaixo: Adicione uma nova TD utilizando os dados deste tpico; Adicione os campos Regio e Data da Venda rea de linhas; Adicione o campo de Total rea de dados.
A nossa TD agora ter o seguinte visual (a imagem abaixo mostra apenas parte dos dados):
Agora que j possumos a parte bsica, precisamos agrupar os dados por trimestre e mostrar os dados apenas para a regio que desejamos analisar. Alm disso, precisaremos repetir o total para efetuar a nossa comparao. Para este novo estgio, siga os passos abaixo: Clique-direito sobre o campo Trimestre e clique sobre Agrupar; Na nova janela que abrir, selecione a opo Trimestre conforme mostra a figura:
Robert F. Martim
www.juliobattisti.com.br rm@msofficegurus.com
09/04/2009 2/7/2009
70
Desenvolvimento inteligente
O prximo passo requer a adio do campo Total rea de dados (desde modo teremos os dados repetidos) e o novo visual da TD ser:
Robert F. Martim
www.juliobattisti.com.br rm@msofficegurus.com
09/04/2009 2/7/2009
71
Desenvolvimento inteligente
Modifique os rtulos dos totais para Soma do total e % comparativo (base Trim1). Para efetuar a ltima mudana em nossa TD para mostrar o percentual comparativo entre os trimestres tendo como base o primeiro trimestre, siga os passos abaixo: Clique-direito sobre o campo % comparativo (base Trim1) e selecione Configuraes de campo; Na janela que abrir, clique no na guia Mostra valores como; Selecione a opo % diferena de; No campo base, selecione o campo Trimestre; No item base, selecione o item Trim1; Clique OK para terminar.
Robert F. Martim
www.juliobattisti.com.br rm@msofficegurus.com
09/04/2009 2/7/2009
72
Desenvolvimento inteligente
Como o trimestre base o primeiro, este item estar vazio conforme mostra a figura acima. O clculo efetivamente feito pelo Excel a diviso do segundo (e terceiro) trimestre pelo primeiro trimestre. Do resultado subtramos 1. Por exemplo, a diferena para o segundo trimestre calculada como segue:
7.4. Trabalhando com ndices (comparao relativa) J vimos como efetuar uma comparao absoluta e como efetuar uma comparao percentual. O nosso prximo objetivo efetuar uma comparao relativa. Uma comparao por ndice similar comparao percentual, porm o Excel nos fornece a opo de ndice para este tipo de comparao e exatamente isso que faremos. A grande questo deste tipo de comparao a interpretao dos resultados. Como estamos lidando com o cruzamento de dados, isso implicaria que um ndice muito elevado em uma linha indicaria que ele extremamente importante para o item da coluna.
Note que a TD exibe -42.25. Aqui o ponto usado para separar o decimal. Isso ocorre, pois o meu sistema est configurado para o ingls britnico onde o decimal separado com o ponto ao invs de vrgula. Autor: Robert F. Martim Criado em: 09/04/2009 Publicado: www.juliobattisti.com.br ltima edio: 2/7/2009 Contato: rm@msofficegurus.com
73
Desenvolvimento inteligente
A figura a seguir mostra o resultado final deste tipo de comparao. Vejamos primeiro o que o resultado significa antes de criamos a TD utilizando ndices:
Todos os itens de nossa tabela possuem um ndice bastante similar (indicando uma importncia balanceada). Na linha TELEFONIA ns vemos que o ndice para o Sul de 0,97 ao passo que para o Centro-Oeste este mesmo ndice de 1,21. Este resultado implica que telefonia tem uma importncia menor nas vendas para o Sul ao passo que a sua importncia maior para o CentroOeste. O clculo efetuado pelo Excel para gerar o ndice o seguinte;
ndice
Agora que o leitor j compreende como o clculo feito e como interpretar o resultado, vejamos como modificar uma TD: Clique-direito sobre o campo de dados; Selecione a opo Configuraes do campo de Valor; Na janela que abrir clique em Mostrar Valores Como; Selecione a opo ndice dentre as opes para mostrar os dados.
Robert F. Martim
www.juliobattisti.com.br rm@msofficegurus.com
09/04/2009 2/7/2009
74
Desenvolvimento inteligente
7.5. Trabalhando com campos e itens calculados At o momento aprendemos diversas formas de trabalhar com campos em uma tabela dinmica manipulando os resultados finais. No obstante, os clculos efetuados at o momento so resultados de funes internas do Excel. Contudo, alm destas mais variadas opes, ns podemos criar nossos campos calculados os quais so utilizados pela TD. Vejamos, primeiramente, o que um campo e item calculado antes de partirmos para a criao dos mesmos.
7.5.1. O que um campo ou item calculado? Antes de tudo, o que um campo ou item calculado? Um campo calculado no a mesma coisa que um item calculado, portanto precisamos defini-los separadamente: Campo calculado Um campo calculado nada mais do que um novo campo. Porm, este novo campo criado atravs de um clculo entre dois ou mais campos existentes em nossa tabela dinmica. Pegue, por exemplo, os campos Total e Qtd Vendida. Sabemos que ao inserir este dois campos na rea de dados obtermos um somatrio dos totais e obteremos um somatrio das quantidades. Supondo que tais somatrios sejam por cada regio brasileira, se ns dividirmos o Total pela Qtd Vendida ns obtemos um retorno mdio por unidade vendida por regio. A figura a seguir mostra a configurao inicial de nossa tabela dinmica:
Robert F. Martim
www.juliobattisti.com.br rm@msofficegurus.com
09/04/2009 2/7/2009
75
Desenvolvimento inteligente
www.juliobattisti.com.br rm@msofficegurus.com
09/04/2009 2/7/2009
76
Desenvolvimento inteligente
Esta configurao inicial o que obteramos normalmente ao adicionarmos os campos nossa TD. Porm, o objetivo, conforme delineado anteriormente, obter a seguinte TD onde os ltimos trs itens do campo Categoria so calculados como um nico item:
Como podemos ver, agora possumos os trs itens anteriores em um nico onde o valor representa a soma de cada um dos itens determinados. Agora que o leitor j sabe o que um campo e um item calculados significam, vejamos como criar tais campos e itens e aplic-los nossa TD.
Autor: Publicado: Contato:
Robert F. Martim
www.juliobattisti.com.br rm@msofficegurus.com
09/04/2009 2/7/2009
77
Desenvolvimento inteligente
7.5.2. Criando um campo e/ou item calculado Voltemos ao exemplo da introduo aos campos calculados. O nosso cenrio inicial dado pela figura a seguir. O que desejamos saber mdia unitria. Ns j possumos o total das vendas e o total da quantidade vendida.
Para inserir o campo calculado da mdia por unidade vendida, siga os passos abaixo: Ative a tabela dinmica; Clique na guia Opes e sob o grupo Ferramentas selecione Frmulas Campo Calculado; A figura abaixo mostra os passos acima visualmente:
Robert F. Martim
www.juliobattisti.com.br rm@msofficegurus.com
09/04/2009 2/7/2009
78
Desenvolvimento inteligente
Ao clicar na opo Campo calculado, a caixa de dilogo do campo calculado ser aberta. Aqui, precisamos determinar a nossa frmula. A figura abaixo mostra o novo campo j configurado:
Obtemos, assim, o nosso primeiro campo calculado. O nosso prximo problema adicionar o item calculado. Para que isso seja possvel, os itens do campo no podem estar agrupados. Caso os mesmos estejam agrupados (ou os dados venham de uma TD onde os itens estejam agrupados), necessrio desagrupar os dados antes de continuar. Para inserir o item calculado agregando os itens discutidos no tpico, siga os passos abaixo: Ative a tabela dinmica;
Robert F. Martim
www.juliobattisti.com.br rm@msofficegurus.com
09/04/2009 2/7/2009
79
Desenvolvimento inteligente
Clique na guia Opes e sob o grupo Ferramentas selecione Frmulas Item Calculado;
O Excel capaz de reconhecer o campo onde podemos efetuar o clculo e j abre a janela sugerindo qual campo utilizar:
Tudo que precisamos fazer adicionar o nome do campo e a frmula (neste caso uma simples soma) conforme mostra a figura anterior. Clique OK para terminar. A nossa TD agora ter o seguinte visual:
Robert F. Martim
www.juliobattisti.com.br rm@msofficegurus.com
09/04/2009 2/7/2009
80
Desenvolvimento inteligente
O qual no exatamente o que desejamos tendo em vista que agrupamos trs itens em um s. Sendo assim a soma total e para cada regio ter os trs itens adicionados tambm, como se os mesmos fizessem parte de uma nova categoria. O que precisamos fazer remover estes itens. Para tanto, clique na seta do menu suspenso9 da categoria e remova os itens consolidados:
Ao clicar OK, os campos sero filtrados ficando somente a consolidao e os campos no consolidados. Neste ponto, o reclculo da TD feito e os valores corretos so mostrados:
Caso o menu suspenso da Categoria no esteja visvel, clique com o boto direito sobre o menu suspeso para ativar a categoria ou mude a visualizao para modo Tabular (Design Layout do Relatrio Mostrar em Formato de Tabela).
Robert F. Martim
www.juliobattisti.com.br rm@msofficegurus.com
09/04/2009 2/7/2009
81
Desenvolvimento inteligente
Chegamos ao final da criao de campos e itens calculados. Vejamos agora como remov-los da lista de campos.
7.5.3. Editando/Excluindo campos/itens calculados Para remover um campo ou item calculado bastante simples. Acesse a caixa de dilogo de criao de itens/campo calculado. Na caixa de combinao Nome selecione o nome do campo/item e clique em Excluir:
Robert F. Martim
www.juliobattisti.com.br rm@msofficegurus.com
09/04/2009 2/7/2009
82
Desenvolvimento inteligente
O leitor deve estar atento ao fato de que caso o campo esteja sendo usado o mesmo ser removido da TD. Isso ocorre porque o mesmo no est mais disponvel na lista de campo. Caso um novo campo calculado com o mesmo nome e caracterstica seja criado, o mesmo ser novamente mostrado na TD.
7.5.4. Determinando ordem de clculo Se a ordem de clculo fator importante em um campo ou item calculado (caso um campo ou item calculado dependa do resultado de outro), ento precisamos determinar a ordem de resoluo do clculo. Para determinar a ordem de clculo v at Opes Frmulas Ordem de resoluo. Na janela que abrir, selecione o campo/item e utilize o boto Mover para cima ou Mover para baixo para determinar a ordem:
Robert F. Martim
www.juliobattisti.com.br rm@msofficegurus.com
09/04/2009 2/7/2009
83
Desenvolvimento inteligente
7.5.5. Determinando ordem de apresentao Outra questo de ordenao diz respeito apresentao. O Excel automaticamente sugerir uma ordem de apresentao dos itens em uma tabela dinmica. No obstante, um item pode ser mais importante que outro e o que realmente queremos que o item importante fique em destaque no topo da lista. A figura abaixo mostra a ordem padro (neste caso, alfabtica) dos itens do campo Categoria:
Supondo que o item calculado Outros deva vir no topo da lista de itens, ns podemos facilmente rearrumar a ordem os itens:
Robert F. Martim
www.juliobattisti.com.br rm@msofficegurus.com
09/04/2009 2/7/2009
84
Desenvolvimento inteligente
Para rearrumar a ordem dos itens siga os passos abaixo: Selecione um item do campo onde ocorrer a rearrumao; Clique na Opes Classificar Ordem; Selecione a opo Manual. Mova o item para o local desejado.
Robert F. Martim
www.juliobattisti.com.br rm@msofficegurus.com
09/04/2009 2/7/2009
85
Desenvolvimento inteligente
7.6. Determinando os Top 10 (os 10 Primeiros) Alm das facilidades que vimos at o momento, podemos utilizar a ferramenta de Top 10 ou os 10 Primeiros para determinar o grupo que possui os 10 maiores valores em nossa lista. Embora o nome oficial seja 10 Primeiros, isso no quer dizer que s possamos filtrar os 10 maiores valores. Na verdade, no somente podemos determinar quantos valores, mas tambm a ordem, isto , poderamos determinar os 10 menores valores em nossa TD. Para filtrar a lista para os 10 maiores ou menores valores, siga os passos abaixo: Clique sobre a ala de filtragem Filtros de Valores 10 Primeiros;
Robert F. Martim
www.juliobattisti.com.br rm@msofficegurus.com
09/04/2009 2/7/2009
86
Desenvolvimento inteligente
10
10
Note que o filtro aplicado de acordo com o campo selecionado. Neste caso, o campo (item) usado o de loja. Autor: Robert F. Martim Criado em: 09/04/2009 Publicado: www.juliobattisti.com.br ltima edio: 2/7/2009 Contato: rm@msofficegurus.com
87
Desenvolvimento inteligente
8.
Este tpico apenas um comentrio sobre o que ocorreu com a interatividade de TD no Excel 2007. Infelizmente, a Microsoft removeu tal opo por motivos de segurana. Caso o leitor queira utilizar algo similar preciso utilizar o Excel Services.
Robert F. Martim
www.juliobattisti.com.br rm@msofficegurus.com
09/04/2009 2/7/2009
88
Desenvolvimento inteligente
9.
Este tpico funciona como estudo de casos. No estudo de casos, pegamos problemas reais e o estudamos. O resultado destes estudos no so verdades absolutas neste contexto, mas uma demonstrao de como proceder quando nos deparamos com tais situaes. Neste primeiro estudo tabularemos e analisaremos os resultados de uma pesquisa de opinio. J no segundo estudo de casos veremos uma questo recorrendo no frum de discusso: controle de estoque.
9.1. Tabulando e analisando dados de uma pesquisa de opinio: cenrio 1 tabulao global Os dados que utilizaremos neste estudo de caso so oriundos de um banco de dados Access. O objetivo no ensinar Access, portanto a criao de consultas no Access no ser tratada. Ao exportar os dados do Access para o Excel teremos algo como mostra a figura abaixo:
Note que as respostas so colhidas como VERDADEIRO ou FALSO para todas as respostas possveis (de R1 a R6). Como texto contado, o primeiro passo requer a transformao destes valores para valores numricos. Utilizando a ferramenta de substituio, substitua os valores VERDADEIROS por 1 e os VALORES FALSOS por 0:
www.juliobattisti.com.br rm@msofficegurus.com
09/04/2009 2/7/2009
89
Desenvolvimento inteligente
O nosso objetivo agora contar quantas vezes ocorrem as respostas para as opes R1 a R6. Uma soluo seria aplicar um filtro automtico e, utilizando a funo SOBTOTAL, somar cada uma das colunas:
No h nada de errado com esta abordagem a no ser o fato de ser lento e passvel de erro. Em momentos como este a soluo mais rpida e segura utilizar uma tabela dinmica. No caso da tabulao dos dados, o que desejamos : Contar as respostas dadas a cada opo; Saber o percentual que cada contagem representa para uma pergunta (No caso acima, o total geral por pergunta de 48 respostas ao passo que o nmero de respostas para opo R1 16. Portanto, 16 representa 34,78% do total) Sendo assim, o novo objetivo chegar a um resultado igual ao da figura abaixo:
Os campos direita do campo R6 so campos calculados. No h necessidade de calcul-los diretamente na TD, porm para manter a integridade dos clculos recomendvel que seja feito. Para o final do curso mostro o motivo para escolher o campo calculado ao invs de calculo separado.
Autor: Publicado: Contato:
Robert F. Martim
www.juliobattisti.com.br rm@msofficegurus.com
09/04/2009 2/7/2009
90
Desenvolvimento inteligente
Vejamos como chegar ao resultado j mostrado. Cada passo descrito abaixo seriatim: 1. Inicie criando a sua TD (Clique na clula A1 da planilha de dados e em seguida v at Inserir Tabela dinmica); 2. Adicione o campo Pergunta rea de linha; 3. Adicione os campos R1 a R6 rea de dados. A primeira parte est pronta e sua TD deve ser algo similar figura abaixo (o nome do campo de dados pode ser diferente tendo em vista que eu os renomeei):
11
A primeira parte de nossa TD est pronta. O prximo passo adicionar um campo para calcular o total por pergunta e colocar nossa TD em um formato tabular. Seguindo a numerao: 4. Adicione um campo calculado para retornar o total por pergunta. Para tanto, siga os passos: a. Clique em um ponto qualquer da TD; b. Clique em Opes Frmulas Campo calculado; c. Na janela que abrir, determine a frmula como segue (escolha um nome de sua preferncia):
11
O rtulo de valores se encontra na rea de linha. Autor: Robert F. Martim Publicado: www.juliobattisti.com.br Contato: rm@msofficegurus.com
09/04/2009 2/7/2009
91
Desenvolvimento inteligente
Figura -6 Determinando o campo para calcular o total por linha (por pergunta) 9
6. Passe o rtulo de valores da rea de linha para a rea de coluna (por padrao, no Excel 2007, o rtulo j estar na rea de rtulos de coluna. Terminada esta parte, ns teremos a tabulao por cada pergunta e opo de resposta no estilo tabular.
Robert F. Martim
www.juliobattisti.com.br rm@msofficegurus.com
09/04/2009 2/7/2009
92
Desenvolvimento inteligente
Finalmente, ns precisamos adicionar os percentuais. Como havia dito, isso pode ser feito manualmente ou atravs de um campo calculado. Por agora, faremos no estilo campo calculado. Mais para o final, mostro o motivo para se escolher esta opo ao invs de clculo externo: 7. Clique em um ponto qualquer da TD e repita o passo 4 acima para adicionar um novo campo. Adicione um campo chamado PctR1:
8. Repita o passo 7 para as opes R2 a R6; 9. Adicione os novos campos (PctR1 a PctR6) rea de dados; 10. Formate esta rea para percentual mostrando duas casas decimais. O leitor agora ter a seguinte tabulao das perguntas e devidas respostas:
Autor: Publicado: Contato:
Robert F. Martim
www.juliobattisti.com.br rm@msofficegurus.com
09/04/2009 2/7/2009
93
Desenvolvimento inteligente
12
Terminada esta parte, ns teremos a tabulao por cada pergunta e opo de resposta no estilo tabular. Podemos agora utilizar tais resultados em grficos ou fazer um sumrio das respostas dadas. Vejamos agora um segundo cenrio em cima da mesma pesquisa, mas utilizando um consulta diferente no banco de dados.
9.2. Tabulando e analisando dados de uma pesquisa de opinio: cenrio 2 tabulao por cidade No cenrio anterior fizemos a tabulao global, isto , no nos preocupamos em quebrar mais os dados. Porm, pesquisas so feitas assim: determinadas por sexo, idade, localidade, etc. Todas estas categorias so eventualmente analisadas individualmente para comparao com a anlise global. Todas estas comparaes so relevantes em uma pesquisa. O intuito deste exemplo no comparar com o anterior, mas apenas fazer uma nova anlise a qual introduz o elemento cidade.
Caso o relatrio esteja exibindo Soma de R1, etc, acesso o modo clssico de AutoFormato pressionando Alt F A. Depois, selecione um dos formatos de relatrio.
Robert F. Martim
www.juliobattisti.com.br rm@msofficegurus.com
09/04/2009 2/7/2009
94
Desenvolvimento inteligente
A figura abaixo mostra o nosso objetivo intermedirio. Aqui temos apenas o hole count (contagem de respostas) para cada cidade em questo. O formato final similar ao anterior em visual, mas diferente na parte estrutural:
Aps a adio dos campos, obter o resultado acima relativamente simples. Porm, veremos como o Excel pivota a rea de dados para mostrar as opes como colunas (campos). Siga os passos abaixo para montar a parte inicial: 1. Inicie criando a sua TD (Clique na clula A1 da planilha de dados e em seguida v at Inserir Tabela dinmica); 2. Adicione o campo Cidade rea de linhas; 3. Adicione o campo Pergunta rea de linhas; 4. Adicione os campos de opes R1 a R6 rea de dados. Neste ponto, ns teremos uma TD como segue:
www.juliobattisti.com.br rm@msofficegurus.com
09/04/2009 2/7/2009
95
Desenvolvimento inteligente
Ao terminarmos o primeiro passo ns teremos os dados em linha, o que causa uma expanso exagerada da TD para baixo. Se o leitor deseja formatar a TD manualmente, ns precisamos modificar a disposio dos dados (das opes de resposta). Para tanto, continue como segue: 5. Clique sobre o rtulo Data (dados em ingls) o qual representa o campo de dados e os seis campos das opes e segure o boto do mouse; 6. Usando o modo clssico de exibio, arraste este campo para cima da coluna Total conforme mostra a figura e solte o boto do mouse;
Note que a pequena figura do mouse mostra a rea sendo trabalhada (rea de dados em azul). Uma vez que tenha soltado o campo a TD ser redimensionada como segue:
Esta forma que o Excel utiliza para pivotar os dados quando escolhemos uma opo de formatao automtica. Como o exemplo acima se refere a um formato de relatrio em cascata, poderamos simplesmente escolher uma das autoformataes disponveis para rapidamente pivotar os dados.
Autor: Publicado: Contato:
Robert F. Martim
www.juliobattisti.com.br rm@msofficegurus.com
09/04/2009 2/7/2009
96
Desenvolvimento inteligente
A figura abaixo mostra o mesmo resultado acima utilizando o modelo de autoformatao para relatrio 2 (para acessar o modo clssico de AutoFormatao pressione Alt F A):
Estamos prontos agora para adicionar campos calculados e fazer as comparaes conforme ensinado antes. Caso o leitor queira, possvel pivotar este resultado para o resultado do tpico anterior. Ao arrastarmos (modo clssico de exibio) o campo Cidade para a rea de filtro:
Com os dados na rea de filtro ns teremos os totais para as perguntas na rea de dados e podemos rapidamente filtrar o resultado por cidade, evitando, assim, a criao de uma TD extra (a
Autor: Publicado: Contato:
Robert F. Martim
www.juliobattisti.com.br rm@msofficegurus.com
09/04/2009 2/7/2009
97
Desenvolvimento inteligente
TD criada no tpico anterior a este). Ns temos em uma nica tabela os dois cenrios faltando apenas adicionarmos os campos calculados do tpico anterior:
Ao escolhermos uma cidade, ns obtemos rapidamente a anlise para a mesma, facilitando a comparao com o total:
O leitor pode agora adicionar os campos calculados e efetuar as comparaes conforme desejar.
Autor: Publicado: Contato:
Robert F. Martim
www.juliobattisti.com.br rm@msofficegurus.com
09/04/2009 2/7/2009
98
Desenvolvimento inteligente
10.1. Gravando uma macro Uma das melhores formas de identificao de propriedades de um objeto qualquer atravs da gravao de uma macro. No caso de uma TD isso no diferente. Vamos iniciar com uma gravao. Para gravar uma macro bastante simples, v at a guia Desenvolvedor grupo Cdigo Gravar macro:
Robert F. Martim
www.juliobattisti.com.br rm@msofficegurus.com
09/04/2009 2/7/2009
99
Desenvolvimento inteligente
Com a janela de gravao de macros aberta, digite o nome de sua macro, determine se h ou no uma tecla de atalho, determine o escopo da macro (onde ele deve ser armazenada) e coloque uma descrio para a mesma. Muitos usurios de Excel no sabem que possvel visualizar em tempo real a gravao da macro. Para tanto, abra o VBE antes de iniciar a gravao pressionando Alt+F11. Coloque a janela do Excel ao lado da janela do VBE conforme mostra a figura:
Figura 0-2 Visualizando em tempo real a gravao de macros 1 Autor: Publicado: Contato:
Robert F. Martim
www.juliobattisti.com.br rm@msofficegurus.com
09/04/2009 2/7/2009
100
Desenvolvimento inteligente
Neste ponto, qualquer modificao efetuada na planilha ser imediatamente refletida na janela do VBE. Com relao gravao de macros basicamente isso que o leitor precisa saber. Uma vez que a macro tenha sido gravado, o prximo passo a limpeza de linhas desnecessrias. Note na figura acima que a rolao da janela tambm foi gravada, contudo tal comando irrelevante para o trabalho em uma TD e o mesmo deve ser removido. No entrarei em detalhes sobre limpeza de gravao de macro, pois a limpeza bastante simples e deve seguir a lgica e objetivo da macro. Portanto, qualquer tentativa feita aqui apenas se referiria ao exemplo em questo. A construo da TD feita passo-a-passo para que cada elemento seja compreendido separadamente. Vejamos agora como programar de verdade a nossa TD.
10.2. Adicionando uma nova tabela dinmica Atravs da gravao de uma macro, j deve ser bvio para o leitor como criar uma tabela dinmica via VBA. Neste exemplo simples utilizaremos um nome dinmico para determinar a rea de dados que utilizaremos em nossa TD. Se o leitor pulou esta parte do curso, ela deve ser lida antes de continuar. Primeiramente, ns desejamos que a TD seja criada na prpria pasta de trabalho. Por padro, utilizaremos uma nova planilha:
Sub adicionarTD() Dim wb As Workbook
Set wb = ThisWorkbook With wb .PivotCaches.Add(xlDatabase, wb.Sheets("Dados").Range("Dados")). _ CreatePivotTable TableDestination:="", _ TableName:="Minha TD via VBA", _ Defaultversion:=xlPivotTableVersion10 End With Set wb = Nothing End Sub Autor: Publicado: Contato:
Robert F. Martim
www.juliobattisti.com.br rm@msofficegurus.com
09/04/2009 2/7/2009
101
Desenvolvimento inteligente
Neste exemplo, tudo que fazemos adicionar uma nova TD pasta de trabalho atual. Porm, pode haver cenrios onde desejamos criar a TD em uma nova pasta de trabalho. Porm, um erro de execuo comum durante este processo mostrado abaixo:
Figura 0-3 Erro em tempo de execuo para criao de TD em uma pasta nova 1
10.2.1. Adicionando uma nova tabela dinmica em uma nova pasta de trabalho Caso quisssemos criar uma TD utilizando VBA, o cdigo mais bvio que utilizaramos mostrado abaixo:
Sub adicionarTD_em_outra_pasta() Dim wb As Workbook Dim wbInput As Workbook Set wb = Application.Workbooks.Add Set wbInput = ThisWorkbook With wb .PivotCaches.Add(xlDatabase, _ CreatePivotTable TableDestination:="", _ TableName:="Minha TD via VBA", _ Defaultversion:=xlPivotTableVersion10 End With Set wb = Nothing Set wbInput = Nothing End Sub wbInput.Sheets("Dados").Range("Dados")).
Estruturalmente, no h nada de errado com o cdigo, porm ao atingir o bloco With ocorre o erro mostrado anteriormente.
Autor: Publicado: Contato:
Robert F. Martim
www.juliobattisti.com.br rm@msofficegurus.com
09/04/2009 2/7/2009
102
Desenvolvimento inteligente
Mas antes de entrar no motivo e na soluo vejamos o que o cdigo acima faz: Possumos dois objetos Workbook. Um objeto utilizado como a nova pasta que receber a TD e o outro utilizado como a pasta que contm os dados; O objeto wb setado como uma nova pasta; O objeto wbInput setado como o objeto que contm a macro e os dados; No bloco With adicionamos o PivotCache e determinamos a fonte de dados para o
PivotCache (ou Cache se preferir).
Mas o que est ocorrendo no cdigo que gera tal erro? O problema que temos em mo que h uma leve demora entre a adio da nova pasta e o tempo de execuo do PivotCache. Neste pequeno intervalo a pasta no est pronta, mas o PivotCache entra na execuo gerando o erro13. Uma forma de resolver tal questo simplesmente adicionar uma pequena pausa na execuo do cdigo para termos certeza que o objeto j se encontra na memria e pronto para receber o
PivotCache.
13
Podemos considerer um bug tendo em vista que tal efeito no deveria efetivamente ocorrer. Autor: Robert F. Martim Criado em: 09/04/2009 Publicado: www.juliobattisti.com.br ltima edio: 2/7/2009 Contato: rm@msofficegurus.com
103
Desenvolvimento inteligente
Ao
adicionarmos
linha
Application.Wait
(Now
TimeValue("00:00:01"))
ns
adicionamos uma pausa de um segundo na execuo do cdigo. Este um segundo o suficiente para evitar o erro de execuo mostrado anteriormente. Alm deste detalhe, este erro tambm pode ocorrer caso j exista um TD com o mesmo nome ativa ou haja um PivotCache na memria.
10.3. Adicionando uma nova tabela dinmica utilizando os objetos PivotTable e PivotCache Nos exemplos anteriores ns adicionamos uma tabela dinmica diretamente a uma planilha ou pasta nova. Enquanto que no h nada de errado com este mtodo, ele nos deixa com um pequeno problema em mos: ele no nos fornece os objetos PivotTable (Tabela Dinmica) e
PivotCache para manipulao.
Este pequeno detalhe pode nos custar caro, principalmente se tudo que desejamos retornar informaes contidas nos objetos ao invs dos objetos em si. O cdigo abaixo executa tal operao. Explicaes acompanham o cdigo: Sub adicionarTD_com_PivotTable_e_PivotCache() ' Declarao dos objetos a serem utilizados Dim wb As Workbook Dim ptTbl As PivotTable Dim ptCache As PivotCache Dim ptRng As Range Instanciamento do objeto de destino (esta pasta de trabalho) e da rea que contm os dados (nome dinmico "Dados") Set wb = ThisWorkbook Set ptRng = Range("Dados") Instanciamento dos objetos PivotCache e PivotTable Note que a criao ocorre neste momento. Set ptCache = wb.PivotCaches.Add(xlDatabase, ptRng) Set ptTbl = ptCache.CreatePivotTable(TableDestination:="", _ TableName:="TD1", Defaultversion:=xlPivotTableVersion10) ' ' ' ' possvel instanciar a Tabela Dinmica como segue, porm o visual ser diferente, isto , as reas indicativas ficaro ocultas. Set ptTbl = ptCache.CreatePivotTable("", "TD1")
' '
' '
Robert F. Martim
www.juliobattisti.com.br rm@msofficegurus.com
09/04/2009 2/7/2009
104
Desenvolvimento inteligente
'
Limpa os objetos da memria Set wb = Nothing Set ptRng = Nothing Set ptCache = Nothing Set ptTbl = Nothing End Sub Ao executar o cdigo acima a rea ser preparada como segue:
Caso o leitor decida pelo segundo mtodo de instanciamento mostrado no cdigo o resultado da TD ser como segue:
Embora o espao visual seja diferente a funcionalidade a mesma que a do anterior. Agora que j temos a TD definida, vejamos como adicionar campos s diferentes reas de nossa TD.
10.4. Adicionando campos a TD usando VBA: orientao de campos Este tpico assume que j possumos um TD em uma determinada planilha e tudo que desejamos fazer adicionar os campos em suas determinadas reas. Este cdigo pode ser juntado ao anterior para criar todo o processo em um nico. Quando adicionamos os campos, utilizaremos uma das seguintes orientaes para os campos:
Autor: Publicado: Contato:
Robert F. Martim
www.juliobattisti.com.br rm@msofficegurus.com
09/04/2009 2/7/2009
105
Desenvolvimento inteligente
xlColumField Adiciona o campo rea de coluna; xlDataField Adiciona o campo rea de dados; xlHidden Utilizado para excluir um campo da TD; xlPageField Adiciona o campo rea de filtro (rea de pgina); xlRowField Adiciona o campo rea de linha.
A propriedade Orientation determina a orientao do campo dentro de uma TD recebendo como valor uma das opes acima. Uma outra propriedade que nos interessa Position. A propriedade Position determina a posio de um campo em uma determinada rea. Por exemplo:
Na figura acima possumos dois campos na rea de linha (Cidade e Categoria). O campo Cidade encontra-se na primeira posio ao passo que o campo Categoria encontra-se na segunda posio. Alm do posicionamento na rea de filtro, linha e coluna, ns precisamos nos atentar a rea de dados. Assim como nas outras reas onde podemos adicionar mais de um campo, ns podemos adicionar um mesmo campo vrias vezes na rea de dados. A diferena que utilizamos o objeto relativo ao campo (PivotField). O campo pode ser o mesmo, porm o rtulo do campo deve ser diferente. Na figura anterior, o rtulo Soma de Total. O cdigo abaixo mostra como executar tal procedimento. Explicaes acompanham o cdigo:
Sub adicionarCampo() ' Declarao dos objetos Dim ptTbl As PivotTable Dim ptFld As PivotField
Robert F. Martim
www.juliobattisti.com.br rm@msofficegurus.com
09/04/2009 2/7/2009
106
Desenvolvimento inteligente
Instanciando qual tabela dinmica utilizar. Assume que j existe um TD na planilha de nome "TD" cujo nome "TD1" Set ptTbl = ThisWorkbook.Sheets("TD").PivotTables("TD1") Com a TD instanciada With ptTbl "Setar" o nome do campo a ser utilizado. Set ptFld = .PivotFields("Regio") Com o campo "setado"... With ptFld ... orientar o campo para a rea de filtro (rea de pgina) .Orientation = xlPageField ... determinar a posio do campo (somente necessrio se mais de um campo na rea de filtro. inserido aqui para referncia) .Position = 1 ... Determinar qual campo ser usado como filtro. Neste caso, filtraremos os dados para o "Sudeste" .CurrentPage = "Sudeste" End With Remove o objeto da memria para reutilizarmos o objeto Set ptFld = Nothing O mesmo que o campo anterior. Set ptFld = .PivotFields("Cidade") With ptFld .Orientation = xlRowField .Position = 1 End With Set ptFld = Nothing
' '
' '
O mesmo que o campo anterior, porm o campo "Categoria" ficar na segunda posio na rea de linha Set ptFld = .PivotFields("Categoria") With ptFld .Orientation = xlRowField .Position = 2 End With Set ptFld = Nothing
"Seta" o campo que utilizaremos na rea de dados Set ptFld = .PivotFields("Total") Adicionar o campo, como um objeto, rea de dados. Define o tipo de sumrio como sendo soma utilizando a funo xlSum .AddDataField ptFld, "Soma do Total", xlSum
Robert F. Martim
www.juliobattisti.com.br rm@msofficegurus.com
09/04/2009 2/7/2009
107
Desenvolvimento inteligente
Set ptFld = Nothing End With Set ptTbl = Nothing End Sub
10.4.1. Removendo campos de uma TD Para remover um campo bastante simples. Na verdade, to simples que o leitor poderia gravar uma macro removendo um campo para descobrir como isso feito. J foram apresentadas as diversas orientaes de campos dentro de uma TD. Uma das orientaes xlHidden. Seguindo a linha de raciocnio do exemplo anterior, ns podemos resumir a excluso como segue:
Sub excluirCampo() Dim ptTbl Dim ptFld As PivotTable As PivotField
Set ptTbl = ThisWorkbook.Sheets("TD").PivotTables("TD1") Set ptFld = ptTbl.PivotFields("Categoria") ptFld.Orientation = xlHidden Set ptTbl = Nothing Set ptFld = Nothing End Sub
Como podemos ver, remover um campo bastante simples. Vejamos agora como adicionar campos utilizando uma matriz.
10.4.2. Adicionando campos via matriz (Array) Quando adicionamos os campos anteriormente tivemos o trabalho de especificar cada campo individualmente, porm alm de trabalhoso desnecessrio. Um mtodo melhor utilizar uma matriz juntamente com o mtodo AddFields do objeto
PivotTable. Sub campoPorMatriz() Dim ptTbl As PivotTable Dim ptCache As PivotCache Autor: Publicado: Contato:
Robert F. Martim
www.juliobattisti.com.br rm@msofficegurus.com
09/04/2009 2/7/2009
108
Desenvolvimento inteligente
Dim ptRng
As Range
Set ptRng = Range("dados") Set ptCache = ThisWorkbook.PivotCaches.Add(xlDatabase, ptRng) Set ptTbl = ptCache.CreatePivotTable(tabledestination:="", _ Tablename:="TD2", defaultversion:=xlPivotTableVersion10) With ptTbl .AddFields RowFields:=Array("Cidade", "Categoria") ' .AddFields RowFields:=Array("Cidade", "Categoria"), ColumnFields:="Regio" .PivotFields("Total").Orientation = xlDataField End With Set ptRng = Nothing Set ptCache = Nothing Set ptTbl = Nothing End Sub
No exemplo acima, temos a matriz para insero dos campos na rea de linha (Array("Cidade",
"Categoria")) alm da insero do campo Total na rea de dados sem a necessidade de
utilizarmos o mtodo AddDataField e o objeto relativo ao campo. No mesmo mtodo, podemos adicionar campos de categoria no mesmo esquema que os campos de linha.
10.5. Copiando valores de uma TD e colando como valores fixos e desconectados Pode ocorrer cenrios onde o leitor deseja apenas os dados de uma TD e no a TD em si. Em cenrios como estes, ns estamos interessados na utilizao do sumrio retornado pela TD em um relatrio no Word, apresentao do PowerPoint ou at mesmo para utilizao em clculos no Excel, para evitar problemas com referncias absolutas (ou no, dependendo do cenrio) no calculo direto na TD, alm de nos livrarmos do PivotCache o qual certamente consumir tamanho do arquivo. Vejamos como efetuar tal cpia. Explicaes acompanham o cdigo:
Sub calculoManualAutomatico() ' Declarao dos objetos e variveis Dim ptTbl As PivotTable Dim ptCache As PivotCache Dim ws As Worksheet Dim lngLin As Long Desabilita a atualizao de tela para melhorar o desempenho Application.ScreenUpdating = False Cria o PivotCache
Robert F. Martim
' '
www.juliobattisti.com.br rm@msofficegurus.com
09/04/2009 2/7/2009
109
Desenvolvimento inteligente
Set ptCache = ThisWorkbook.PivotCaches.Add(xlDatabase, Range("dados")) ' Cria a Tabela Dinmica Set ptTbl = ptCache.CreatePivotTable(Tabledestination:="", _ TableName:="TD1", Defaultversion:=xlPivotTableVersionCurrent) Com a TD... With ptTbl Adicionar os campos de linha, coluna e filtro (pgina) .AddFields RowFields:="Cidade", _ ColumnFields:="Categoria", PageFields:="Regio" Adicionar o campo de dados .PivotFields("Total").Orientation = xlDataField Filtrar a regio .PivotFields("Regio").CurrentPage = "Sudeste" Copiar a TD .TableRange2.Copy Instanciar o objeto "ws" como sendo a planilha ativa Set ws = ActiveSheet Com a planilha With ws Determinar a ltima linha com dados e somar 5 a ela lngLin = .Cells(Application.Rows.Count, 1).End(xlUp).Row + 5 Colar especial o que foi copiado da TD .Cells(lngLin, 1).PasteSpecial xlPasteValuesAndNumberFormats End With Limpar a TD da rea que ocupa atualmente .TableRange2.Clear Com a planilha... With ws Remover linhas e selecionar clula A1 .Rows("1:" & lngLin - 1).Delete Shift:=xlUp .Cells(1, 1).Select End With End With ' ' Reativar a atualizao de tela Application.ScreenUpdating = True Limpar objetos Set ws = Nothing Set ptTbl = Nothing Set ptCache = Nothing
' '
www.juliobattisti.com.br rm@msofficegurus.com
09/04/2009 2/7/2009
110
Desenvolvimento inteligente
10.6. Clculo manual ou automtico? Uma questo importante em relao ao uso de VBA na criao de tabelas dinmicas diz respeito ao clculo automtico. Quando adicionamos itens em um local qualquer de nossa planilha via VBA o item aparece instantaneamente no local determinado. Infelizmente, isso reduz a velocidade de processando do que estamos fazendo. A soluo utilizada determinar a propriedade ScreenUpdating do aplicativo para False (Falso) enquanto executamos o cdigo e no final da execuo retornamos para True (Verdadeiro). Em uma tabela dinmica o mesmo ocorre, porm ns utilizamos a propriedade ManualUpdate para determinar a atualizao da TD e melhorar o desempenho do cdigo.
Sub calculoManualAutomatico() ' Declarao dos objetos Dim ptTbl As PivotTable Dim ptCache As PivotCache Dim ptFld As PivotField Set ptCache = ThisWorkbook.PivotCaches.Add(xlDatabase, Range("dados")) Set ptTbl = ptCache.CreatePivotTable(Tabledestination:="", _ TableName:="TD1", Defaultversion:=xlPivotTableVersionCurrent) With ptTbl ' ' ' ' ' ' ' ' ' Determina atualizao manual .ManualUpdate = True . . . Seu cdigo entra aqui . . . Determina atualizao automtica .ManualUpdate = False End With Set ptTbl = Nothing
End Sub
Efetuando a criao da TD nestes moldes, o resultado final ser bem mais rpido.
Robert F. Martim
www.juliobattisti.com.br rm@msofficegurus.com
09/04/2009 2/7/2009
111
Desenvolvimento inteligente
11.1. Campos nulos (vazios) e em brancos: qual a diferena e como determin-la? Um problema comum em tabelas dinmicas diz respeito a campos nulos. Primeiramente, ns precisamos distinguir um campo nulo de um campo em branco. A figura abaixo mostra um cenrio simples:
O campo acima nulo ou est em branco? Apenas olhando a figura no possvel determinar se o campo nulo ou se est vazio, porm, ao criamos a nossa tabela dinmica a diferena aparecer:
Robert F. Martim
www.juliobattisti.com.br rm@msofficegurus.com
09/04/2009 2/7/2009
112
Desenvolvimento inteligente
Note que quando o campo aparece com a palavra vazio ele , na verdade, nulo. Por outro lado, quando ele aparece em branco, ele realmente em branco e no nulo. Mas como distinguir em branco e nulo (vazio)? Via de regra, se nada foi feito no campo, ele por padro nulo. Por outro lado, se algo foi digitado nele (mesmo que seja uma string em branco) ele no nulo ele em branco. O leitor poderia criar a seguinte funo em VBA para avaliar se o campo nulo ao no:
Function Nulo(ByVal clula As Range) As Boolean Nulo = IsNull(clula) End Function
Infelizmente, este no o melhor mtodo para testar se um campo ou no nulo. No estrito senso de um banco de dados o campo nulo e, portanto, precisamos utilizar objetos de um banco de dados para determinar se um campo ou no nulo. A figura abaixo mostra o resultado de um loop pelo campo Letra para determinar se o valor de um registro deste campo ou no nulo:
Robert F. Martim
www.juliobattisti.com.br rm@msofficegurus.com
09/04/2009 2/7/2009
113
Desenvolvimento inteligente
Como podemos ver, aqui registrado corretamente o status do campo. O valor em branco , na verdade, nulo. Por outro lado, ao adicionar um espao (o qual invisvel) e rodarmos novamente o cdigo o resultado agora j no mais nulo:
OK, voc deve estar dizendo, qual o ponto disso tudo?. O ponto que desejo enfatizar que o leitor precisa estar ciente de tal sutileza para determinar se o valor nulo (mostrado como vazio na TD) porque no h tal informao ou se ele em branco (mostrado sem texto algum) porque h um espao no registro quando deveria ter, na verdade, um outro valor. Isso crucial! Apenas lembre-se do cenrio de eleies: - voc capaz de dizer a diferena entre voto em branco e voto nulo? Agora, coloque no contexto de uma TD. Imagine voc tabulando votaes em branco como se fossem votaes nulas? Acredito que seja desnecessrio dizer que seria um desastre, pois embora paream a mesma coisa, ambos so entidades completamente distintas!
Autor: Publicado: Contato:
Robert F. Martim
www.juliobattisti.com.br rm@msofficegurus.com
09/04/2009 2/7/2009
114
Desenvolvimento inteligente
Portanto, mais uma vez, vale a pena lembrar a importncia de conhecer os dados. Se existe um campo com algum registro nulo quando voc esperava algo diferente, verifique imediatamente a integridade dos dados para evitar problemas na tabulao. Finalmente, abaixo se encontra o cdigo que utilizei para determinar se o valor ou no nulo:
Sub checarNulos() Dim db As DAO.Database Dim rs As DAO.Recordset Set db = OpenDatabase(ThisWorkbook.FullName, False, False, "Excel 8.0") Set rs = db.OpenRecordset("SELECT * FROM [Dados$]", dbOpenSnapshot) rs.MoveFirst Do While Not rs.EOF Debug.Print "Valor: " & rs.Fields("Letra").Value _ & vbCr & " nulo?: " & IsNull(rs.Fields("Letra").Value) Debug.Print vbCr rs.MoveNext Loop rs.Close db.Close Set rs = Nothing Set db = Nothing End Sub
O leitor pode agora tomar uma deciso mais acertada em relao ao cenrio aqui apresentado.
11.2. Descontinuidade nos dados Seguindo a linha de raciocnio do exemplo anterior, imagine o cenrio onde h descontinuidade nos dados:
Robert F. Martim
www.juliobattisti.com.br rm@msofficegurus.com
09/04/2009 2/7/2009
115
Desenvolvimento inteligente
A planilha acima no tem nada de errado, desde que o desejo seja subtotalizar por cmodo. Porm, note que a informao acima veio de um banco de dados para o Excel o mais provvel que ela seja de um relatrio. Deste modo, o cmodo nada mais do que um campo em uma outra tabela (ou na mesma tabela). Na verdade, na prpria planilha podemos ver na coluna A o nome do campo. O problema que obviamente temos a quebra na continuidade e a no repetio do dado no respectivo campo. Observe que a repetio no Excel necessria, mas em um banco de dados isso no . Em banco de dados, a forma correta relacionar os campos para evitar duplicao de informaes. Este o motivo para os dados acima fiquem neste formato em um relatrio. Ao chegar neste ponto, o leitor j teve a resposta bvia: limpar os dados. A primeira coisa que precisamos fazer remover as linhas vazias para dar continuidade lista.
Figura 1-7 Dados limpos e prontos para insero em uma tabela dinmica 1 Autor: Publicado: Contato:
Robert F. Martim
www.juliobattisti.com.br rm@msofficegurus.com
09/04/2009 2/7/2009
116
Desenvolvimento inteligente
Com os dados no formato acima, ns estamos prontos para criar a nossa TD, pois eles esto no formato apropriado. No exemplo abaixo, fao uma simples contagem de quantos produtos esto destinados a cada cmodo:
11.3. A funo INFODADOSTABELADINMICA A funo INFODADOSTABELADINMICA tem sua utilidade, porm, pode haver situaes onde ela atrapalha mais do que ajuda. Observe a figura abaixo:
Note que a referncia clula absoluta ($A$3) para o campo que desejamos extrair o valor. Embora tal referncia nos ajude a manter certa integridade dos dados, muitas vezes ela atrapalha. Caso o leitor queira arrastar a frmula ou ocorra alguma mudana estrutural na tabela dinmica, o resultado final do clculo manual pode soletrar d-e-s-a-s-t-r-e.
Robert F. Martim
www.juliobattisti.com.br rm@msofficegurus.com
09/04/2009 2/7/2009
117
Desenvolvimento inteligente
A soluo do problema desativar a insero automtica de tal funo. A forma mais fcil simplesmente: Acessar as opes do Excel (Boto do Office) Frmulas Usar funes GetPivotData para referncias de Tabela Dinmica
Robert F. Martim
www.juliobattisti.com.br rm@msofficegurus.com
09/04/2009 2/7/2009
118
Desenvolvimento inteligente
LINGUAGENS DE PROGRAMAO E PLATAFORMAS: Visual Basic, Calculadores Programveis Casio e Sharp BDs: MS Access and Lotus Approach Plataformas: Windows NT, 2000, XP, Vista, Linux Red Hat
EXPERINCIA PROFISSIONAL abr04out02-abr04 CONSULTOR DE TI INDEPENDENTE FAIRCOURT CAPITAL LIMITED (REINO UNIDO) fev96-maio02 Diretor TI
MELVALE GROUP (REINO UNIDO) Gerente de Exportao para a frica Ocidental Gerente de TI
OUTRAS ESPECIALIZAES Inspeo e regulamentaes Nigerianas para importao e exportao (Nigerian-British Chamber of Commerce & Cotecna International) Procedimentos de exportao no Reino Unido (The Institute of Export, Reino Unido) ICC 500 e Incoterms (The Institute of Export, Reino Unido)
OUTRAS ATIVIDADES Fornece suporte pro bono em TI entidade de caridade Nigeriana NIDOE (Nigerians in Diaspora Organisation Europe) desde 2001. Participou ativamente na organizao da conferncia sobre Boa Governana e Responsabilidade Fiscal promovida pelo ONG em Abuja, Nigria, em novembro de 2003. Foi um dos principais colaboradores na elaborao do relatrio final sobre a conferncia entregue a presidncia da Repblica Nigeriana em maio de 2004. Autor do livro Excel e VBA na Modelagem Financeira: Uma abordagem prtica. Editora Axcel Books, 2005. www.axcel.com.br Autor principal do livro RibbonX: Customizing the Office 2007 Ribbon, John Wiley & Sons Publishing, 2008.
Robert F. Martim
www.juliobattisti.com.br rm@msofficegurus.com
09/04/2009 2/7/2009
119
Desenvolvimento inteligente
Autor do livro: Excel 2007 Avanado, Editora Universo dos Livros, 2008.
Colaborador ativo do frum Excel Avanado do site www.juliobattisti.com.br, onde divide seu conhecimento e experincia com outros membros do espao. Webmaster do site www.msofficegurus.com Colunista dos sites www.linhadecodigo.com.br
Robert F. Martim
www.juliobattisti.com.br rm@msofficegurus.com
09/04/2009 2/7/2009