Tabelas Boneco para Prompts no PRD

Recebi um problema novo para tratar, que já veio com solução. Me passaram um relatório a ser desenvolvido no Pentaho Report Designer (PRD) que deve ter vários prompts (parâmetros.) Alguns são caixas de texto simples, como nome do projeto, e outros vêm de consultas, como lista de departamentos. Dois ou três deles, porém, são listas que não vêm de nenhuma tabela. O PRD só popula drop-downs, radio buttons e check boxes a partir de um SQL (ou eu acredito que só faz assim – não investiguei muito mais.)

O fato é que eu precisava de uma consulta dummy (boneco) que retornasse algumas linhas, tais como “sim, não, talvez” para alimentar um radio-button. Como eu disse, recebi o relatório, e ele veio com um desses casos resolvidos. Eu examinei a consulta:

SELECT TEXTO,VALOR
FROM
(SELECT ‘Sim’ AS TEXTO,’1′ AS VALOR
UNION
SELECT ‘Não’AS TEXTO,’2′ AS VALOR
UNION
SELECT ‘Talvez’ AS TEXTO,’3′ AS VALOR) AS DUMMY
ORDER BY 2

Oras! Essa eu não sabia! É uma tabela dummy!! A consulta foi escrita para Postgres, mas com certeza existem comandos equivalentes para MS SQL Server, Oracle, MySQL e outros bancos.

Genial, não? :-) E nem fui eu quem fez isso!

Então é assim: sempre que precisar de uma lista que não existe em uma tabela para popular um prompt no PRD, construa a consulta boneco acima e seja feliz.

É isso.

ADENDO: a consulta tinha dois erros, um de nome de campo e outro de aspas simples em volta dos valores. Corrigido. Nada como tomar o próprio remédio…

Novo Livro: Pentaho na Prática

Nas listas de discussão sempre aparecem novatos perdidos, sem saber por onde começar e invariavelmente nos primeiros posts diz:

Alguém aí tem um livro, ou um tutorial, em português, para indicar?

Bom, finalmente a resposta vai ser sim! Agora existe um livro em português que ensina o Pentaho passo-a-passo!

Foi lançado hoje, dia 20/04/13, no evento Pentaho Day em Fortaleza, o livro Pentaho na Prática, o primeiro livro sobre Pentaho em português na Amazon.com.br (e em todas as outras, aliás:)

http://www.amazon.com.br/Pentaho-na-Prática-ebook/dp/B00CEQFDU0

O Livro

É uma edição Kindle, sem previsão de lançamento em papel, com 12 capítulos e vários apêndices, dedicados a ajudar o leitor a executar um projeto de BI com Pentaho de ponta-a-ponta. Ele inclui da configuração dos programas a dashboards, passando por ETL, relatórios, OLAP, metamodelos etc.

Os três autores ministraram cursos de Pentaho muitas e muitas vezes, e dão plantão no fórum nacional e internacional de Pentaho há anos. Por isso decidimos por uma abordagem que ajudasse o profissional autodidata, que tem disposição para investir no estudo da plataforma. Por isso, ao invés de documentar as principais funcionalidades da plataforma com exemplos, como é feito no grande e pioneiro Pentaho Solutions, decidimos seguir uma trilha de raciocínio, que mostra como atender as necessidades de BI de uma empresa típica, de ponta-a-ponta.

No livro você será apresentado a uma empresa fictícia que precisa ter acesso aos dados de seu sistema transacional para poder alavancar todo seu processo de decisões. A partir dessa premissa vamos mostrar como:

  • Montar rapidamente um protótipo para validação da necessidade;
  • Desenhar um Data Warehouse simples, com…
  • …o passo-a-passo para implementar um processo de ETL;
  • Entregar relatórios pré-fabricados, adhoc e cubos OLAP;
  • E montar um dashboard com CDE.

Isso tudo com instruções detalhadas e testadas, em etapas ricamente ilustradas (eu sempre quis dizer isso :-) .)

O que é isso, Companheiro?

O livro mostra como fazer muita coisa, mas para isso precisa de muita coisa também. Precisa de scripts, bases de dados de exemplos, instalação e configuração de programas acessórios como Java e Postgres etc. Daria para encher outro livro só com os assuntos paralelos.

Para melhorar a experiência de nosso leitor, criamos um site companheiro (do inglês companion site) que já vai trazer o máximo possível de coisas prontas.

No Prelo

Este é um trabalho em finalização, que foi lançado sem todos os capítulos para aproveitar o Pentaho Day que rolou hoje. Quem comprar um exemplar do PnP de hoje até a data de disponibilização da edição completa, 01/07/13, vai receber a atualização sem nenhum custo extra.

Até lá, quem tiver curiosidade de saber como o livro é, pode baixar esta versão de degustação do capítulo 3. A versão final deste capítulo terá ainda o passo-a-passo para traduzir o BI Server, configurar logs e mais algumas coisas.

Dream Team

Esse livro é filho de Fábio de Salles, este que vos fala, de Caio Moreno de Souza, nosso querido Prof. Coruja, e Cesar Domingos, um grande amigo, que eu conheci quando ele ainda trabalhava na IBM do Software Livre, a 4Linux. São dois caras bacanas, gente finíssima e que já quebraram muita pedra com o Pentaho.

Depois de algum tempo ministrando o curso de BI com Pentaho que eu havia criado para a 4Linux, eu pensei em escrever um livro – afinal, já tinha plantado uma árvore e estava no segundo filho. Na verdade, eu já não me lembro mais, mas eu acredito que a idéia do livro veio mesmo foi do Cesar.

O fato é que eu discuti a idéia com ele, que me deu o incentivo fundamental para eu criar coragem de começar o livro. Imagine, justo eu que sabia tão pouco, escrever um livro com coisas óbvias… No final das contas ele me apresentou a uma editora, que já havia publicado livros seus. Eu não conhecia nada desse mercado, e ainda me sentia inseguro. Eu não queria estar sozinho e decidi convidar o Cesar, que sempre foi um cara inteligente e legal, para ser co-autor. Não apenas ele já tinha livros publicados, mas ele sabia coisas de Pentaho que eu não entendia muito bem, como a configuração do Tomcat e do Apache, além de uma renca de outras coisas que no final das contas fazia com que ele visse o Pentaho com olhos bem diferentes dos meus.

Fomos quicando com a editora, tentando negociar algum contrato, até que um dia eu percebi que o Caio precisava fazer parte do projeto. Eu estava coletando material e organizando os capítulos e vi que uma parcela importante do que eu pretendia colocar no papel tinha sido criada, organizada e publicada pelo Caio. Tradução, dashboards, configurações, dicas, macetes etc. etc. etc. O Caio já era parte do livro, de um jeito ou de outro. E trabalhar com ele, quem já trabalhou, sabe, é empolgante. Eu não tive dúvidas: conversei como Cesar e topamos convidar o Caio para se juntar a nós.

Mais do que uma marca na minha vida profissional, mais que uma realização pessoal, trabalhar no livro precisava ser, acima de tudo, uma coisa divertida, motivadora, empolgante, e o Caio e o Cesar eram a parte que faltava. Não esperamos ganhar dinheiro com o livro – afinal, vivemos no Brasil – mas uma coisa nós buscamos e já conseguimos: estamos nos divertindo horrores!! :-)

Espero que vocês gostem. ;-)

Adendo

Estamos desativando o plugin que bloqueava o site companheiro antes do lançamento. Até vocês podem acessar os scripts nestes links:

Relatório não é o mesmo que OLAP

Sendo formado em Física, um campo do conhecimento humano pesadamente dependente de teoria, eu tenho uma tendência a avaliar o mundo de um ponto de vista mais conceitual. Naturalmente eu carrego esse viés científico a tudo, inclusive e especialmente para BI. Sendo BI uma coisa tão abstrata e poderosa, eu não poderia deixar de tentar entendê-lo conceitualmente.

E desde cedo eu comprei uma briga besta: relatório adhoc não tem nada a ver com OLAP.

“É óbvio que não, Fábio, duhn!” dirão vocês, meus inteligentes leitores. Mas não é o que o mercado vê. E vamos ser francos, honestos e diretos: o cliente vê a ferramenta em 90% dos casos. Tem gente que acha que DW é dispensável, para vocês terem idéia. Então não, não é óbvio não – ao menos não para aqueles que tomaram contato com BI da mesma forma que a maioria toma contato com a medicina: pela ferramenta, pelo remédio para dor.

E porquê eu volto nesse assunto fútil novamente? Bolas, porque eu usei a cabeça: eu sei que a MicroStrategy, assim como o SAS, a Microsoft e a IBM, tem um servidor OLAP. Fui olhar a brochura e fiquei espantado com a semelhança entre a oferta OLAP deles e o Pentaho. Veja a figura abaixo e me diga qual software a gerou:

OLAP_MicroStrategy_01

A imagem acima foi feita pelo: [ ] jPivot [ ] MicroStrategy [ ] Saiku

Essa é fácil. E essas duas?

OLAP_jPivot_01

A imagem acima foi feita pelo: [ ] jPivot [ ] MicroStrategy [ ] Saiku

OLAP_Saiku_01

A imagem acima foi feita pelo: [ ] jPivot [ ] MicroStrategy [ ] Saiku

Bom, deixando a pirotecnia de lado, vamos ao que interessa: há uma grande diferença entre um relatório e uma visão de um cubo OLAP. Não apenas na aparência, mas na funcionalidade, na forma como ele responde e o que ele te permite fazer. E não é, não, tudo a mesma coisa. Coisas que um cliente consegue com o OLAP não consegue com um relatório – tempo de resposta médio de 5s é um deles, hierarquias são outra.

A MicroStrategy vende o OLAP Server como um módulo a parte, sendo que no Pentaho isso vem embutido já na versão comunidade e é o mesmo usado pela edição paga. Mais: cache, performance, navegação, combinação de elementos dos cubos e entre os cubos – a oferta da MicroStrategy tem muitas coisas iguais ao Mondrian.

Espero ter posto esse assunto em um novo nível: existe relatório, adhoc, a priori, akcta4; e existe OLAP. Não são a mesma coisa, ponto.

Estou lendo o OLAP Solutions, e um dia eu devo voltar ao assunto com mais embasamento e discutir as diferenças com mais propriedade. Até lá!

Leia mais…

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.

Moldura Data Vault para PDI

O título é uma tradução livre do projeto PDI Data Vault framework, no SourceForge. Ele me foi indicado pelo próprio Roland Bouman (!) como uma solução para automação de ETL de Data Vault, numa discussão no LinkedIn. Acabei de ver e estou sem tempo hoje, mas vou ler com atenção. Fica a dica.

CategoriasSoftware Tags:, , , , ,

Como Estragar um Painel

O título é um tanto quanto mal-educado, mas ele tem a virtude de ser claro.

Veja o dashboard abaixo, retirado de um caso real encontrado na Internet:

Como distribuir um controle ruim de forma inadequada.

Como distribuir um controle ruim de forma inadequada.

Eu removi todos os nomes dos dials, apaguei os números e, para não facilitar, eu repliquei um mesmo dial algumas vezes. Eu quero apenas mostrar o layout, não os dados, porque eu não vou citar a fonte. Se o cliente desse painel não reclamou, então quem sou eu para apontar o dedo? E depois, duvido que o autor decida mudar, que o próprio cliente entenda a razão – acho mais provável eu ser atacado que agradecido (ou mesmo ignorado.) Mas a vocês, meus leitores fiéis que buscam algum conhecimento, eu deixo aqui a dica.

Stephen Few, no livro Information Dashboard Design, explica porque o controle de dial (ponteiro) é ruim: ele ocupa muito espaço para mostrar uma informação pequena, e é difícil de comparar. Para se ter uma idéia, todos os dials acima tinham os limites diferentes. A única informação tirada da visualização de quase todos ao mesmo tempo era… nenhuma.

Observe a figura de novo: você conseguiria, em um relance, dizer quais e quantos indicadores ultrapassaram cada meta? NÃO! É preciso olhar um por um, guardando os casos especiais de cabeça, rolar a página e continuar o processo!!! É ridículo! Um painel desses pode ser muito mais útil se colocado em um gráfico de barras! Ao invés de ajudar o cliente, e facilitar tudo, ele dá mais trabalho!

A página inteira tem 13 dials. Stephen Few sugere o uso de outro controle para esse tipo de apresentação: bullet graph. Usando o Gimp e imagens do bullet chart coletadas da Wikipedia, eu refiz o dashboard. Veja abaixo duas opções de como poderia ter sido:

Recuperando um painel estragado: bullets charts na vertical.

Recuperando um painel estragado: bullets charts na vertical.

Recuperando um painel estragado: bullets charts na horizontal.

Recuperando um painel estragado: bullets charts na horizontal.

E agora? Pode me dizer, de um relance, quais e quantos indicadores ultrapassaram as metas? Quais requerem ação? Eu não apenas tornei o painel útil e prático (que são suas funções básicas – ser útil e ser prático), como ainda adicionei informação, enriquecendo a experiência!

E tudo que eu precisei foi deixar de lado uma idéia velha, que nunca funcionou direito. É isso.

Interface para o HSQLDB

Essa é fantástica! Um ex-aluno meu, e grande amigo, Rômulo Souza descobriu uma interface gráfica para o HSQLDB dentro do BI Server:

  • Abra um terminal (DOS prompt no Windows)
  • Mude para o diretório do HSQLDB: ./biserver-ce/data/lib
  • Comande:
java -cp hsqldb-1.8.0.jar org.hsqldb.util.DatabaseManagerSwing --noexit

A seguinte janela vai se abrir:

Essas janelas se abrirão ao rodar o comando.

Essas janelas se abrirão ao rodar o comando.

Preencha os campos da janela Connect com os seguintes dados:

  • Setting name: Pentaho Hibernate
  • URL: jdbc:hsqldb:hsql://localhost:9001/hibernate
  • User: hibuser
  • Senha: password

A janela de conexão deve ficar assim:

Janela de conexão com o HSQLDB.

Janela de conexão com o HSQLDB.

Clique em Ok, e a janela de exploração do banco de dados aparecerá. Você pode examinar o layout das tabelas e executar comandos SQL diretamente, como por exemplo:

Exemplo de layout de tabela e SQL.

Exemplo de layout de tabela e SQL.

É isso! Grande dica, Rômulo!

Seguir

Obtenha todo post novo entregue na sua caixa de entrada.

Junte-se a 58 outros seguidores