Pesquisar este blog

segunda-feira, 12 de dezembro de 2011

Multi-Version Coexistence Cognos 10

Você sabia que é possível configurar 2 ambientes Cognos a partir da versão 10.1?

Com isso você pode criar um projeto de migração transparente ao usuário.

A versão 10.1 se torna a padrão mas ao clicar em links pré-configurados, o usuário é levado a versão anterior sem que perceba.

Cognos 10 Multi-Version Coexistence suporta as versões Cognos 8.3.x, 8.4.x e 8.4.1.
A versão 8.4.1 suporta nativamente, as demais versões precisam do último FP disponível.

Como fazer:

No seu portal versão 10

1 - Iniciar->IBM Cognos Administration
2 - Clique na aba Configuration.
3 - Clique na em Set Properties.
4 - Clique na outra aba Configuration.
5 - Clique em Environment->Advanced Settings .
6 - Adicione as respectivas linhas.


Variable​
Value​
MVC_remoteWebContent​http://<hostname>.ibm.com/<c8alias>​
MVC_remoteGateway​http:​/​​/​<hostname>.ibm.com​/​<c8alias>​/​cgi​-​bin​/​cognos.cgi​​
MVC_domain​ibm.com


No seu portal versão 10

1 - Iniciar->IBM Cognos Administration
2 - Clique na aba Configuration.
3 - Clique na em Set Properties.
4 - Clique na outra aba Configuration.
5 - Clique em Environment->Advanced Settings .
6 - Adicione as respectivas linhas.

 
Variable​
Value​
MVC_gateway​http:​/​​/​<hostname>.ibm.com​/​<c10alias>​/​cgi​-​bin​/​cognos.cgi​​
MVC_domain​ibm.com​

*IMPORTANTE, AMBOS OS SERVIÇOS DEVEM ESTAR CONFIGURADOS NO MESMO DOMÍNIO E ESTE DEVE ESTAR INCLUÍDO NA POLÍTICA DE SEGURANÇA DE FIREWALL DO COGNOS, do contrário um erro javascript poderá aparecer ou será informado um erro do CAF.

*Obs, não consegui fazer funcionar na versão 10.1.1 x64 com 8.4.1 x32.

Aqui o How-to da IBM.
http://www-01.ibm.com/support/docview.wss?uid=swg21459041

Aqui tem um exemplo de como fica.
http://www.youtube.com/watch?v=kD7J5fZY-n8

terça-feira, 6 de dezembro de 2011

Dica da semana - Cálculo Incorreto

É isso aí, voltei, depois de umas férias e uma ripa no trabalho.

A dica do dia fica pra uma propriedade muito útil embora pouco conhecida dos Data Itens, o famoso Solve Order.

As vezes precisamos fazer uma série de cálculos e apresentá-los numa lista ou crosstab, mas por mais que tentamos a porcaria do valor sempre vem errado.

Me lembrei disso ontem enquanto via um relatório que aparentemente continha todas as agregações definidas corretamente, mas os rollups estavam todos errados.

Esse tipo de problema aparece geralmente em crosstabs, pois podemos colocar qualquer coisa em qualquer lugar.

Procedimento muito simples, veririque se as agregações estão corretas, depois basta definir nos Data Itens valores em sequência na mesma ordem dos cálculos.

Obs.: Por padrão Aggregate Functions utilizam Solve Order 1, e dados de Query utilizam 0 ou nada.

Dúvidas? Complicado? Quer adicionar algo? E-mail-me!

Próximo post malditos Determinants!!!!

sexta-feira, 7 de outubro de 2011

Javascript Expand and Colapse - Agrupar e Desagrupar - Part 2

Eu sei, demorei pacas pra por esse post, vida corrida!!

Como disse antes esse é um exemplo de agrupamento possível, pode-se fazer muitos níveis, aqui vamos fazer apenas 1.

1 - Construa uma query com essa cara.


Só dois níveis nesse exemplo.







2 - Construa uma página com essa cara.

Repare que existem 5 HTML Itens, disponha-os exatamente da mesma forma.
Agora vamos ao conteúdo deles:

HTML 1: <script type="text/javascript"> A função do post anterior</script>

HTML 2: <span id="tbl1">

HTML 3:
<img src="../images/PropertyGroup_plus.gif" onclick="ExpandCollapse(this);" style="cursor:hand; vertical-align:middle; margin-right:2px"/>

HTML 4: </span>

HTML 5: <script type="text/javascript">StartHidden('tbl1');</script>

3 - E por fim acerte o padding(espaçamento) no Nível 1 em 20 px.

Com isso está pronto, rode e veja o que acontece!

Caso queira inserir mais níveis, faça o padding incremental, mas sempre deixe o último nível(nesse caso o 2) sem padding.
Nível 3 normal
Nível 2 20px
Nível 1 40px


Essa função só server para grupos superiores, ou seja totais na parte de cima do relatório, para totais na parte inferior é necessário adequar a função, se precisar de ajuda me manda um e-mail.

Boa noite a todos.

terça-feira, 20 de setembro de 2011

Javascript Expand and Colapse - Agrupar e Desagrupar - Part 1

Esse post já está preparado tem um tempo, mas não ficou muito bom.

Outra funcionalidade muito solicitada é o famoso "Agrupar" do Excel, que facilita a visão diminuindo a poluição no relatório, pois ele agrupa varias linhas, e expande quando solicitado.

É como a estrutura de diretório do Windows, clique no "+"(mais) e a árvore abre.

Pois bem, existe um modo de se fazer isso no Cognos graças ao Mr. Javascript, abençoado seja o inventor.

A utilização é muito simples, e a lógica aplicada também, então vamos a explicação técnica.

No HTML o elemento TABLE possui os elementos TR, que são as linhas da tabela - table row.
Esses elementos TR por sua vez possuem um atributo chamado STYLE, o qual possui uma propriedade chamada DISPLAY.

table.tr.style.display, ok?

Essa propriedade define se um elemento estará visível ou não na tela, apesar de ter sido carregado.
Então DISPLAY = 'NONE' significa que o elemento estará oculto e DISPLAY = 'BLOCK'... visível.

A função consiste basicamente em ler todas as linhas da tabela e atribuir a propriedade não visível ou visivel, isso dependerá de uma variável do preenchimento definido na variavél INDENT_SIZE.

A função percorre todas as linhas abaixo da linha clicada verificando se existe uma imagem dentro da primeira célula, se tiver significa que é hora de para. Uma vez verificada a célula, a linha é trocada de status, se visível então invisível e a imagem muda de IMG_UP/DOWN para IMG_DOWN/UP.

Logo abaixo você vai encontrar os itens necessários para poder criar um relatório com Expand/Collapse.
No próximo post vou fazer uma demonostração de utilização.

------>>>> Código da função

Cognos 10.1.1 - Released - Lançado

Post rapidinho pra começar o dia.

Então, eis que a IBM lança mais uma versão do Cognos, bom... muitos vão falar que não é uma versão, só um patch ou algo assim.
Gostaria que isso fosse verdade, antigamente eu diria que 10 era a versão, 1 a release e o outro 1 era  patch, mas esse lançamento tem coisas diferentes e não existe a possibilidade de atualização de uma versão existente, fora que eles já tinham lançado o FP1.

É necessário fazer uma nova instalação!!

Resumindo Cognos 10.1.0 + FP1 ≠ Cognos 10.1.1

A única coisa que me chamou a atenção, até agora, foi o lançamento do report service finalmente em 64-bits, porém ao que parece ele foi feito para ser utilizado junto ao DQM(Dynamic Query Mode) um treco que aprimora query e caches em alguns tipos de fontes de dados como TM1, Essbase e agora em DMR.

Então não se deve esperar que a velocidade ou capacidade dos relatórios diminua e aumente, respectivamente, só nos casos citados.

Fora isso, uma bela lista de correção de erros, e mesmo assim eu já achei um, incrível!

Agora é ir usando pra ver o mais da pra fazer.

Abs

segunda-feira, 12 de setembro de 2011

Active Report - Relatório Ativo - Básico

Como prometido, vamos a uma breve porém explicativa... hum.... explicação.

Adendo: Esse post faz uma explicação para a versão 10.1.0 do Cognos, para a versão 10.1.1 as coisas mudam um pouco.

Fundamentos first:
O que você precisa saber antes de começar relatórios em AR?
1 - Controles
2 - Containers
3 - Variáveis

Então vamos vê-los, um de cada vez, começando pelo primeiro. (Não sou retardado apenas bobo).

1 - Controles
Podemos dizer que os controle são a alma de um AR, eles são responsáveis por todo e qualquer dinamísmo, interatividade e muitas vezes lentidão nesse tipo de relatório.

Controles podem ser: prompts ou objetos de dados como listas, crosstabs ou guias. A grande sacada dos controles é que eles são os objetos que fazem as ações, ou seja, eles definem as variáveis, de alguma forma.

2 - Containers
Bom, qualquer objeto que consiga conter dados é naturalmente um container como decks, listas, crosstabs e até mesmo prompts

Containers são objetos que possuem dados capazes de serem filtrados, de alguma forma seja lá qual for.

Reparou que muitos objetos podem ser tanto controles quanto containers? Depende apenas do ponto de vista e da relação entre eles.

3 - Variáveis
Elas variam... hehe, e graças a essa variação as coisas acontecem!!!
Variáveis são definadas fora dos objetos, mas elas são as conexões entre os objetos.
É atravez de uma variável que um controle define o que vai aparecer em um container! Entendeu?

Não? Então vamos a um exemplo, veja que esse é um exemplo não muito básico, mas foi a primeira coisa em que pensei.

Vamos fazer com quer as colunas de uma lista sejam exibidas de acordo com o botão selecionado.
Selecione o botão "Exibir Coluna A" e voila, exibimos a coluna A.

Pretty simple ha?

Então arraste para a tela dois objetos: "Barra de botões" e uma "Lista".
Crie os campos na query da lista e arraste-os para a lista como ao lado <-.
Clique 2x em cada botão defina os nomes como ao lado também, delete o último.

Fez o que foi escrito? Ficou igual a imagem acima? Ótimo.
Então o que fizemos foi incluir um elemento Controle "Barra de botões" e um Container "Lista".

 Repare que ao lado dos objetos aparece um ícone com 2 bolinhas e 2 setinhas. Clique em qualquer um deles e uma janela como essa ao lado deve aparecer. Se não aparecer, você clicou no lugar errado, cancele e tente novamente.

Clique no link "Gerenciar as variáveis do relatório ativo..."

 Agora clique no ícone "Novo" e digite no nome da variável "Selecionar Coluna".

Pronto, criamos uma variável que vai servir de link entre os objetos Controle e Container.

Tudo certo de novo? Então clique em OK e na tela Comportamento interativo selecione o controle "Barra de botões".

 Observe a área "Definir valores de variáveis", é o primeiro quadro. Clique em "Editar".

Deve aparecer uma tela com as variáveis existentes, no campo valor selecione Rótulo.
Rótulo é o nome do objeto da "Barra de botões" que contém os botões (esse nome pode ser alterado), então quando clicar nos botões o "Rótulo" será igual ao nome do botão clicado.

E estamos dizendo que a variável "Selecionar Coluna" vai receber o valor de "Rótulo".

Clique em OK.

Se você, mais uma vez, fez tudo certo a tela ficará como essa, com uma bolinha verde ao lado da "Barra de botões".

Com isso definimos a parte do controle, agora vamos definir o que acontece quando o controle é alterado.

Selecione a coluna A da lista, procura nas propriedades a opção visibilidade da coluna, clique em editar.
Clique em visível com base na condição e depois em editar.



 Abaixo de valor, digite "Exibir Coluna A", o mesmo texto existente na "Barra de botões" e repare que a variável "Selecionar Coluna" está selecionada.
Pode imaginar o que isso significa né? Bom!
Se você seguiu a risca o passo a passo você deve ter chegado a seguinte imagem.

Faça os últimos passos para a outra coluna e rode o relatório para testar sua façanha!

Essa é uma explicação simples de como criar um Active Report.
Todo o processo deve durar 5 minutos.

Qualquer dúvida, comente!!


quarta-feira, 7 de setembro de 2011

Cognos 10 Active Reports

Bom, já faz um tempo que não escrevo, esses últimos dias foram complicados.

Vamos falar finalmente sobre Active Reports ou Relatórios Ativos!! Eeee!! Viva, finalmente a IBM melhorou uma ferramenta!!.

Bem, é isso que parece, mas não pense que isso resolve todos os problemas do mundo, pelo menos é um começo.

Então, uma das possibilidades do Active Report é ser Offline, ou seja, você pode criar relatórios que são salvos e contém dados embutidos.
Com isso, uma das reclamações dos usuários acaba, e eles podem fazer apresentações ou consultas sem depender de estar na rede corporativa.

Outra coisa bem legal é a interatividade, é possível configurar várias conexões entre os objetos e praticamente tudo pode gerar uma reação.
Então você pode clicar numa linha de uma lista e o gráfico ao lado reflete as informações da linha selecionada.

No próximo post explicarei como criar um Active Report básico, aguarde!