Pesquisar este blog

quarta-feira, 4 de dezembro de 2013

Aloha!

Estou abrindo uma nova vertente no blog, dessa vez vou falar de layout.
Na verdade vou dar uma dica de como fazer uma coisa bem simples, que dá um "up" no gráfico.

1 - Talvez você já tenha visto algum gráfico de linha.
2 - Talvez você já tenha visto algum gráfico de linha com marcador.
3 - Talvez você já tenha visto algum gráfico de linha. com marcador "furado".

O primeiro é mole de fazer no Cognos, é o gráfico padrão
O segundo também é fácil, é um dos modelos padrão ou simplesmente modifique o tipo de linha para linha com marcadores.
Agora o segundo é uma incógnita, eu nunca havia visto um no Cognos, mas vi em outros lugares e fiquei pensando se era possível.

Acontece que é, veja como fica abaixo:

Claro que não está grande coisa, fiz só para ter ima ideia.

Agora vejamos como fazer.
É muito simples

Nas propriedades da paleta defina o marcador como circulo:
 
 
Depois, Clique na cor do marcador para editar as propriedades.
Faça dessa forma:


 

 
Tipo de preenchimento: Matriz radial de linha
Cores: Sempre da cor do fundo ou transparente para a cor da linha
Posição do foco: X1 40%, X2 50%, Y1 60% e Y2 50%.
A única coisa que pode variar é o Raio do foco.
No exemplo no começo do post, ficou assim: interna 3px, externa 4px.
 
Por fim, falta apenas definir o tamanho do marcador.
Volte à tela da paleta de cores e clique na guia propriedades:
 
 
Defina como 10pt.
 
Depois de fazer isso você pode ir alternando para adequar melhor ao seu relatório mas já é um começo.
 
Abs


quinta-feira, 3 de outubro de 2013

Cognos 10.2.1 FP1

E mais uma dica rápida!

Sai acho que mês passado o FP1 da versão 10.2.1, digamos que é um release novo porque é maior que o 10.2.1.

Vale a pena, tem muita correção e coisas novas interessante.

!!!!

Cognos MDX Parte 1

Eis que vos falo novamente... enquanto aguardo meu GTA Online funcionar.

Recentemente passei por um aperto e tanto e  resolvi fazer minha contribuição semestral a comunidade que mexe com esse trem chamado Cognos.

Hoje vamos falar um pouco de MDX, básico.
Muitos já devem ter se deparado com o desenvolvimento de relatórios sobre cubos, no meu caso o infame Dynamic Cube, e como já era de se esperar, nunca é fácil, sempre difícil.

Então a linguagem que o tal cubo utiliza é o MDX, e se você tentar fazer um relatório sobre cubo com o conceito de desenvolvimento relacional você está perdido.

Isso acontece porque MDX é uma linguagem que faz um de hierarquias e buscas em profundidade, diferente do SQL que faz buscas lineares de profundidade 0.

Isso posto, vamos a dicas!

Para fazer um filtro de informação, procure sempre utilizar um slicer, veja exemplo abaixo:

Filtro simples obrigatório:
[Cubo];[Dimensão].[Hierarquia]->?p_parametro?

Filtro múltiplo obrigatório:
set([Cubo];[Dimensão].[Hierarquia]->?p_parametro?)

Filtro simples opcional:
#prompt('p_parametro';'memberuniquename';'rootMember([Cubo];[Dimensão].[Hierarquia])')#

Filtro múltiplo opcional:
#prompt('p_parametro';'memberuniquename';'rootMember([Cubo];[Dimensão].[Hierarquia])';'set(';'';')')#

Isso vai resolver a maior parte dos problemas de filtragem que você possa ter, mas se você precisar fazer a passagem de um parâmetro para um relatório que utiliza 2 cubos você encontrará um problema. Descobri como resolve-lo na sorte, depois explico, é um pouco mais complicado mas funciona.

Agora fazer dizer que você precisa fazer um relatório acumulado no período:
o seu slicer ficaria +/- assim:
head(children([Meu Cubo];[Tempo].[Ano]->?p_ano?);?p_mes?)
Nesse caso ele traz os ?p_mes? primeiros membros filhos de ?p_ano?.


Caso queira utilizar a mesma lógica para mês é só muda de head para item:
item(children([Cubo];[Tempo].[Ano]->?p_ano?);?p_mes?)

Bom isso é o começo, agora vamos ver como fazer um case, coisa muito simples no modo relacional, mas em cubo é um caos.
Se você fizer um simples case vai ter graves problemas de performance, então minha sugestão é a seguinte:
vamos agrupar SP, MG, RJ e ES como Sudeste e os demais e outros:
set(
member( total(currentMeasure within set filter([Cubo].[Estados].[Estados].[Estados]; caption([Cubo].[Estados].[Estados].[Estados]) in ('SP';'MG';'RJ';'ES'))); 'membro1'; 'Sudeste'; [Cubo].[Estados].[Estados]);
member( total(currentMeasure within set filter([Cubo].[Estados].[Estados].[Estados]; caption([Cubo].[Estados].[Estados].[Estados]) not in ('SP';'MG';'RJ';'ES'))); 'membro2'; 'Outros'; [Cubo].[Estados].[Estados]);
)

Fácil né?
Agora um sugestão muito útil, image que você quer trazer o TOP 10, moleza:
topCount([Cubo].[Dimensão].[Hierarquia].[Nível]; 10; [Cubo].[Medidas].[Medida])

Mole mesmo, mas agora você que ranquear esses caras, então faça assim:

Primeiro escolha pelo que vai ranquear, digamos que é pelo ano, e vamos imaginar que você já faz os Data itens.
Rank(tuple([Medida];[Ano]) within set([Top 10]))

Acho que isso já está bem complicado por hoje, mas logo volto com mais algumas dicas!!

Qualquer dúvida já sabem.

[[]]'s

quinta-feira, 2 de maio de 2013

Javascript Manipulando Prompts - Parte 1

Algumas vezes é ncessário colocar uma opção custom no prompt, um label.
Até a versão 8 não existia um modo simples, era necessário a utilização de javascript para manipular os prompts.

Na versão 10 já existe uma propriedade para isso, entretanto se você ainda precisa manipular os prompts para, para exemplo, remover uma opção, o javascript ainda é útil.

Abaixo segue um codigo de minha autoria, como basa no knowledge base da IBM.

Essas funções servem para as versões 8.2, 8.4.1 e 10.1, pelo menos foi onde testei. Deve servir para a 8.3 também.

A primeira função captura os formularios de tratamento do Cognos, esses formularios contem todas as informações do relatório, então seria possivel acessar tudo do relatório, desde que você saiba o caminho.

A segunda função retorna um objeto com a entidade do prompt, de acordo com o parametro.
O argumento name deve ser o nome do prompt.
Essa função retorna prompts do tipo dropdown, list, e text field.

function getCognosParams(){
 return var fW = typeof getFormWarpRequest == "function" ? getFormWarpRequest() : document.forms["formWarpRequest"];
}

function getPromptByName(name){
 var prompt = eval("getCognosParams()._oLstChoices" + name);
 if(prompt == null || prompt == undefined){
  prompt = eval("getCognosParams()._textEditBox" + name);
  if(prompt == null || prompt == undefined){
   window.alert("Prompt: " + name + " incorreto.");
  }
 }
 return prompt;
}

quarta-feira, 1 de maio de 2013

Dica da semana - Cognos 10.1.1 FP2

Mais um post hoje hein!!!

Então, passei pelo site da IBM esse dias e vi que tem um Fix Pack para a versão 10.1.1.

É o novo FP2, lançado em 26/03 se não me engano.

Ainda não testei mas parece que resolve uma pancada de erros, alguns muito inúteis, outros fazem sentido.

Se alguem aplicou o patch e quiser me dizer o que achou eu posto aqui!

[[]]'s

Cognos Mobile - Erro 1111 ao enviar relatório para dispositivo móvel

E ai povo, faz um tempo que não apareço por aqui.

Mas recebi uns e-mails nos últimos dias e resolvi dar uma atualizada nesse trem.

Pois bem, essa semana mesmo passei pelo seguinte problema:

Versão Cognos 10.1.1 FP1

Preciso rodar um Job que gera cerca de 500 saidas para IPADs, esse job já roda a algum tempo e até semana passada demorava cerca de 3 horas, mas saia sem nenhum problema.

Então fizemos algumas alterações nele e de repente ele começou a apresentar um erro(que vou falar em outro post), a questão era de overload no banco então decidimos montar uma tabela para sumarizar mais os dados, deixando menos trabalho para o Cognos.

Até ai tudo bem né? Não!!
O relatório passou a rodar em 40 minutos, porém... apresentou por diversas vezes o erro:
'The Mobile service has
caught an exception: com.cognos.mobile.common.CMException:
(code 1111)'

Então fiz o que todo ser humano razoavel faz, joguei isso ai no google e por algum mistério da humanidade realmente veio algo da IBM.

Existe um chamado de alguem que teve esse problema, e como em 99% da vezes a resposta da IBM é... mude para a próxima versão... muito útil.

Não me conformo muito com essas respostas então tentei rearranjar o job de modo a não deixar muitos processos simultâneos, veja que são 500 saidas.

Felizmente apenas isso resolveu o problema, o job leva cerca de 1 hora para rodar e sem nenhum erro.

Resumo
Erro erro é causado(também) por um excesso de concorrência no próprio Cognos, diminuindo o overload na aplicação resolveu o problema.

terça-feira, 13 de novembro de 2012

Cognos 10.2

Enfim um post nesse blog as moscas!!

Já faz algum tempo, mas foi por um bom motivo, acabamos de implementar um projeto de Cognos Mobile, muito interessante e incrivelmente... FUNCIONA!!!

Mas isso ai fica pra outro post, nesse ano ainda, espero!

Então a IBM resoulveu lançar mais uma versão do Cognos... 10.2!

O que tem essa versão afinal?

Algumas coisas melhores, e quase nada novo, vale a pena? Não sei dizer, até o momento a 10.1.1 funciona e tem seus bugs sabidos, na 10.2 os bugs ainda estão por vir.

Então vamos a novidades dessa versão:

Dynamic Cubes e só!
Embora seja apenas uma ferramenta nova, possui potêncial para as demandas que sestão por vir, o tal do BIG DATA, por eexemplo.
Nessa ferramente, que possui modeler próprio - Cube Designer, você consegue fazer um mapeamento ao estilo DMR do modelo relacional, porém, dessa vez a modelagem tem a intensão de fazer com que a maior parte dos dados esteja em memória.

É quase um cubo virtual do TM1, de fato nessa ferramenta a IBM resolveu pegar o que há de melhor das outras: TM1 engine, Cube Modeling e DMR Cache.

Assim, temoas uma ferramenta que precisa de um baita servidor, mas possúi um potêncial enorme para grandes volumes de dados.

Obs.: Não queira utilizar isso para qualquer coisa, tudo tem sua utilizadade específíca.

Agora as melhorias/mudanças:
Sabe o DMR... agora chama OOR - Olap Over Relational
Sabe o Business Insight... agora chama Workspace
A versão 2007 realmente funcionar, não faz mais aquelas quebras em 65 mil linhas
Incluída a aba macros no Report Studio
Repeater para Active Report
iOS Push Notifications para Mobile
Estrutura Multi-Tenant
Style Management Utility - Essa é boa, agora você pode gerenciar o Skin do Cognos via Front End
Freeze Header - Possibilita congela o cabeçalho com o clique do botão direito do mouse, nativo em listas
Compatibilidade de Chrome e Safari

E por hora é isso que eu vi, se alguem quiser complementar com algo, avonts!!

[[]]'s

segunda-feira, 27 de agosto de 2012

Dica da seman - Drill de aplicativo do Ipad

Bom dia a todos, ou boa tarde ou ainda boa noite... sei lá que horas você está vendo isso.

Hoje vou falar de uma funcionalidade incrível que achei que não existia do Cognos Mobile o famigerada drill de aplicativo.

A ferramente Cognos Mobile pertime que você gere vínculos entre relatório, podendo gerar uma navegação entre eles, isso ajuda muito o usuário que nesse caso não precisa ficar abrindo e fechando cada relatório.

Sem contar o fato de poder passar variáveis entre os relatórios para manter a coerência na análise.

O drill de aplicativo é uma propriedade do objteto e funciona somente no Ipad no browser ele não surte efeito.

Veja ao lado que ele fica localizado na seção de Comportamento Interativo.
 
 
Para que o drill funcione você deve definir as opções:
  • Método: cogmobgr.
  • Rótudo: algo que explique o drill para o usuário.
  • Parametro cogmobgr_cm_store_id: o id do relatório alvo, essa informação pode ser obtida nas propriedades do relatório.
  • Parametro cogmobgr_cm_search_path: caminho do relatório no portal, essa informação pode ser obtida nas propriedades do relatório.


Importante, para que esse drill funcione, é necessário que os relatórios seram executados direto no Cognos Mobile ou enviados para o iapd via push do Cognos Mobile.

Estou verificando a possibilidade do drill para relatórios obtidos de outra forma.

[[]]'s

segunda-feira, 30 de julho de 2012

Active Reports - Usar ou não?

Bom... como o título sugere, a grande pergunta que faço a todos é, devemos utilizar essa nova funcionalidade chamada Relatório Interetivo(Active Report) ?

Vou citar abaixo alguns pontos que pude analisar sobre esse funcionalidade:

Positivos:
Geração de relatório Offline
Possibilidade de inclusão de senhas
Interatividade

Negativos
Tamanho do arquivo
Limitações técnicas de uso no portal
Bug e mais bugs...

Agora vamosw explicar os pontos.

Geração de relatórios Offline
O IBM Cognos permite que você gere um relatório com conteúdo embutido, de modo que não seja preciso estar conectado ao servidor para visualizá-lo.
Essa opção carrega todas as possibilidades dentro do arquivo, e efetua alguns filtros em tempo de processamento para gerar a interatividade.

Possibilidade de inclusão de senhas
Como o relatório pode ser executado fora do ambiente, é natural persarmos na inclusão de senhas para que apenas usuários autorizados consigam acessá-lo.

Interatividade
Com dito anteriormente, o relatório possibilida seleções em tempo de execução, que na prática filtram informações ou apenas escondem/mostram objetos do relatório.

Tamanho do arquivo
O tamanho arquivo é um ponto muito importante porque é muito fácil gerar um arquivo com 50MB ou mais, aparentemente esse formato de arquivo não é otimizado e qualquer coisa ocupa muito espaço, outro coisa que afeta muito são os gráficos, que são imagens, e o tamanho do gráfico afeta o tamanho do arquivo.

Limitações técnicas de uso no portal
Até onde pude perceber, não é possível incluir Active Report no Event Studio, o que atrapalha muito na geração de relatório dinamicamente.
Também não é possível configurar corretamente as opções de um Active Report dentro de um Job, o que novamente atrapalha na geração de relatório dinamicamente.

Bugs e mais bugs
Segundo a IBM são enhancements, pra mim são bugs e muitos feios com 18 patas!
Relatórios em Active Reports não podem ser gerados no sistema de arquivos: Existe um fix mediante abertura de chamado na IBM
Arquivos não são enviados compactados: Me parece que existe um fix, ainda estou aguarando resposta da IBM, isso afeta todos os relatórios, não apenas o Active Report, mas nesse caso afeta muito pois relatórios de 10MB compactados caem para menos de 2MB e agiliza o envio por e-mail.

Agora respondendo a pergunta... se sua necessidade é a de gerar relatórios no portal para serem consultados no portal, mas mais ágeis, OK pode utilizar, com parcimonia com diz aquele cara do Banco Central.
Mas se sua necessidade é geração de Bursts, e envio por e-mail, fuja corredo até que a próxima versão chegue com as deveras "melhorias".

Grato.
[[]]'s

sexta-feira, 27 de julho de 2012

Dica da semana - Active Report

Nossa, alguns meses ocupados e nem consegui colocar nada aqui, mas agora vem uma dica útil... pra quem usua Activer Report.

Existe um mode "debug" do active report, serve pra aconpanhar os JS e medir performance e tamanho.

Muito simpla!!!

Primeiro vá em Executar -> Opções de Execuão e habilite a opção "Ativar menu de depuração com um clique do botão direito"... óbvio né!

Depois execute o Active Report, agora precione "Ctrl + Shift + D", e então o botão direito... voilà!!!

Útil pacas!

[]'s

quinta-feira, 19 de abril de 2012

Dica da Semana - Posição Absoluta - Absolute Position

Bom dia pessoal, depois de um tempasso sem escrever nada, lá venho eu de novo com mais uma mega-ultra-max-power- dica!!
Acho até que vou mudar para dica do mês.
Durante meu trabalho com o Cognos Mobile, acabei aprendendo algumas coisas muito úteis, a dica de hoje se aplica a qualquer relatório do Cognos não apenas aos Active Reports.

Pois bem, eis que existe um objeto chamado HTML Item, pra que não sabe, ele permite inserir conteúdos HTML dentro do relatório, como javascript, XML, Ajax, e outros.

Os Active Reports, no entanto, não permitem javascript por hora, e dessa forma algumas funcionalidades visuais ficam prejudicadas.

O que vou falar hoje, serve principalmente para criar o efeito de popup ou light box, seja no IPAD ou ou PC.

Definindo o conteúdo
Então faça assim:
1- Arraste um HTML Item para o começo de seu relatório.
2- Edite o HTML Item e insera o seguinte conteudo:
 - <span id="pop" style="z-index:3;position:absolute;top:0px;left:0px;width:1024x;height:704px;">
Repare nas informações:
z-index:3 - Quanto maior mais pra frente na tela - Altere como quiser
position:absolute - Define o tipo de posicionamento - Não altere
top:0px - Distancia do topo da tela - Altere como quiser
left:0px - Distancia da lateral esquerda da tela - Altere como quiser
width:1024x - Larguira do objeto - Altere como quiser
height:704px  - Altura do objeto - Altere como quiser

Estamos criando um span com o tamanho da tela do IPAD, altere o tamanho conforme sua necessidade.

3 - Arraste outro HTML Item para imediatamente depois do primeiro.
4 - Edite o HTML Item e insera o seguinte conteudo:
 - </span>
A proxima parte é por sua conta, se quiser fazer um lightbox, insira um bloco com o tamanho do span e defina as propriedades de cor e fundo, depois coloque os objetos que deseja dentro do bloco.
Se quiser um popup, defina apenas o layout como padding e maragem.

Com isso feito, temos o que será exibido quando o usuário fizer algo que você vai definir.

Definindo a interação
1 - Arrate uma lista para antes do primeiro HTML Item.
2 - Na query dessa lista, faça com que venha 1 Data Item com apenas uma linha.
3 - Arraste o Data Item para a lista.
4 - Nas propriedades da coluna do campo, procure por "Visibilidade da Coluna"
5 - Selecione visível com base na condição e defina a condição que deseja.
Por exemplo: quando a variavel Clique for igual a Sim.
6 - Arraste ambos HTML Itens para dentro desta coluna e apague o texto que existia.

Pronto agora temos a interação definida, falta apenas configurar um objeto que defina a variável, isso vocês já sabem fazer!

Repare que nesse exemplo minha idéia era definir um lightbox, mas com os atributos top/left você pode escolher exatamente onde colocar o conteúdo, utilize sua imaginação.
Estou preparando um video com tudo isso que disse, é simples, mas parece dureza.

Dúvidas como sempre, e-mail ainda vejo.

[[]]'s

quarta-feira, 29 de fevereiro de 2012

Dica da semana - Nova Versão Cognos Mobile 10.1.1.3.1

A dica da semana, não é lá uma dica né.

Apenas pra não ficar sem postar nada o mês inteiro, saiu por esses dias uma nova versão do App para Ipad e Iphone do Cognos Mobile.

Novidades? Bom, algumas!
- Mais rápido
- Não trava no carregamento quando já existem arquivos salvos
- Interface de login melhorzinha.

Não arrumaram a questão de multiplos slides em objetos e nem a slidebar ghost!

Por hora é só, logo deve sair uma versão server, ca entre nós, está meio ridiculo esse monte de versão, release, patch e afins né? 10.1.1.3.1 * 10e49

Parece minhas aulas de cálculo.

[]'s

quinta-feira, 9 de fevereiro de 2012

Dica da semana - Tamanho de Tela do Mobile

Não sei se alguém já colocou essa informação em algum lugar, mas é bem últil quando desenvolvemos para Ipad.

Tamanho a área útil para relatório no Cognos Mobile:
Largura: 1024 pixels
Altura: 704 pixels

Lembre-se que Padding(preenchimentos) e Margem ocupam espaço na tela.

Fui.

quinta-feira, 26 de janeiro de 2012

Dica da semana - Formatar Data em Gráfico

Essa é importada daqui daqui.

Formatar a data em um gráfico, geralmente no eixo X.

O ReportStudio permite que você formate as exibição de dadas, de modo que você não precise fazer modificações em nível de consulta, apenas layout.

Acontece que para isso, é necessário uma pequena mudança que não é explicada em lugar algum.

Mude a propriedade Tipo de origem (Source Type) de Legenda do Membro(Member Caption) para Valor do Item de Dados(Data Item Value) e voilá, agora a formatação funciona!!

Espero que ajude!

quinta-feira, 19 de janeiro de 2012

Cognos Determinants

Como eu havia prometido mes passado, vou fazer uma explicação de como é e pra quê serve esse trem,

Pela pela IBM:

Determinant é um modo de prover controle sobre granularidade.
Quando utilizar:



Exemplo:

Ano Mes Dia Data
2011 05 2011-05-01 1 de Maio de 2011
2011 05 2011-05-02 2 de Maio de 2011

Vamos supor que preciso trazer informações da Fato Notas Fiscal, que é diária, nesse caso meu join seria pela  própria data ou ID da dimensão.

Numa segunda consulta preciso trazer informações da Fato de Orçamento, está é mensal, logo esse join seria por Ano + Mes.

Agora vamos imaginar o caso real, preciso ver se minhas vendas estão atingindo as metas de orçamento, logo vou juntar duas fatos numa consulta, mas cada uma tem uma nivel de granulariade diferente, como impedir a duplicação dos dados?

Podemos criar os seguintes determinants.
Name Key Attributes Uniquely Identified Group By
Ano Ano Nenhum Não Sim
Mes Ano, Mes Nenhum Não Sim
Dia Dia Data Sim Não

*É importante lembrar que para os determinantes funcionarem é preciso ter um join nos campos deste.

Então temos 3 determinants, um para cada nível da dimensão. Não é necessário criar um determinante para cada nível das dimensões, apenas para os que fazem joins.

Repare que no nível mês, não temos um campo que identifica os registros unicamente, então temos que colocar o Ano e Mês como chave.

Na prática o determinante criará um uma sub-consulta na dimensão agrupando os dados pelos campos chave e utilizando a função MIN nos campos atributos.

Isso reolve o problema.

Como sempre, em caso de dúvidas, e-mail.!!

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