Dica: Erro de Drill Down no Saiku

Ainda em setembro (em 9/24/2020, para ser exato), o grande Emannuel Roque mandou uma dica:

“Quando vc faz o drilldown no Saiku, em alguma situações, o Saiku passa o parâmetro com [ ] na url”.

Não vou entrar em detalhes técnicos sobre como funciona esse mecanismo mas, para não deixar completamente em aberto, eis um resumo do que acontece. O Saiku é um servidor dentro do servidor Pentaho, que se comunica com o cliente HTML via chamadas HTTP. Essas chamadas atravessam o Tomcat, que reclama de algumas strings. Quando essa situação acontece, o servidor retorna um erro.

Por exemplo, ao tentar fazer o drill down de um determinado cubo, a URL abaixo é gerada:

http://localhost:8080/pentaho/plugin/saiku/api/api/query/C87354D7-7444-C940-BEF1-D0E3AAF6A457/drillthrough/export/csv?maxrows=10000&position=1:0&returns=%5BMeasures%5D.%5BDevedores%5D

Isso causa esse erro:

8-Sep-2020 17:04:37.723 INFO [http-nio-8080-exec-5] org.apache.coyote.http11.Http11Processor.service Error parsing HTTP request header Note: further occurrences of HTTP header parsing errors will be logged at DEBUG level. java.lang.IllegalArgumentException: Invalid character found in the request target. The valid characters are defined in RFC 7230 and RFC 3986 at org.apache.coyote.http11.Http11InputBuffer.parseRequestLine(Http11InputBuffer.java:479) at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:684) at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66) at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:806) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1498) at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.lang.Thread.run(Thread.java:748)

A solução é adicionar o parametro relaxedQueryChars="[,]" ao arquivo server.xml, em ./tomcat/conf/. Para isso, abra o arquivo, procure o conector do pentaho e coloque a string relaxedQueryChars="[,]" lá.

O original é:

Depois de incluir a string, fica assim:

Salve, reinicie o servidor e voi-là! A partir de agora o erro não deve acontecer mais.

Se este post te ajudou, não deixe de passar no LinkedIn do Emannuel e deixar um obrigado. ;-)

Coisa do Emannuel, não me pergunte…

Novo Plugin Pentaho BA Server: Self Service BI

Semana passada, precisamente dia 21 de janeiro de 2016, meu grande amigo Gerson Tessler me ligou. “Cara”, ele veio falando, “você viu o plugin de self-service BI da SPEC INDIA?”

Eu tinha visto os dois até, para ser sincero, mas ainda não havia testado nenhum:

Os dois plugins da SPEC INDIA no Marketplace.
Os dois plugins da SPEC INDIA no Marketplace.

“Instala e me liga!” Ok, Gerson, fica frio, eu vou instalar. Que agitação, só um plugin…

Uau.

A primeira coisa que nós pensamos foi “deve ter uma licença limitada, que expira e depois precisa pagar para continuar usando”, ou então que tinha alguma pegadinha. Não era razoável supor que fosse gratuito, na boa, sem “letras miúdas” na licença.

O Self Service BI Plugin, da SPEC INDIA, é um editor de dashboards para o BA Server que imita o Dashboard Designer da versão enterprise do Pentaho. Sua qualidade mais notável é dispensar (quase) completamente qualquer tipo de conhecimento baixo nível para começar a usá-lo. Por exemplo, eu levei menos de 20 minutos entre instalar o plugin, fuçar um pouco e criar esse painel:

Meu primeiro painel com o plugin: facilidade análoga à versão enterprise.
Meu primeiro painel com o plugin: facilidade análoga à versão enterprise.

Em resumo:

  • Crie consultas OLAP com o Saiku, e salve-as;
  • Crie um novo pinboard acessando o novo menu Self Service BI. Pinboard é a gíria da SPEC INDIA para dashboards;
  • Usando a engrenagem no canto esquerdo superior do novo pinboard, defina o layout dos quadros do painel;
  • Em cada painel clique no ícone de lápis e selecione as consultas Saiku. Escolha o tipo de gráfico e salve;
  • Depois… mais nada, era só isso mesmo.

O resultado é um painel estático, mas mesmo assim, para quem, como eu, ainda não é fera em CSS e HTML, é um feito e tanto! E o plugin oferece muito mais recursos que só isso: prompts, gráficos independentes, parâmetros, consultas SQL etc. etc. Você também pode criar um pin individual e salvá-lo, para reaproveitar em outros pinboards. Na boa, é um avanço e tanto para a comunidade de usuários do Pentaho! É injusto comparar o trabalho deles com outros da comunidade, até porque o deles só foi possível graças aos esforços de muitos outros grandes personagens da comunidade, mas com certeza a SPEC INDIA estabeleceu um novo marco na história do Pentaho. É uma boa notícia saber que eles são parceiros da Pentaho!

Mas nem tudo são rosas – ou eram. O Gerson me procurara não só para mostrar como esse plugin era legal, mas também porque estava dando pau: os pinboards salvos não estavam abrindo. Conseguíamos criar um novo painel, configurá-lo bonitinho, mas ao gravá-lo algo acontecia e não dava mais para abrir o painel nem para editar, nem para rodar. Bug chaaato…

Bom, eu fiz o que qualquer cara sem noção faria: acessei o site deles, achei o botão “contact us” e mandei um e-mail, perguntando educadamente como eu poderia conseguir suporte. A resposta foi tri-bacana:

Ketul Sheth é um cara de ação.
Ketul Sheth é um cara de ação.

Sendo um sujeito dolorosamente franco, eu expliquei à ele que não daria para fazermos negócio:

A voz da verdade nunca fez caridade. Grande Barão Vermelho!
A voz da verdade nunca fez caridade. Grande Barão Vermelho!

E não é que o Ketul é mesmo um homem de ação?

Ele sugeriu um WebEx dia 25, que eu recusei porque era feriado em São Paulo, e sugeri o dia seguinte, 26/jan. Não deu: era feriado na Índia (Dia da República Indiana!) Acabou ficando para quarta-feira, 28 de janeiro, 8H30min em São Paulo, 16H30min na Índia.

Montamos o WebEx e a primeira pergunta que eu fiz, depois de agradecer profusamente, foi: porquê? Por quê criaram esse plugin? Uso interno? Vão vender?


“Nós vimos que, das opções livres atualmente à disposição, nenhuma era tão fácil de usar quanto o Dashboard Designer (enterprise), e resolvemos contribuir com a comunidade oferecendo esse plugin.”


:-O

Eles vão usar o plugin para entregar os próprios projetos e tal, o Ketul falou, mas a meta é mesmo entregar um novo plugin para a comunidade Pentaho.

Passado o choque, caímos no trabalho. Compartilhei minha tela com eles que – A MEIO MUNDO DE DISTÂNCIA, DA ÍNDIA – assumiram o controle e fizeram alguns testes. Ao final, salvaram um pinboard, que eu exportei do BA Server e mandei por e-mail para eles. Isso foi quarta-feira de manhã. Ontem, quinta-feira dia 28/01/2015, antes do meio-dia aqui no Brasil (quase 20H00min na Índia), veio este e-mail:

Hey, man! All done, man! Try it again!
Hey, man! All done, man! Try it again!

Arre égua! Duplo arre égua! Subimos o servidor novamente, atualizamos o plugin diretamente no Marketplace, rebootamos o BA Server e voi-là! Funcionou!

3.1 E Agora?

Eu sugeriria, a vocês que apreciaram o esforço deles, que instalem e testem esse plugin no seu BA Server. Se não pela curiosidade, então para não deixar de conhecer um excelente produto. Lembrem-se apenas que é uma das primeiras versões, e novos bugs ou problemas podem aparecer.

Se tudo der certo, por favor, visitem a página da SPEC INDIA e deixem-lhes uma notinha de incentivo, ou comentário de agradecimento ou pura e simplesmente um breve reconhecimento do trabalho deles. Se você não sabe inglês, não se grile: escreva em português mesmo e cole este link no começo da sua resposta https://bit.ly/1Trd9hM. É um post em inglês, aqui no blog, explicando que eles receberam uma nota de gratidão de alguém da comunidade brasileira de Pentaho.

Aqui tem dois vídeos para ajudá-los a testar o plugin:

Guys, keep the excelente job! We own you one! :-D

Review: Pentaho BA Cookbook

Packt Ed. has released on August 2014 a new member of their Cookbook library, by Sérgio Ramazina: Pentaho Business Analytics Cookbook, first edition.

The today aging Pentaho Solutions was the first authoritative source of Pentaho Platform information, but it was far from practical no matter how good. Even those already into the platform had to scratch their heads a little to translate all that knowledge into action. A lot of us simply need much more than was made available. We needed pretty-a-porter how-to’s with which solve our daily paings with each Pentaho Suite component. And that’s the niche Packt has been neatly filling out: they are running into the HUNDREDS of published Cookbooks, on a lot of topics. Yeah, I know, it is starting to sound an unintended pun “we’ve got IT covered.” <chuckles>

This new book covers a lot of the newest Pentaho Suite version (v.5) recipes. Except for PDI (which already featured a dozen Packt books), the book comes into almost everything else: BA Server, Metadata Editor, Schema Workbench, PRD, and some Enterprise Edition operations, besides a bit of C*Tools.

The Good

It is a relativelly complete compendium of everything that deserves atention on the Pentaho Plaform:

  • BA Server: how to set up data sources (JNDI, Analysis, Metadata etc.), how to tie it to an LDAP server and manage users/roles;
  • Metadata: it is the first place to seriously show how to use “concepts”, an importanta metadata ahn… concept. Also, there are a lot of important tips on metadata modeling, like complex join and calculated fields;
  • OLAP: how to create cubes with Schema Workbenche, with calculate members, how to publish it and generate OLAP views with Saiku;
  • PRD: very complete, with recipes to build prompts, sub-reports, charts (including the tricky sparkline), besides having a PDI transformation for report source.

Were it not enough Mr. Ramazinas goes on to show recipes on less searched for things like interface customization and C*Tools (CDE) introduction, always with hands on, detailed examples.

Raising the bar, the book offer recipes on the Pentaho Enterprise Edition. Although Pentaho Community Edition abbility to offer everything the Enterprise Edition does, Enteprise Edition adoption is on the rise and a lot of its resources rest unusedor not fully explored by its customers. Being usefull for the sheer amount and coverage of the recipes, the book becomes even more interesting for the EE recipes it brings:

  • Analyzer: operations with OLAP client;
  • Dashboard Designer: dashboard editing made easy;
  • Interactive Report: ad hoc reporting, the heir to the gone WAQR;
  • Mobile: the inedit iPad and smart phones interface.

More than just helping those with Pentaho EE, the book opens it to those who have not bought it. IMHO, this is an excelent opportunity to get acquainted with Pentaho EE, a high quality yet cheap (very cheap for what it offers!!) versatily BI product.

Also, more than offering an extensive list of how-to’s, Packt’s cookbook format makes it for a very understandable experience for it tells not only how to do each of its recipes, but also why it works and how it does and what else there is to see. Every recipe has at least an image. Even in the grayscale Kindle all of them have a good look.

For its detailed content, its broadness (lots of things on both CE and EE) and its usability, Pentaho BA Cookbook is another must-have volume on the Pentaho Platform practioner library, and even more for a casual dabbler.

The Bad

Ok, the book shines – it is very good, have no question about it. But…

  • Kindle (Touch – my device) version (the one I reviewed) does not stop at the chapters divisions when one sweeps the finger vertically across the screen. Instead it jumps to the beggining. Annoying;
  • Some recipes are too trivial. If the user really needs somebody telling it, then he also needs help on how to setup the software, which the book does not do – and of course not! Recipe books show recipes, now how to cook or who to buy and setup a cooktop;
  • I missed some important recipes, like how to setup BA Server with other databases. There are instructions on how to do that at Pentaho’s Infocenter. However there are some other recipes which have Infocenter how-to’s too, but they’re in the book nonetheless;
  • I missed performance tunning recipes, like setting an external cache or turning on and using aggregated tables;
  • The subjects does not look like well separated. For instance, the schedulling is part of the Pentaho BA Server, but it makes a full chapter in the fartest corner of the book, chapter away from the BA Server chapter. Maybe it would make more sense to have one after another, if not totally made into a single chapter;
  • Plugins: Pentaho Marketplace’s plugins are growing by the day, but the book says little about them. It only briefs mention two of them (Saiku and Logs), besides internationalization.

None of those things diminishes the book value, however.

The… Italian

Packt is a trully global enterprise. Their writers come from all over the world and in fact most of them write in a foreign language – English. Well, Mr. Sérgio Ramazina is itallian and as every good latin (just like me, brazillian), tends to thing in a more literall English. Reading the book you almost can hear his accent in phrasings like “This is the idea that stays behind the concept of(…)” (locus 2028.) The English-born speaker would rather have a simpler “(…) the idea behind the concept(…)” Mr. Ramazina quite used up his quota, but it never impairs the reading. It is kind of easier for me, in fact, because as a Brazillian I also tend to think on that style of English. Maybe it might be stranger for a, say, Japanese reader (as it is a bit awkward for me to read Japanese writers in English.)

Anyway, I just though of making a note so you know what to expect. The book is good and the reading flows ok, just a bit… creatively. <grin>

Conclusion

Have installed Pentaho BA Server 5 and know not where to begin with? Were commited to migrate a legacy 4.8 BI Server to 5? New to Report Designer 5 or banging head against the wall with some JNDI configuration and metadata editing? Wait no further, Packt’s new Pentaho BA Cookbook is your book: a wealth of immediatelly usefull how-to’s (recipes), well layd-out and explained in details. Lots of topics on both the BA Server and its clients, as well as some topics on the Enterprise Edition. Even if it does need some improvent, this is the book to go after for Pentaho Suite 5!

Resenha: Pentaho BA Cookbook

A Editora Packt lançou em agosto de 2014 um novo membro da família de “cookbooks”, por Sérgio Ramazina: Pentaho Business Analytics Cookbook, primeira edição.

O hoje defasado Pentaho Solutions foi a primeira fonte oficial de informações sobre a plataforma, mas ele não era um livro prático, ainda que bom. Mesmo que já conhecia e usava a plataforma precisava bater um pouco a cabeça para aproveitar o conhecimento ali depositado. Muitos de nós precisávamos mais do que aquilo. Nós precisávamos de receitas prontas para resolver os nossos problemas e dificuldades com cada componente da Suite Pentaho. Esse é o nicho que a Editora Packt vem preenchendo diligentemente: já são CENTENAS de “cookbooks” – literalmente “livros de receitas” – cobrindo todo tipo de necessidade de TI.

Neste volume estão cobertas várias receitas a versão 5.0 da Suite Pentaho, hoje a mais nova. Excetuando o PDI, que já tem uma boa meia-dúzia de livros na Packt, ele aborda praticamente tudo o restante: BA Server, Metadata Editor, Schema Workbench, PRD, e algumas operações com a Enterprise Edition além de um pouco de C*Tools.

The Good

É um compêndio relativamente completo de tudo que merece atenção na plataforma:

  • BA Server: como configurar fontes de dados JNDI, integrar com LDAP e gerenciar fontes de dados;
  • Metadados: é o primeiro lugar que mostra como usar “concepts”, além de outras dicas importantes (como criar campos calculados e junções complexas);
  • Schema Workbench: como criar um cubo, como membros calculados e tudo;
  • PRD: muito completo, com receitas para construir relatórios com prompts e sub-relatórios, incluindo o uso de “sparklines”, além de usar transformações do PDI como fontes de dados.

Não bastasse a grande quantidade de receitas, todas úteis, o livro ainda vai além disso e oferece receitas de coisas menos buscadas, como customização da interface e introdução ao CDE (C*Tools) – sempre com exemplo prático.

A obra também traz receitas sobre o Pentaho Enterprise Edition, o que leva seu nível a um outro patamar. Apesar de a versão comunitária ser capaz de oferecer todos recursos, a adoção da EE está crescendo, e muitos recursos ainda restam por ser plenamente utilizados por esses clientes. Se o livro já é útil pela simples qualidade e pela variedade de receitas, ele se torna ainda mais interessante com receitas que cobrem:

  • Analyzer: cliente OLAP;
  • Dashboard Designer: editor de dashboards
  • Interactive Report: para criação de relatórios ad hoc via web (parente do Saiku Reporting e do finado WAQR);
  • Mobile: a interface para iPad e celulares.

Mais do que ajudar quem possui o EE, o livro mostra grandes detalhes do produto a quem não o possui. Na minha opinião isso é excelente, porque dá a chance de conhecer de perto as vantagens do EE – que é um produto de alta qualidade e (muuuuito) baixo custo.

Finalmente, o livro não apenas tem uma lista extensa de como-fazers, mas o formato de livro de receitas da Packt traz a receita em si e explicações de como e porque as coisas acontecem, e orientação sobre que direção seguir para obter mais informações, ou o sobre o que mais há para aprender. Todas as receitas têm ao menos uma figura, e todas as figuras são claras e bem definidas. O formato Kindle (no qual eu li o livro) sempre piora um pouco as imagens, mas mesmo assim ainda ficou muito bom.

Pelo detalhismo do conteúdo, sua amplitude (incluindo muitas coisas de CE e EE) e a usabilidade de todas as receitas, o Pentaho BA Cookbook mostra-se mais um volume indispensável para quem usa a Plataforma Pentaho no seu dia-a-dia, para o estudante eventual e mesmo para o iniciante.

The Bad

Que não reste dúvida: o livro é muito bom e muito útil. Se você precisa aprender sobre a Plataforma Pentaho, versão 5, esse é o livro.

Isto posto, há um bocado de coisas que ainda não estão 100%:

  • A versão Kindle não tem as divisões de capítulo: se você arrastar o dedo na tela, o livro pula para o início ao invés de para o capítulo seguinte/anterior;
  • Algumas das receitas são muito triviais. Se o leitor precisa daquela receita, então ele precisa de ajuda também para instalar os programas, mas o livro não mostra isso (claro: livros de receita não ensinam a comprar fogão e a ligar o fogo!)
  • Senti falta de receitas importantes, como instalar o BA Server CE com outros bancos de dados. Essa orientação existe no Pentaho Infocenter, e por isso talvez não tenha sido incluída. Mas algumas outras coisas existem no Infocenter e mesmo assim entraram no livro;
  • Senti falta de receitas de performance, como instalação de cache externo e aplicação de tabelas pré-agregadas;
  • Há um pouco de mistura de assuntos, e a separação ainda pode ser melhorada. Por exemplo, há um capítulo só com receitas da nova interface do BA Server, bem no início, e um outro com receitas sobre agendamento quase no final. Como é tudo assunto do BA Server, talvez fizesse mais sentido estarem juntas ou no mínimo subsequentes;
  • Plugins: a quantidade de plugins no Pentaho Marketplace vem crescendo a olhos vistos, mas o livro aborda apenas dois plugins (Saiku e Logs), além da internacionalização;

Nenhuma dessas coisas atrapalham o livro, mas elas estão lá (ou não) de qualquer forma.

The… Italian

A Packt é uma editora internacional, verdadeiramente global e seu elenco de escritores reflete isso: eles têm gente literalmente do mundo todo e o fato é que todos precisam escrever em, no mínimo, inglês. Há essa multitude de culturas e línguas forçosamente enquadradas em uma língua (para o autor) estrangeira. Resultado: uma presença maior ou menor de expressões curiosas, atípicas do inglês falado por nativos.

O Sérgio Ramazina é italiano e como bom latino (assim como nós, brasileiros), tende a pensar em inglês mais literalmente. Por exemplo, quase dá para ouvir seu sotaque em expressões como “This is the idea that stays behind the concept of(…)” (locus 2028.) Um nativo escolheria uma frase mais sintética, com outro verbo:  “This is the idea behind the concept of(…)”

O autor meio que esgotou a cota dele desses regionalismos, mas isso não chega a atrapalhar a leitura. Com certeza causam alguma estranheza em quem esteja mais acostumado ao inglês escorreito, mas para mim, latino com o Sérgio, essas expressões são transparentes porque fazem sentido em português. Talvez leitores de outras nacionalidades sintam alguma dificuldade – como quando eu preciso reler trechos escritos por japoneses, por exemplo.

Conclusão

Instalou a versão 5 da suite Pentaho? Migrou e agora precisa fazer o que já fazia? Quer começar com Pentaho, baixou o produto mas agora está em dúvida sobre como realizar cada tarefa?

Então o Pentaho BA Cookbook é o seu livro: rico em receitas úteis, detalhadas e bem explicadas. Ele aborda assuntos variados, todos relevantes, sobre o servidor e alguns dos clientes Pentaho. Ainda que precise de algumas melhorias (e nestas não se incluem as idiossincrasias de autor), e não traga absolutamente tudo que existe (o que seria um exagero de qualquer forma), esse é o livro sobre a versão 5.0!

Cruzando Duas Hierarquias da Mesma Dimensão

Em 7/2/14, Camila Botelho postou uma curiosa pergunta:

Camila pergunta sobre análises em duas hierarquias da mesma dimensão.
Camila pergunta sobre análises em duas hierarquias da mesma dimensão.

Eu respondi com curiosidade:

Eu não sei... ainda! :-)
Eu não sei… ainda! :-)

O teste era simples: primeiro, criar a hierarquia gênero no esquema e, segundo, espetar cliente de novo no cubo. O resultado é este aqui:

Nova hierarquia no cubo Beltrano, mostrando o Cliente espetado duas vezes.
Nova hierarquia no cubo Beltrano, mostrando o Cliente espetado duas vezes.

Até agora, tudo lógico e razoável. Teste de fogo: dá para criar uma análise de Gênero do Cliente por Estado do Cliente? Resposta:

Duas hierarquias cruzadas entre si no Saiku.
Duas hierarquias cruzadas entre si no Saiku.

Sim! A visão da figura anterior está filtrada por tipo de cliente (exibe apenas PF, já que PJ não possui gênero), e em cada eixo (coluna e linha) eu tenho um atributo de cara hierarquia da dimensão Cliente. O Saiku não expôs o nome da dimensão setada com Dimension Usage (Cliente H1 e Cliente H2), mas oferece o cliente duas vezes.

A pergunta que não quer calar é “peraí! A cada hierarquia que eu queira cruzar, preciso espetar a dimensão no cubo de novo?” Bom, se você usar o Pentaho Analyzer (EE), não. Caso contrário, por enquanto, sim. Eventualmente, consultas MDX não possuem essa limitação – indicando que é um ponto a ser melhorado no cliente OLAP, e não no Mondrian:

SELECT
NON EMPTY Hierarchize(Union(CrossJoin({[Cliente H2.Genero].[F]}, {[Measures].[Quantidade]}),
                             CrossJoin({[Cliente H2.Genero].[M]}, {[Measures].[Quantidade]}))) ON COLUMNS,
NON EMPTY {Hierarchize({[Cliente H1].[Estado].Members})} ON ROWS
FROM [Pedidos]

É isso. Respondido, Camila?

Navegador OLAP OpenI

O jPivot é feio de doer – é o que dizem. Particularmente, eu aprendi a me virar com ele, e o acho até que bem funcional. É pouco prático para certas operações, como remover o total da coluna ou filtrar nas dimensões. Mas não é de todo ruim.

Quando saiu o Pentaho Analyser, o jogo mudou: o Pentaho passou a ter um navegador OLAP de primeira, com muito da parafernália típica das ferramentas comerciais, como o MicroStrategy. Ainda não tem tudo, e nem sei se realmente precisa, mas tem muitas coisas.

Pouco depois a comunidade se moveu, e lançou o Pentaho Analysis Tool, renomeada para Saiku mais tarde. De novo, esse cara mudou o jogo para a versão comunitária do BI Server (o Analyser é proprietário, e só vem no BI Server Enterprise Edition.) O BI Server CE passou a contar com uma interface OLAP moderna, prática, intuitiva, fácil de usar. O Saiku ainda tem a impressionante vantagem de poder usar metamodelos e esquemas Mondrian na mesma interface, sem diferenciar a – é tudo fonte para relatórios.

Mesmo assim, eu não conseguia achar nem um nem outro boas soluções. Eram bonitos e práticos, ok, mas ainda faltava alguma coisa. OLAP não é relatório. Tentar transformar uma coisa elaborada, sutil, sofisticada como OLAP em um relatório plano era descartar uma das coisas mais valiosas do OLAP – a hierarquia.

“Mano cê pirou,” dirão vocês, porque tanto o Saiku quanto o PA usam as hierarquias e permitem drill down e roll up nelas. O Kimball mesmo, na primeira edição do DW Toolkit, explica que drill down é a operação de adicionar mais colunas ao relatório, aumentando o nível de detalhe exibido, e que roll up é remover colunas, agregando mais os dados. Por isso podem me chamar de Pairulito e dizer que sou antiquado, mas dispor de um botão que, clicado, expande o nível hierárquico seguinte – ou seja, faz um drill down – é muito bacana.

Navegador OLAP OpenI, planilha.
Navegador OLAP OpenI, planilha.

E é aqui que entra o OpenI. Ele é um cruzamento do jPivot com o Saiku. Ele mantém a navegação por botões, com todas as funcionalidades do jPivot, mais toda conveniência do Saiku (e do Analyser, porque não?) Ele ainda não dispõe de coisas como a janela de seleção de membros para filtrar dimensão, nem as opções de contexto (botão direito do mouse) na célula, como o Keep only X ou Remove X. Quem sabe esse tipo de evolução esteja nos planos da OpenI.org? (Eu vou verificar, de qualquer forma.)

Navegador OLAP OpenI, aba de gráfico.
Navegador OLAP OpenI, aba de gráfico.

Então é isso: o OpenI é uma nova-velha interface OLAP, que tem a vantagem de navegaro o OLAP de maneira mais olap-ística e menos relatorial, menos feio que o jPivot e com quase tantos recursos quanto o Saiku.

Apache BI

Outro dia um grande amigo meu me mandou um e-mail intitulado “consulta rápida Pentaho:”

Deixa eu abusar um pouco de sua boa vontade? Estou com uma necessidade interessante. Tenho meu servidor na Amazon hospedando os blogs e outros trecos. Desde setembro, tenho feito backup dos logs do Apache e pensei em começar a dar um destino útil para eles. (…) E eu comecei a pensar: seria interessante um cubo OLAP para fazer “drill down” de forma mais dinâmica. Então, eu precisava transformar os logs em uma tabela de fatos e fazer as dimensões a partir da URL, código de erro, etc.

Exatamente o tipo de desafio que eu gosto: BI, Pentaho e idéia nova! Na hora pulei dentro e começamos a trabalhar naquela mesma noite: ele setou um repositório Git, instalou um Postgres, um BI Server 4.0 e o PDI 4.2 na máquina Amazon dele. O truque todo era converter as linhas do log em colunas e tratá-las.

Na noite seguinte já tínhamos um protótipo: uma transformação que carregava uma tabelona com todos os atributos de um um modelo dimensional, além de algumas métricas. Mapeei isso num esquema Mondrian, publiquei e fiz um teste. Ele aprovou o protótipo:

Primeira versão do cubo Apache BI

Tínhamos um esquema Mondrian que permitia examinar a quantidade de bytes transferidos por tipo de conexão.

É por isso que eu acredito no Scrum: foi ai que a mágica aconteceu. Quando ele viu o que estava sendo feito e como a informação poderia ser apresentada, ele entendeu como pedir o que precisava. Ele montou um Jira, abriu uma conta para mim e eu registrei as histórias, dividindo as tarefas entre nós dois (ele aprende absurdamente rápido.) Em mais alguns dias tínhamos um projeto inteiro em andamento:

Backlog de produto, Apache BI, Sprint 1

A essa altura, o cubo monolítico evoluiu para um modelo dimensional mais completo:

Modelo Dimensional Apache BI v1.0

Com esse modelo podemos estudar os acessos por data, hora e agente do usuário. Como dá para perceber pelas colunas da fato (tabela do centro), ainda estamos evoluindo o tabelão. Claramente há uma dimensão junk (versão http com código de retorno) e talvez o cliente ainda descubra outras dimensões ou métricas.

Com esse modelo funcional, instalei o plugin do Saiku no BI Server e as visões OLAP ficaram mais bacanas:

Visão OLAP do cubo Apache BI

A visão anterior como um gráfico de barras.

Situação Atual & Próximos Passos

Ainda estamos andando com o projeto, mas já temos um futuro para ele. Assim que ficar completo, vamos macetear sua adaptação a qualquer Apache e soltá-lo com um projeto Open Source – provavelmente no SourceForge. Esse projeto vai ser a plataforma de lançamento de uma idéia que eu estou tentando tornar real já há algum tempo, que é…

Nah-nah!! Esperem e verão! :-)

Até a próxima!

02/04/12 – Atualização: o Edu colocou os arquivos em um diretório, de modo que vou passar para a próxima etapa: lê arquivos e fazer carga diferencial. Semana que vem terá post novo! Boa semana a todos!