Chamando um Report Através de um Painel CDE

Algumas vezes é necessário emitir um relatório a partir de uma interface ou painel criade pelo CDE.

Neste post vou mostrar como fazer isso em alguns passos e por este motivo é importante que esteja familiarizado com o CDE e Pentaho Report Designer. Durante o desenvolvimento do projeto vou informando os links que podem ajudar a quem não utilizou a ferramenta a entender o que está acontecendo.

 

A princípio teremos um painel simples, com uma tabela que é atualizada de acordo com um parâmetro vindo de uma combo box.

Ao clicarmos em um botão no painel, teremos a execução de um relatório do PRD, com exatamente os mesmo campos da tabela e também obedecendo o filtro utilizado no painel, mas vejam… poderia ser qualquer PRD.

Vamos ao trabalho!

 

Primeiro devemos criar um relatório através da ferramenta Pentaho Report Designer. Para isso você deve ter a ferramenta instalada e iniciar a execução da mesma através do arquivo /pentaho/report-designer/report-designer.sh no Linux ou report-designer.bat no Windows.

Não vou falar muito sobre esta ferramenta, pois criarei posts específicos sobre seu funcionamento mais tarde. A princípio vamos nos atentar ao seguinte:

1 – Crie um novo relatório – File->Newprd_data

2 – No canto superior direito clique na aba “Data”

3 – Em “Data Sets”, clique com o botão direito e adicione uma nova conexão JDBC de acordo com seus parâmetros de conexão.prd_data_setconexao_jdbc

4 – Depois crie uma query para esta conexão selecionando a mesma e clicando no botão de adiocionar (+).criando query

No meu caso eu criei duas queries:

A primeira é uma consulta SQL que retorna a data e a quantidade de itens movimentados, com um filtro por ano.

select

t.data,

f.qt_item

from

dw_almx.fato_entradamaterial f

inner join dw_corp.dm_tempo t on

t.pk_tempo = f.fk_tempo

where

t. ano4 = ${pAno}

Para que o relatório respeite o filtro eu utilizei o parâmetro ${pAno}. Vou mostrar como ele é criado mais adiante.

A segunda consulta, que também é SQL, eu criei para popular uma combo com os anos que o usuário poderá selecionar para servir de filtro/parâmetro para a primeira query.

select distinct ano4 from dw_corp.dm_tempo order by ano4

Com as duas consultas em perfeito funcionamento vamos em frente!

5 – Ainda na aba “Data”, adicione um parâmetro clicando com o botão direito do mouse sobre “Parameters”prd_parameters

6 – Siga a criação do seu parâmetro conforme a figura abaixo:

prd_criacao_parameter

Onde:

Name = Nome do parâmetro que está criando. No exemplo usei pAno e já passei ele com este nome na Query 1.

Label = Rótulo que identifica o parâmetro na interface com usuário.

Value Type = Tipo de dado do parâmetro

Default Value = Valor padrão “selecionado” em seu parâmetro. Note que coloquei 2015, pois como estamos no primeiro dia útil de 2016 ainda não temos movimentação para o mesmo na minha base de exemplos.

Mandatory = Quando selecionado, indica que o relatório só pode ser gerado quando um valor do parâmetro for informado.

Display Type = Forma como o seu parâmetro aparecerá na interface com usuário. No nosso caso será uma Drop Down (ou combo box para os mais antigos como eu)

Query = Consulta criada anteriormente que populará sua drop dow. No nosso caso a Query 2

Value = Coluna que terá seu valor passado, quando selecionada a drop down.

Display Name = Coluna que será exibida em sua drop down.

7 – Criando os campos do relatório

Note que a Query 1, na aba “Data”, está contida em uma pasta com um ícone de expansão. Expanda esta pasta e verás os campos que sua consulta retorna. No caso do exemplo são apenas dois: data e qt_item.

q1 e q2

Arraste-os para a banda de detalhes do relatório.

Se tudo deu certo até aqui, basta clicar no ícone de preview (olho) para ver o resultado que deve ser como na figura abaixo:

preview

Se seu resultado foi positivo, salve o relatório e publique-o

No caso do exemplo, salvei como “relatorio_teste.prpt”. Para publicar vá em “File->Publish”

publicando

Atente-se para url do seu BI-Server e as credenciais de autenticação que devem ser as de um usuário administrador do Pentaho.

publicando2

Nesta tela você informa o nome do arquivo, o caminho onde deseja que ele seja publicado e a forma de saída  padrão do relatório, ainda é possível bloquear para que os usuário não possam selecionar outra forma de saída que não a padrão.

Agora encontre o relatório no PUC através da opção “Navegar por Arquivos” e execute-o para testar.

encontrando o relatorio

testando relatorio

Depois de tudo isso vamos finalmente criar nosso painel que disparará o relatório em questão.

 

Criando o Painel

  1. Crie um novo painel CDE
  2. Na perspectiva “Layout” crie 3 linhas chamadas respectivamente de r1, r2 e r3.perspectiva_layout
  3. Na perspectiva “Data Sources” crie duas consultas SQL exatamente iguais as criadas no relatório, sendo uma para a combo do parâmetro e outra para a tabela que será exibida no painel. Porém para diferenciar, vamos alterar o nome do parâmetro da consulta da tabela para ${ano} ao invés de ${pAno}.perspectiva_datasources
  4. Na perspectiva “Components”, crie os seguintes componentes:
    1. Simple parameter
      1. Name: ano
      2. Property value: 2015perspectiva_components1
    2. Select Component
      1. Name: cboAno
      2. Parameter: ano
      3. Value as id: True
      4. Datasource: <nome da query que você criou que traz os anos distintamente>
      5. HtmlObject: r1perspectiva_components2
    3. Table Component
      1. Name: tb1
      2. Listeners: ano
      3. Parameters ano, ano
      4. Datasource: <nome da consulta que populará a tabela>
      5. HtmlObject: r2perspectiva_components3
    4. Execute Prpt Component
      1. Name: prpt
      2. Label: prpt
      3. Listeners: ano
      4. Path: <caminho onde publicou seu relatório>
      5. Paramenters: pAno, ano (aqui eu digo que o parâmetro pAno do report será atualizado pelo parâmetro ano do painel)
      6. HtmlObject: r3perspectiva_components4

Se todos os passos de criação estiverem corretos, basta você clicar no botão de pré-visualização para obter os resultados:

1 -Painel – Note o filtro e botão para execução do report

painel

2 – Relatório executado através do painel.

relatoriochamadopainel

Por hoje é só pessoal. Estamos apenas começando o ano. Até a próxima!

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *