Arquivo por categoria: BI (Business Intelligence)

Business Intelligence

dez 13 2016

SAP BI Portfolio: Qual ferramenta melhor se aplica ao seu caso?

Está difícil decidir que produto de BI é melhor para o seu cliente ou empresa? As opções no mercado são tantas que acabam te deixando confuso? Você não sabe para que serve as diferentes ferramentas e como elas podem ser usadas para ajudar desde o nível estratégico ao operacional?

Seus problemas acabaram!!!  OK, serei menos pretensioso:  seus problemas DIMINUIRAM! rsrs pelo ao menos o que tange as ferramentas de BI da SAP é o que vou tentar ajudar com esse post.

Hoje tentarei fazer um BREVE resumo de como as ferramentas de BI no que tange ao Reporting são categorizadas, e que diferentes niveis de estrategia dentro da empresa elas podem atender e por fim um comparação entre as ferramentas de BI da SAP(Afinal este blog é voltado para ferramentas da SAP) e deixar você menos confuso, se ao final eu conseguir, o propósito deste post foi atingido.

First things first: Vamos ver como as ferramentas de BI em 2016 estão posicionadas, segundo o Gartner:

post005_001

Vemos que a SAP, está nos quadrantes das visionárias. Vale considerar que os posicionamentos das empresas variam muito de ano para ano, tanto que em 2015 a SAP já esteve no quadrante dos líderes, mas nesse quesito, temos que tirar o chapéu para a competência da Tableau que nos últimos 3 anos tem sido líder disparado nas pesquisas da Gartner.

Mas voltando ao mundo SAP, na minha humilde opinião a SAP tem simplificado o seu portfólio e ao mesmo tempo o ampliando as funcionalidades e o poder de suas ferramentas de BI tornando mais fácil entender qual o propósito e para que serve cada uma delas, e também ajudando as empresas a diminuírem seu landscape, TCO e também a tornar a escolha mais fácil..rsrs… veja a imagem abaixo:

post005_002

No caso do Analysis for Office, podemos enquadrá-la como uma ferramenta de Discovery & Analysis. Mas da onde eu tirei essa conclusão? Bem, então para entender melhor como classifica-las temos que ter em mente que basicamente as ferramentas de BI se dividem em  3 áreas:

  • Reporting;
  • Discovery & Analysis;
  • Dashboards & Applications.

Não confuda as categorias acima com outros conceitos como Cloud BI, advanced analytics e self-service BI etc.. Pois todos estes por exemplo se misturam e/ou estão inseridos nas categorias acima…

Vou falar rapidamente dessas 3 areas e focando na convergência para qual as ferramentas da SAP estão caminhando… meu objetivo aqui não é ensinar nenhum conceito ou aprofundar em detalhes deste mundo, até porque, haja post para filosofar em cima de tanta coisa que anda rolando neste mercado, meu objetivo aqui é prover um overview de conceitos atrelados as ferramentas do portfólio de BI da SAP para te ajudar a entender como elas podem ajudar a você, sua empresa e/ou seu cliente.

Eu também vou dar uma de atrevido e visionário rsrs e já vou excluir das análises as ferramentas que já considero “obsoletas” e/ou que já estão caminhando para tal, como é o caso do BO Dashboards enquanto Design Studio evolui para se tornar “A Ferramenta” de Dashboards(entre outras coisas) da SAP, facilitando ainda mais o entendimento de qual ferramenta usar…

No que tange ao novo “mantra” da SAP: Simplicity, Openess, Modern UI and Performance, já estamos fazendo uso da Simplicity kkkkk

Reporting

As ferramentas de Reporting nos ajudam a:

  1. Capacidade para que os usuários criem, formatem e distribuam informações;
  2. Design de alta produtividade para projetistas de relatórios;
  3. Crie rapidamente relatórios formatados em qualquer fonte de dados;
  4. Distribuição segura de relatórios tanto interna como externamente;
  5. Minimize os custos de suporte de TI, capacitando os usuários finais a criar e modificar facilmente seus próprios relatórios;
  6. Melhore aplicativos personalizados com relatórios incorporados.

As ferramentas da portfolio da SAP mais indicadas para essa área mas nao de maneira exclusiva são: Webi e Crystal.

O WebI é uma solução líder de mercado em self-service BI que permite que os usuários de negócios criem e modifiquem rapidamente seus próprios relatórios. Esta ferramenta flexível também pode ser usada para consultar dados, bem como relatório sobre ele. Ele também permite a construção de painéis, embora uma alternativa mais fraca para as outras ofertas no Design Studio e Dashboards, e o conteúdo é acessível a partir de dispositivos móveis, web, desktop etc.

O Crystal Reports é usado para criar relatórios poderosos, ricamente formatados e dinâmicos de praticamente qualquer fonte de dados, entregue em dezenas de formatos. Uma ferramenta de relatório de produção robusta, o SAP Crystal Reports transforma quase qualquer fonte de dados em informações interativas e acionáveis que podem ser acessadas off-line ou online, a partir de aplicativos, portais e dispositivos móveis. Otimizado para relatórios e publicações de alto volume, o Crystal Reports também possui API poderosa para incorporar relatórios em outros aplicativos como Adobe e Salesforce por exemplo.

Discovery & Analysis

As ferramentas de Discovery & Analysis nos ajudam a:

  1. Capacidade de rapidamente Mashup, Explorar e Analisar;
  2. Agilidade para analistas de negócios e usuários;
  3. Acesse, limpe e combine dados de várias fontes;
  4. Descubra padrões, tendências e outliers;
  5. Conte sua história com visualizações e análises;
  6. Responda a qualquer pergunta comercial de um navegador ou dispositivo móvel;
  7. Opcionalmente, fornecer uma camada de segurança e governança para aumentar a confiança;

As ferramentas do portfolio da SAP mais indicadas para essa área mas não de maneira exclusiva são o SAP Lumira e o Analysis for Office. Quando digo de maneira não exclusiva quero dizer que por exemplo saindo um pouco do portfolio de BI e subindo a hierarquia e indo para analytics temos o HAP(HANA Analysis Process dentro do BW e a PAL(Predictive Analytic Library dentro do HANA)… apenas para citar alguns exemplos…

O SAP Lumira é uma aplicação de Self-Service e visualização de dados da SAP, que permite ao usuário acessar, limpar e combinar dados de várias fontes sem envolver TI em digamos, um grau maior do que o WebI.
Isso permite uma maneira envolvente de explorar dados, descobrindo padrões, links e tendências e, em seguida, contar sua história com visualizações poderosas e interativas, infográficos e analíticos.
É uma ferramenta fácil de usar, mas poderosa, que é adequada para analistas de negócios com muito pouco treinamento. Uma grande vantagem do Lumira em relação ao Analysis for OLAP por exemplo, é possuir uma flexibilidade de acessar, limpar e combinar dados sem envolver TI.

O Predictive Analytics é uma extensão da licença Lumira que inclui a funcionalidade Predictive Analysis, como algoritmos preditivos, análise de visualização de resultados e ferramentas de gerenciamento de modelos.

SAP BusinessObjects Analysis for Office é um complemento do Office que permite a análise ad-hoc multidimensional de fontes OLAP no Excel (fatia e dados). Ele também permite, Excel workbook baseada em design de aplicativos e criação de apresentações de BI no PowerPoint e se conecta perfeitamente ao SAP NetWeaver BW e SAP HANA.

Esta é a ferramenta hoje que possui mais o DNA do já quase finado mas nem tanto, Bex Analyzer sendo assim a substituta natural.

Dashboards & Apps

As ferramentas de Dashboards & Apps nos ajudam a:

  1. Capacidade de construir painéis e aplicações analíticas envolventes;
  2. Construção de análises interativas e visualmente atraentes;
  3. Ter o autor da aplicação, ou capacitar a empresa a compor seus próprios painéis de componentes pré-construídos;
  4. Acesso via dispositivos móveis.

A ferramenta do portfolio da SAP mais indicada para essa área mas não de maneira exclusiva é o SAP Design Studio.

O SAP Design Studio permite um design intuitivo de conteúdo analítico centralmente governável, desde analíticas guiadas até sofisticadas aplicações OLAP e painéis agregados. O produto possui suporte para iPad fora de caixa, uma interface de usuário HTML5 de última geração, uma aplicação sem costura, um designer baseado em WYSIWYG Eclipse, suporte completo e nativo de consultas BW BEx, conectividade direta com a HANA, além de um Motor de scripts avançado apenas para citar alguns.
Quando usado com o BPC Embedded Model, o Design Studio pode ser usado para construir aplicativos de planejamento abrangentes e prontos para entrada de dados. Os valores individuais podem ser bloqueados durante a construção de um plano para outros valores. A grande vantagem com o Design Studio é o script que permite uma grande flexibilidade e é favorecido por técnicos.

E por ultimo alguem lembra do Bex WAD(Web Application Designer)? Pois bem, o Desgin Studio naturalmente substitui essa nossa morta-viva, digo isso, pois ainda existem soluções sendo usada em clientes que foram desenvolvidas nela

Aderência aos Niveis Estratégicos

 Agora que já sabemos par que serve cada ferramenta, a figura abaixo mostra como elas se encaixam nos diferentes níveis estratégicos da empresa e por quem normalmente poderiam ser usadas:

post005_003

A maior parte dos usuários finais, que estão na base da piramide tendem a se basear em uma funcionalidade de relatório padronizado pré-formatado, este tipo de usuário geralmente seriam  usuários finais operacionais.

Uma parte também considerável, que está no meio da piramide, que contem além dos usuários-chave ou Key-users, está aquele que eu chamo “carinhosamente”de usuário-chave candidato que é um perfil que gosta de fazer analise interativa altamente ágil, no qual  gostam de  usar funcionalidades como slice-and-dice e  drill-down para descobrir tendências e padrões de dados, exigindo assim um tipo de descoberta de dados e funcionalidades, este tipo de usuários são geralmente analistas de negócios… Inclusive abrindo um parenteses bem rápido, o BW(sistema de datawarehouse da SAP) desde sua versão 7.3-SP5 oferece uma nova funcionalidade bem interessante para este perfil de usuário chamada BW workspaces que permite key-users e analistas avançados criarem/customizarem scenarios ad-hoc em bases de dados e modelos pré-existentes, e estes sim, mantidos pela TI, para novas formas de visualizar estes mesmos dados e/ou prototipagem rápida, mas isso é um assunto para outro post… rsrs
Um grupo menor de usuários, que está no topo da piramide estão os que desejam ver de maneira altamente resumida e visual, geralmente representada por alguma forma de funcionalidade de painel, estes forneceriam uma mistura de funcionalidade ágil e padrão dependendo das habilidades e do conhecimento dos usuários finais, e abrangeria, em geral, os usuários de alta administração.

Observe que na imagem eu coloquei um *, para as ferramentas de dashboards, pois ao contrário do que se pensa, KPI pode ser estratégico ou operacional, paineis de indicadores não servem apenas para a diretoria e/ou um nível altamente estratégico, pode existir também para ajudar conntrolar operações rotineiras de uma empresa e em tempo real.

Eu não estou considerando neste post outros fatores que com certeza devem ser levados em conta durante a escolha de uma ferramenta como custos de licenciamento, implementação, manutenção, prazos etc…

A quantidade de preparação de dados que será exigida pelos usuários de negócios também determinará se uma abordagem de análise de dados pré-formatada deverá ser usada ou uma ferramenta de self-service de data discovery. Você deve selecionar a melhor ferramenta de BI que suporta os usuários para fornecer suas necessidades de relatórios e análises.

Pesquisando na internet encontrei uma matriz de alto nível e fiz uma adaptações e simplificações afim de tentar cobrir o tipo de perguntas que devem ser feitas, e quais as capacidades do produto estão disponíveis para cada ferramenta. Como as ferramentas estão em constante evolução, a matriz pode não estar atualizada, pois algumas das capacidades podem ter melhorado:

post005_004

Conclusão

Em um ambiente de BI, geralmente há um conjunto diversificado de requisitos resultando em diferentes tipos de usuários, funcionalidade e níveis de agilidade que também devem fornecer um alto nível de interoperabilidade, escalabilidade e segurança, desempenho e integração com outras ferramentas da empresa.

Para determinar o produto BI certo é necessário entender os requisitos de quem vai usar, assim como em um projeto e também ter a habilidade de identificar o que realmente é necessário, que tipo de dados seus usuários vão analisar, como eles querem utilizar e repassar aquela informação, com que frequencia, em que formato(isso incluir analisar se o formato de quem vai enviar e compativel e esperado por quem vai receber) etc.

Bom com isso chegamos ao final deste post e espero ter atingido o objetivo de ajudar a entender melhor a evolução das ferramentas de BI da SAP e como você pode usá-las em sua empresa ou recomendar ao seu cliente.

Nest post eu foquei apenas nas ferramentas de BI da SAP, embora no portfólio de Analytics que inclui o BI existem novas ferramentas como o RoamBI, Business Objects Cloud e o SAP Digital Board Room mas este também é um assunto a ser abordado em outro post que farei em breve, onde também aproveitarei para falar sobre uma discussão que tive com um colega meu sobre se Business Intelligence e Business Analytics é a mesma coisa, se são diferentes, se um está dentro do outro etc.

Fique ligado aqui no blog e em caso de dúvidas coloque nos comentários, ou então me envie uma mensagem pelo LinkedIn, será um prazer poder ajudar…!

<Forte Abraço e até a próxima>

 

nov 21 2016

Dicas e Truques na Instalação do SAP HANA Express Edition

Olá Pessoal,

Resolvi escrever este post por 3 motivos:

O primeiro deles é que já que me considero um cara altruista, quero evitar que muitos de vocês sofram o que eu sofri (ok, sem drama! Rs) ao instalar o  SAP HANA Express Edition;

O segundo para tentar manter este blog vivo…

E o terceiro, bom, o terceiro foi ser bem pratico e direto ao ponto para quem procura o pulo do gato de maneira resumida, então para atingir estes objetivos o que fiz é disponibilizar tudo o que você precisa para fazer funcionar em apenas 1 link:

https://1drv.ms/f/s!AtsPYvmpca5uk5dJD5_m6bNw8NZaQg

Clique no item “download” e ele ira juntar tudo em um ZIP e iniciar o download

001

O link acima possui:

  1. O VMPlayer 12.5 Workstation free -> Para rodar a maquina virtual do SAP HANA Express Edition;
  2. O Eclipse Neon;
  3. As maquinas virtuais do Hana;
  4. Manual( em Inglês ) passo-a-passo com maiores detalhes da instalação;

O manual seria perfeito se não focasse apenas nas instruções de instalação do SAP HANA Express Edition mas também nas intruções dos Hypervisors… Portanto, se quiser ter sucesso pode seguir o manual, apenas certifique-se antes de marcar a opção abaixo no VMPlayer:

002

003

Normalmente a primeira opção vem marcada e o correto(pelo ao menos a que funcionou comigo) é a Segunda. Vejo o que acontece antes de marcar e depois…

Antes de Marcar:

004

Depois de Marcar:

Repare que até o IP da máquina mudou…

005

É isso ai pessoal, espero ter ajudado vocês…

Até o próximo post…

Will

maio 10 2015

Demonstração do SAP Lumira

Introdução

O objetivo desse artigo é demonstrar ao leitor o funcionamento dessa ferramenta da SAP que vem crescendo no mercado por sua facilidade e agilidade na criação de Dashboards.  Nesse artigo vamos explicar e demonstrar todas as etapas para a criação de um Dashboard (Aquisição, Preparação, Visualização, Composição e Compartilhamento).

artigo1

 

01 –  Aquisição de Dados

Ao abrir o SAP Lumira uma tela inicial é apresentada mostrando como mensagem os passos para a criação de dashboards na ferramenta. Para o nosso exemplo vamos usar uma massa de dados de um Excel.

 

artigo2

 

 

Ao clicar em Arquivo -> Novo uma tela onde podemos escolher uma fonte de dados específica será aberta.

 

artigo3

 

 

No nosso exemplo vamos escolher uma fonte de dados Excel.

artigo4

 

Ao clicar em Criar o processo de Aquisição é concluído e agora podemos começar a elaborar o nosso Dashboard.

artigo6

 

 

02 –  Preparação dos Dados

Arrastando as dimensões e medidas e escolhendo o tipo de gráfico rapidamente temos um gráfico pronto.

 

artigo7

 

Após salvar essa visualização podemos criar outras para compor nosso dashboard.  Para salvar e criar uma nova visualização basta clicar em “salvar” indicado na parte inferior direita do painel.

artigo8

Criaremos mais 2 visualizações para o nosso Dashboard conforme indicamos na figura abaixo.

artigo9

As próximas etapas da criação do nosso dashboard será o processo de criação e compartilhamento.  Com as devidas visualizações criadas vamos compor o nosso painel e acrescentarmos mais detalhes.

No próximo artigos vamos dar continuidade na construção do nosso Dashboard e mostraremos em detalhes o processo de compartilhamento utilizado no exemplo.

Espero que tenham gostado e espero vocês na segunda e última parte do nosso artigo.

 

Abraços

 

 

abr 06 2015

Business Intelligence Consumer Service (BICS)

Este post será sobre a criação de uma conexão Business Intelligence Consumer Service (BICS). Tentarei explicar de uma sucinta sobre o assunto.

BICS é uma camada de acesso de dados do BW que permite o dashboard acessar os dados sem que haja a necessidade de um universo. Na verdade, esta conexão “cria” um universo capaz de fazer o papel da camada semântica.

Esta conexão é interessante quando utilizado o BW como fonte de dados, pois não há a necessidade em passar por um relatório ou universo para acessar os dados. Ou seja, a performance da consulta dos dados é melhor.

Prós e contras:

Prós:
– Se for necessário mudar algum filtro da query (fixo), não haverá necessidade em modificar o Universo (pois não existe) e esta mudança se refletirá automaticamente na seleção dos dados do dashboard.

Contra:
– Caso tenha que incluir uma variável para fazer o filtro ou incluir novo índice ou medida, haverá a necessidade de refazer a conexão;
– Você não conseguirá visualizar os dados em tempo de execução no excel;
– Você terá que publicar o dashboard para visualizar os dados.

OBS: Há duas formas de fazer uma conexão no dashboard via BICS: SAP Netweaver BW connection e Query Browser. Veremos apenas a primeira forma.

Inicialmente devemos abrir a caixa de conexão e criar a conexão “Conexão com o SAP NetWeaver BW”.

BICS fig 1

Após a seleção, a conexão escolhida aparecerá na caixa conforme a figura abaixo.

BICS fig 2

Repare que as opções desta conexão são diferentes das conexões apresentadas pela conexão QaaWS e LiveOffice.

BICS fig 3

Aba Definição:

– Modifique o nome Conexão 1 pelo nome que melhor convier a conexão;
– Escolha o ambiente BW e selecione a consulta apertando no botão Procurar;

Nota: Cabe ressaltar que o campo Sistema será automaticamente preenchido após a escolha do ambiente e query desejados.

BICS fig 4

Selecione o mandante, usuário e senha;

BICS fig 5

Selecione a query que deseja extrair os dados. No caso do exemplo, a query já estava no meu histórico, mas caso não esteja, procure em Funções ou na Pesquisa.

BICS fig 6

Após selecionada query, na tela a seguir apresentará o cabeçalho da conexão.
OBS: Repare que o Sistema (Produção) foi preenchido automaticamente.

BICS fig 7

– Todas as medidas que foram configuradas em Características Livres, colunas e linhas aparecerão dentro de Filtro e Variável (dentro de Valores de Entrada) conforme mostrado na figura abaixo.

BICS fig 8

– Em Valores de Saída (Dados válidos para várias tabelas), deverá ser configurado o intervalo de células. Cabe ressaltar que ao atualizar a conexão, o xcelsius inserirá os valores neste intervalo.

– Caso você não queria extrair os valores conforme a estrutura foi configurada na query e na conexão, você poderá, em Entradas possíveis, selecionar apenas o que deseja visualizar. Ou seja, se você quiser apenas visualizar a Chave (valor do filtro), selecione o intervalo de celular apenas para o campo “Chave (valor do filtro)”. Esta opção é muito utilizada para criar uma hierarquia (no caso de BICS você deverá montar a hierarquia). Segue o exemplo abaixo.

BICS fig 9

Aba Visualização de Dados:

– Deverá ser configurada a forma como os dados aparecerão no Excel. Ou seja, em coluna aparecerão os índices e em linha apenas centro de descrição.  Cabe ressaltar que se a escolha de Valores da Saída for apenas selecionar o campo requerido, não há necessidade em configurar a visualização de dados.

OBS: Não há necessidade em redefinir a visualização de dados.

BICS fig 10

Aba Uso:

– Após definir a visualização dos dados, na aba Uso, você deverá definir quando a conexão irá ser atualizada. Esta aba é padrão para todos os tipos de conexão.

BICS fig 11

abr 05 2015

Abrir Xcelsius em versões diferentes

Em todos os softwares existe o problema de versão, pois os fabricantes não permitem a abertura de um projeto que está sendo desenvolvido em uma versão mais recente em um software com a versão mais antiga.

Existe um meio de “burlar” este problema no xcelsius.

Inicialmente teremos que transformar o arquivo XLF do xcelcius em arquivo ZIP.

A extensão do arquivo abaixo é xlf.

Figura 1 Versao Dif.

Modifique a extensão para ZIP.

Figura 2 Versao Dif.

 

Abra este arquivo em qualquer leitor e iremos encontrar a figura abaixo.

Figura 3 Versao Dif.

 

O próximo passo é editar o arquivo document.xml em qualquer editor de texto e verificar a parte superior do arquivor.

Figura 4 Versao Dif.

Cuidado para não cometer um engano, pois você poderá modificar no lugar errado e não ocorrer o resultado esperado (não acontecerá nada).

Na segunda linha do arquivo você poderá encontrar ‘version=”5.6″‘ e ‘createdby=”xcelsius 2008 SP6″‘. Se você modificar esta última parte (createdby) não acontecerá o resultado esperado e você continuará sem conseguir abrir o arquivo.

Será necessário modificar a parte de “version” para 5.3 ou simplesmente 5  (apagando o “.6”).

Após modificar o arquivo, salve o no no .zip e modifique a extensão novamente para .xlf.

abr 05 2015

Importar ou Exportar Excel do Xcelsius

Algumas vezes eu tive que modificar o XLS e tive uma grande dificuldade em abrir o arquivo xcelsius e importar o novo excel. Este fato pode ocorrer, dentre outros motivos, quando o excel está corrompido ou com problema.

Uma das formas de burlar este problema é fazer a importação ou a exportação por fora do software xcelsius.

Inicialmente teremos que transformar o arquivo XLF do xcelcius em arquivo ZIP.

A extensão do arquivo abaixo é xlf.

Figura 1 IMP ou EXP.

Modifique a extensão para ZIP.

Figura 2 IMP ou EXP.

Abra este arquivo em qualquer leitor e irá encontrar a figura abaixo.

Figura 3 IMP ou EXP.

 

O arquivo xldoc contém todo o excel do xcelsius, incluindo as conexões.

Neste caso você poderá retirar este arquivo e colocar em outro dashboard ou simplesmente atualizar ou sobrescrever por outro.

Caso queira modificar e depois salvar no próprio xlf, inclua a extensão xls no arquivo e depois abra normalmente no excel.

Faça as modificações necessárias, salve novamete e retire a extensão xls do arquivo xldoc.

Salve o arquivo .ZIP (o próprio editor do ZIP irá reconhecer que houve diferença e pedirá para salvar) e depois retire a extenão .ZIP do arquivo.

abr 01 2015

Ordenação de Dados e Ranking

Neste post veremos uma das maneiras de ordenar de forma crescente e
decrescente uma lista de valores, porém precisaremos tratar os valores
repetidos que poderão surgir na lista. A partir desta lista ordenada, você
poderá fazer um ranking com o número de linhas adequadas para sua solução.

Iniciaremos com uma lista contendo descrição e valores para a ordenação.

Etapa 0:
Na lista contendo descrição e valores, crie uma coluna contendo um valor sequencial iniciando do 1. Veja a figura da Etapa 1.

Etapa 1:
Criaremos uma coluna contendo um valor sequencial para apoiar a ordenação
dos valores e o tratamento dos valores repetidos.
Utilize a função ORDEM para identificar a ordem em que o valor ocupa na lista.
-> ORDEM(valor; matriz; [ordem])

No caso abaixo, o valor procurado é o -2 no intervalo de D3 a D10. Ao
replicar esta função para as outras linhas, fixe apenas o intervalo para
que a célula requerida seja flutuante.
OBS: A ordem é uma opção, porém é interessante selecionar uma delas. No
caso abaixo, foi selecionada ordem crescente.

pic29959

pic32628
Etapa 2:
Na etapa 2, precisaremos tratar os valores repetidos.

Na coluna G faremos o tratamento e utilizaremos a função CONT.SE para isso.
-> CONT.SE(matriz, valor)

pic21228

Deve ser selecionado, como primeiro parâmetro, o array onde encontraremos
os valores repetidos, sendo que precisaremos deixar o primeiro valor do
array fixo e o último flutuante. Nesta função faremos os testes de acordo
com a coluna F apenas. No outro parâmetro, necessário na função, será o valor
que queremos procurar e subtrairemos 1 para haja a ordenação correta.
Ou seja, ao procurar uma valor, se este não tiver valores repetidos, o
valor retornado será 1, caso contrário o valor somado a 1.

OBS: Caso o valor retornado seja 1, o valor no somatório será 2 e assim sucessivamente.

Exemplo:
A linha D4 tem mais 2 valores iguais e precisaremos dar uma posição para
cada um deles.
O valor 5, nas células D3 a D4, não tem valor repetido e por isso retornará
1 (subtrairemos 1 mais adiante e por isso o valor 0).
O valor 5, nas células D3 a D8, tem um valor repetido e por isso o
resultado é 2 (subtrairemos 1 mais adiante e por isso o valor 1).
O valor 5, nas células D3 a D9, tem 2 valores repetidos e por isso o
resultado é 3 (subtrairemos 1 mais adiante e por isso o valor 2).

Após fazer isso para todas as linhas, precisaremos subtrair 1 para que os
valores possam se ajustar no passo seguinte.

pic22139

Etapa 3:
Após identificar os valores repetidos e subtrair de 1, precisaremos somar
esta coluna (G) com a coluna de ordenação (F) para identificar a verdadeira
ordenação sem repetição.

pic27580

Etapa 4:
Nesta etapa faremos a ordenação do menor para o maior e para isso
utilizaremos a ordem sequencial numérica que fizemos na coluna B.
Faremos o uso da função CORRESP para identificar o valor requerido na lista
a partir do sequencial numérico.
-> CORRESP(valor; matriz; [tipo de correspondência])

pic21778

O tipo de correspondência é importante para identificar os valores de forma
exata ou não.  Neste caso, selecione a correspondência exata.

pic32471
A partir da coluna I, podemos fazer um PROCV para extrair a descrição e valor em ordem crescente ou decrescente.
->procv(I3;B3:D10;2;FALSO)

abr 01 2015

Problema de Seleção no Infopackage (campo KADKY)

Neste post será falado sobre um problema encontrado ao fazer uma seleção de data utilizando um dos campos standards.

Foi encontrado um problema no módulo de função standard para o campo KADKY, pois este não poderá ser utilizado para seleção, apesar de ser campo standard.

Cenário do problema encontrado:

Foi feita uma seleção no infopackage, com ABAP, para pegar apenas o mês corrente e foi utilizado o campo standard KADKY do data source 0CO_PC_PCP_10. Verificamos, ao carregar os dados, que todos os meses estavam sendo carregados e a seleção não estava funcionando, apesar de estar corretamente configurado.

Solução:

Vimos que no módulo de função SREP_COPC_PCP_10 não constava o campo KADKY, utilizado para a seleção, apesar deste campo ser padrão da SAP. Ou seja, utilizar o campo KADKY não vai funcionar até que a SAP libere uma release contendo este campo no módulo de função, como padrão. Vejam na figura abaixo os campos padrões que podem ser utilizados.

Figura 1

 

O código ABAP do campo KADKY foi retirado e colocado no campo KADAT com as devidas modificações no código para a seleção do mês corrente.

Figura 2

 

maio 15 2014

Compressão de dados do HANA

Olá pessoal !!

Neste post falaremos de algo muito importante que normalmente é subjugado, mas do meu ponto de vista é um ótimo recurso para justificar um investimento no HANA e aumentar o ROI e a diminuir o TCO: A compressão de dados.

Ah legal, todos ouvem falar disso e qualquer pessoa com um pouco de conhecimento em informática sabe do que se trata… economizar espaço em disco, mas no caso do HANA economizar espaço em memória RAM, o que pode trazer uma maior custo benefício ainda visto que memória RAM ainda é muito mais cara que memória em disco, embora tenha caído drasticamente nestes últimos anos, permitindo desenvolvimento de plataformas in-memory como o SAP HANA.

A logica é simples: Digamos que a sua empresa já esteja chegando perto do limite de storage para o DW que é de 10 TB e ela já esteja com 9 e isso logicamente é um sinal vermelho para os gestores de TI serão necessários investimentos em algumas baterias de disco para duplicar essa capacidade que acredito custar no mínimo algo em torno de R$ 100 mil se sua empresa for mais ousada então e quiser colocar uma bateria de SSD então.. acho que quase podemos duplicar esse valor! Me corrijam se eu estiver errado mas foi o que conseguir descobrir em uma rápida pesquisa no Google… Como o SAP HANA pode comprimir no mínimo 3x os dados da armazenados no DW por exemplo então se sua empresa optasse por investir no HANA ela teria os seus 9 TB reduzidos a 3 podendo chegar a menos de 1 TB e com isso ajudar já ganhar um ótimo “desconto” com o dinheiro que iria ser gasto em baterias novas… Excelente não? Ou seja, bastaria vc investir em um servidor de 6 TB para ter essa capacidade duplicada e o que o HANA conseguisse comprimir além de 3x ficaria de “contingencia” por exemplo.

Mas logicamente nenhuma empresa bem gerida gosta de desperdiçar dinheiro e o ideal seria investir com “precisão”, e como pra tudo se tem um jeito nessa vida, menos pra morte(ainda..!) existe uma maneira que pode ajudar nisso e falaremos mais tarde.

Na verdade compressão em banco de dados não é exatamente uma novidade, outros bancos também utilizam este recurso,  o que faz o HANA ser tão diferenciado nesse ponto são os seus algoritmos de compressão e fazer tudo isso IN-MEMORY tornando o HANA único!!

Mas como funciona?

Neste post falarei apenas da técnica que dá suporte a todas as outras técnicas, pois falando a grosso modo, em cima dela todos outros algoritmos são baseados otimizando ainda mais a compressão e ela é relativamente simples a técnica se chama: Dictionary Encoding.

Vamos nos basear como exemplo uma tabela que contem dados da população mundial, na figura abaixo vemos 2 objetos que são a base dessa técnica o dictionary e o attribute vector:

 

img00

 

Na imagem acima temos a coluna de nome da tabela e o Dictionary armazena apenas os valores não repetidos e cria um índice para cada valor o “Value ID”.

O Attribute Vector por sua vez faz exatamente um de-para entre os dados da tabela original e o Dictionary e também cria um índice o “position”.

Agora fica tudo mais fácil pois é só converter os dados da tabela original por bits, pois armazenar em bits é muito mais “econômico” do que armazenar no seu formato original, principalmente se o dado do campo for do tipo char a economia é maior ainda.

 

img01

 

 

Vamos fazer de conta que nossa tabela tenha 8 bilhões de linhas e o comprimento do registro seja de 200 bytes, então teremos:

8.000.000.000 x 200 = 1.6 TB

Peguemos o primeiro campo “first name”, para conseguir substituir os dados por bits tem que saber quantos bits são necessários para 49 bytes de dados e assim por diante, conforme tabela acima, para isso usamos uma função logarítmica de base binária:

Log2(5.000.000) = 23

Fazendo este cálculo temos 23 bits que são necessários para armazenarmos os mesmos 49 bytes, agora vamos fazer uma comparação:

Antes:

8.000.000.000 x 49 Bytes = 392.000.000.000 Bytes / 1024 / 1024 / 1024  = 365.1 GB

Depois:

8.000.000.000 x 23 Bits = 184.000.000.000 Bits  / 8 / 1024 / 1024 / 1024 = 21.4 GB

 

WOWW!!! Tivemos uma redução 94% do tamanho, fantástico não? Agora o que será gravado no campo “first name” serão uma sequencia de 23 bits ao invés de “William” por exemplo… Para quem conhece o BW isso se assemelha a usar as “Surrogate IDs” (SIDs) nas dimensões do cubo.

Mas porque então quando fazemos select vem o nome correto ao invés dos bits? Aahh isso ocorre por causa de uma outra técnica chamada “Materialização” mas isso é assunto para outro post 🙂

Não podemos esquecer de somar os espaço necessário ocupado pelo dicionário

49 bytes x 5.000.000 / 1024 / 1024 / 1024  = 0.23 GB

Então finalmente temos:

img02

 

Temos um fator de redução de aproximadamente 17 vezes e o novo tamanho da coluna “first name” consome apenas 6% do tamanho original… excelente!!!

Basta repetirmos esta mesma logica para as outras colunas e chegaremos ao fator de redução da tabela inteira…

Então podemos concluir que o nível de compressão depende não só do do tipo de dado como também de quantas vezes temos valores repetidos em uma determinada coluna, ou melhor, quantos valores distintos temos, bem como a quantidade de registro

A esta razão damos o nome de ENTROPIA.

 

Entropia =

cardinalidade da coluna
cardinalidade da tabela

 

Então quanto MENOR a entropia maiores taxas de compressão teremos e para nossa alegria os dados corporativos armazenados em tabelas, costumam ter baixa entropia em suas colunas, então na maioria dos casos é possível obter taxas de compressão maiores que o mínimo de 3x sugerido pela SAP.

Outras técnicas de compressão como Prefix Encoding, Run-Length Encoding, Cluster Encoding, Indirect Encoding, Delta Encoding são aplicadas em cima destes 3 objetos(a tabela, o Dictionary e o Attribute Vector) normalmente depois da Dictionary Encoding já aplicada, por isso ela é a mais importante e as outras tem um papel de tornar ainda mais eficiente a compressão do HANA tornando uma banco muito especial e maravilhoso nesse sentido.

O que havia falado no inicio do post sobre a decisão reduzir investimento em sizing implementando o HANA e para isso ter a maior precisão possível, pois o principal fator  que define o preço do HANA é a quantidade de memória RAM, então pode ser fazer uma programa que analise cada tabela da empresa aplicando a logica acima:

Primeiro definir quantos valores distintos a para cada coluna de uma determinada tabela

  • Ver o comprimento de cada coluna
  • Fazer os cálculos apresentados usando a função logarítmica
  • E ao final somar o resultados em GB de cada coluna e comparar com o original

 

Pronto! Ao final o programa apresenta um relatório e vc pode ajudar o seu diretor ou gerente de TI a comprar exatamente o tamanho necessário para sua empresa de um servidor HANA, claro que levando em consideração uma contingencia segundo as perspectivas de crescimento por ano dos dados da empresa.ou o Sizing Plan

Se o sistema da sua empresa for o SAP é mais fácil ainda… basta consultar a tabela DD02 e a DD03 para ter o nome de todas as tabelas e seus campos que existem no sistema e ainda otimizar uma busca apenas por tabelas que contenham dados e voilá

Bom, está lançada a idéia… quem sabe no próximo posto eu não dou uma de Papai Noel e presenteie vcs com esse programa em ABAP pronto 😉

Um abraço e até a próxima!

 

Will

mar 04 2014

Dashboard 4.0 – Atualização dinâmica do status do componente check box – Parte 1

Olá pessoal, o nosso blog tem como objetivo trazer sempre alguma novidade ou dica preciosa sobre as ferramentas da SAP com o objetivo de unir e ajudar toda a comunidade de profissionais espalhadas pelo Brasil e pelo mundo. Hoje vamos falar sobre um tópico específico de desenvolvimento em painéis Dashboards. Essa foi uma dificuldade que eu particularmente enfrentei em um dos projetos que participei e acredito que é uma dificuldade que muitos profissionais também já passaram ou passam com essa ferramenta. A grande questão do post de hoje é, será que é possível fazer um componente check box funcionar de forma dinâmica? Vamos ao entendimento dessa questão que a princípio parece ser simples, mas não é.

1 – Para verificar ou não verificar?

Um dos pedidos mais comuns quando se usa SAP BusinessObjects Dashboards ( Xcelsius ) é a capacidade de redefinir seletivamente componentes Seletor de volta ao seu estado original. Ao contrário de muitos outros seletores, a tarefa não é tão fácil de conseguir com o componente Check Box. Não podemos atualizar dinamicamente o seu estado verificado / Desmarcado, porque as mudanças do valor na célula que o componente é obrigado a não afetar o próprio componente. A falta desta funcionalidade também torna difícil apoiar a atualização dos status de várias caixas de seleção ao mesmo tempo. Este post é o primeiro de uma série em que eu vou compartilhar a minha solução para esse desafio e examinar algumas das suas aplicações práticas.

Componente Xcelsius Check Box é semelhante ao seu homólogo Excel, mas age de forma diferente. No Excel, a conexão entre um controle de caixa de seleção e sua célula vinculada funciona nos dois sentidos, como se conclui da propriedade do controle: Ligação celular. Atualizando o status caixa de seleção altera o valor na célula vinculada, e vice- versa. Assim, no Excel, podemos alterar dinamicamente um valor de célula ligada e ver a mudança imediata no estado do componente. Esse não é o caso do componente check box.

Vamos realizar um teste simples e comparar os resultados com o mesmo cenário no Excel e Xcelsius:

1. Adicionar uma caixa de seleção e um controle de botão de rotação do Formulário Excel seção Controles para uma planilha e associar os dois a célula C2.

2. Defina os valores de botão de rotação variando de 0 a 1.

 

060612_2113_Dynamicstat1

3. Quando a caixa de seleção está marcada / desmarcada a célula recebe valores verdadeiro / falso.

060612_2113_Dynamicstat2

Quando o botão de rotação é clicado para cima ou para baixo altera valores na célula vinculada a 1 ou 0 e, ao mesmo tempo o estado da caixa de seleção fica alternado também.

060612_2113_Dynamicstat3

4. Agora, vamos ver o que acontece no Dashboard.

Adicione uma Caixa de seleção, Spinner e um componente de valor único para uma tela conforme demonstrado na imagem abaixo.

060612_2113_Dynamicstat4

5. Ligue todos os componentes para a célula C2 e abra um Preview.

6. Quando a caixa está marcada ou desmarcada a célula de destino recebe valores de 1 ou 0.

060612_2113_Dynamicstat5Mas quando o spinner atualiza o valor na célula o status nas caixas não muda.

060612_2113_Dynamicstat6

Isto significa que, na versão atual do Dashboard não há nenhuma funcionalidade built-in para alternar dinamicamente o status verificado / Desmarcado do componente Caixa de Seleção.

Felizmente, há um trabalho em torno. Ao contrário de controles de formulário Excel, componentes Dashboard tem uma propriedade chamada de Visibilidade Dinâmica. Usando a sua magia em um conjunto com um componente Botão, podemos simular a funcionalidade de caixa de seleção do Excel em um Dashboard.

Vamos criar um modelo que demonstra essa técnica:

  1. Adicione duas Push Button e dois check box para uma tela. Vamos Personalizar um botão de pressão e combinar caixas de seleção e um botão em um botão personalizado. Podemos também usar os componentes de imagem em vez disso, é só temos um bom par de imagens de uma caixa de seleção marcada e desmarcada.
  2. Defina a propriedade do item de uma das caixas de seleção como verificado e o outro como desmarcada. A propriedade desse item está localizada na guia Comum da seção Comportamento. Vincular dados de origem para os botões de ação para a célula A3 e Destino para H3. A fórmula do Excel em A3 é = 1-H3 e o valor inicial no H3 é 1.
  3. A célula H3 vai definir a propriedade Visibility Status dinâmico para ambas as caixas de seleção. Defina a propriedade de chave para a caixa de seleção marcada para 1 e 0 para o desmarcado.

Neste ponto, a configuração do modelo deve ser semelhante à figura a seguir:

060612_2113_Dynamicstat7

1. Um dos botões vai ser exibido como é, e o outro será transparente. Sua propriedade Label deve estar em branco e a propriedade Fundo Botão Show desmarcada.

2. No componente check box coloque o botão transparente em cima deles.

3. Adicionar componente Tabela de planilha para ver o que acontece por trás da visualização.

Agora estamos prontos para testar.

Quando começa uma pré-visualização, podemos ver que a caixa de seleção está marcada e os valores em A3 (sombra em verde) é 0 e em H3 (sombreados em amarelo) é 1.

060612_2113_Dynamicstat8Quando um usuário clica em uma caixa de seleção, o que não está marcado, os valores em H3 e A3 se transformam em 0 e 1, respectivamente.

060612_2113_Dynamicstat9

Clicando sobre a caixa de seleção desmarcada traz o modelo para o estado inicial. E, como nos lembramos, o real clique acontece no botão de comando, e não em uma caixa de seleção. Mas é transparente para o usuário.

Esta abordagem permite que simulemos a funcionalidade caixa de seleção Excel em redefinir o status verificado / Desmarcado do componente check box. Também nos dá um modelo de trabalho que pode se estender para projetos mais complexos que fornecem regras baseadas em seleção dinâmicas de componentes logicamente agrupados em várias check boxes. Vou mostrar um exemplo na Parte 2 desta série: Selecionar todos ou selecione Nenhum.

Espero que tenham gostado dessa primeira parte do artigo e não percam as outras pois de agora em diante a coisa fica um pouco mais complicada.

 

Abraços!!!!

 

Posts mais antigos «