Criando Itens Calculados Objetivos Ao concluir esta lição, você será capaz de: • • • Criar um cálculo Criar um cálculo complexo Especificar um valor de parâmetro para um cálculo Objetivos da Lição Esta lição mostra como criar uma consulta com itens calculados, bem como especificar parâmetros em cálculos. Oracle9iAS: Discoverer para Usuários Finais 7-2 Visão Geral sobre Cálculos Preço de Lista – Preço Líquido. . . . . . . . . . . . . . (Q1 + Q3)/2. . . . . . . . . . 12 * Salário + NVL(Bônus, 0) (Preço – Desconto) * Quantidade Visão Geral sobre Cálculos Os cálculos são itens de planilhas baseados em expressões (por exemplo, fórmulas matemáticas ou funções de tratamento de texto). Os cálculos podem ser simples, como uma operação aritmética entre itens pertencentes a uma pasta, ou podem ser expressões matemáticas ou estatísticas complexas. Usando Parênteses para Alterar a Precedência de Operadores: Os seguintes operadores aritméticos são usados em cálculos: • Multiplicar (*) • Dividir (/) • Adicionar (+) • Subtrair (–) Quando você usa expressões aritméticas em um cálculo, os operadores de multiplicação e divisão são executados primeiro, independentemente de sua posição no cálculo. Se você tiver vários operadores que seguem a mesma regra de precedência, eles serão avaliados da esquerda para a direita. Por exemplo, o cálculo 'Preço – Desconto * Quantidade' é avaliado como Desconto multiplicado por Quantidade, subtraído de Preço. Se você colocar a expressão de subtração entre parênteses. '(Preço – Desconto)*Quantidade', a subtração será executada antes da multiplicação. Oracle9iAS: Discoverer para Usuários Finais 7-3 Criando Cálculos Botão New: Caixa View calculations for Caixa Available Calculations Caixa Description: Criando Totais e Subtotais Quando você cria uma consulta de tabela ou de tabela de referênc ia cruzada pela primeira vez, o Discoverer proporciona a oportunidade de criar itens calculados a serem adicionados à planilha na etapa 7 (para consultas de tabelas de referência cruzada, etapa 6) do Workbook Wizard. Recursos da janela Calculation: • Caixa View calculations for: Caixa drop-down que você pode usar para selecionar a exibição de cálculos de todos os itens, de somente um item específico ou somente os cálculos ativos. • Caixa Available Calculations for: Essa caixa começa vazia. À medida que você adiciona cálculos à planilha, o Discoverer os exibe aqui em ordem alfabética. • Caixa Description: Essa caixa mostra a descrição do cálculo (nesse caso, a expressão do cálculo) destacado na caixa Calculations. • Botão New: Clique nesse botão para adicionar um item calculado à planilha. Oracle9iAS: Discoverer para Usuários Finais 7-4 A Guia Calculations Tools > Calculations Ícone da Barra de Ferramentas A Guia Calculations Depois de executar uma consulta, você pode definir, editar ou deletar cálculos abrindo a guia Calculations na janela Results. Para isso: • Selecione Tools > Calculations na barra de menus ou clique no ícone Calculations da barra de ferramentas. A janela Edit Worksheet será aberta com a guia Calculations automaticamente selecionada. • Para modificar um cálculo existente, selecione-o e clique no botão Edit. • Para deletar um cálculo existente da planilha, selecione-o e clique no botão Delete. • Para definir um novo cálculo, clique no botão New. Oracle9iAS: Discoverer para Usuários Finais 7-5 Criando um Cálculo Simples Campo Name Campo Calculation Colar Operadores Criando um Cálculo Simples Use a caixa de diálogo New para definir novos itens calculados. Você pode informar o cálculo do item das seguintes formas: 1. Se você souber a sintaxe do cálculo, informe-a diretamente no campo Calculation. 2. Crie o cálculo colando itens no campo Calculation. – Para adicionar um item da área de negócios ao cálculo, escolha Selected Items ou Available Items na lista drop-down Show, selecione o item e clique em Paste para copiá- lo para o campo Calculation. – Para adicionar um operador matemático ao cálculo, clique no botão do operador desejado. – Para adicionar cálculos existentes à expressão, escolha Calculations na lista drop-down Show, selecione o cálculo e clique em Paste para copiar o cálculo para o campo Calculation. Observação: Antes de colar itens no campo Calculation, posicione o cursor no campo Calculation no local onde deseja inserir o item. Oracle9iAS: Discoverer para Usuários Finais 7-6 Criando Cálculos Complexos Cálculos Complexos Você pode criar cálculos complexos usando uma combinação de funções SQL e itens de pastas. As etapas para a criação de cálculos complexos são semelhantes às usadas na criação de um cálculo simples. Veja abaixo um exemplo de cálculo complexo: Crie um item que calcula Profit SUM, menos o imposto de venda de 3% em bebidas e 4% em alimentos. Oracle9iAS: Discoverer para Usuários Finais 7-7 Funções Disponíveis Funções Exemplo Analytic RANK calcula classificações de itens em um grupo. Conversion TO_NUMBER converte um valor de caractere em um número. Date ADD_MONTHS adiciona meses a uma data. Group SUM soma dois itens ou valores. Numeric ABS calcula o valor absoluto de um número. Other DECODE compara uma expressão a critérios de pesquisa e retorna um valor. String CONCAT Vincula duas strings de caracteres. Funções Disponíveis Para executar cálculos nos resultados, o Discoverer oferece as seguintes catego rias de funções: • Analytic: Conjunto de funções do Oracle9i que podem ser usadas na análise de negócios • Conversion: Funções de uma única linha que convertem um tipo de dados para o mesmo tipo ou para outro tipo de dados • Date: Calcula operações em datas • Group: Calcula as funções de relatório descritas anteriormente nesta lição • Numeric: Funções numéricas de uma única linha que retornam valores numéricos • Other: Funções de uma única linha que não se aplicam a qualquer outro agrupamento • String: Funções de caracteres de uma única linha Observação: Os administradores podem criar funções adicionais no banco de dados com base nas necessidades do usuário. Essas funções são agrupadas sob as funções de banco de dados. Oracle9iAS: Discoverer para Usuários Finais 7-8 Visão Geral de Funções Analíticas • Conjuntos de funções do Oracle9i que podem ser usadas para cálculos de business intelligence • Algumas categorias principais de funções analíticas são: – – – – Funções de classificação Funções de faixas Funções de janelas Funções Lag e Lead Funções Analíticas Os cálculos básicos de business intelligence, como movimentações médias, classificações e comparações entre lead e lag exigiram uma programa ção mais elaborada, fora do padrão SQL e que freqüentemente apresenta problemas de desempenho. O Oracle9i incorpora um novo conjunto de funções que oferecem ótimo suporte às tarefas analíticas. Essas funções são chamadas de funções analíticas. O Oracle9iAS Discoverer aceita as funções analíticas do Oracle Server 8.1.6 e versões posteriores. O Discoverer também estende a funcionalidade de funções SQL padrão ao permitir o aninhamento de funções analíticas. Você pode usar essas funções analíticas para executar uma análise mais sofisticada nos dados. Oracle9iAS: Discoverer para Usuários Finais 7-9 Funções Analíticas (continuação) Descrição de categorias de funções analíticas: Tipo Uso Classificação Determina a classificação de um registro em relação aos outros registros do banco de dados com base nos valores de um conjunto de medidas. As funções de classificação ajudam a responder questões como: Quais são os produtos mais vendidos de cada departamento? Criação de faixas Divide uma lista de valores de uma partição em um número específico de grupos chamados Faixas e atribui um valor a cada uma delas. As funções de criação de faixas ajudam a categorizar itens que compartilham uma medida comum. Por exemplo, cidades com desempenho semelhante em termos de vendas. Janelas Determina agregados cumulativos, centralizados e com movimentação. As funções de janela retornam um valor para cada linha da tabela, que depende de outras linhas na janela correspondente. Essas funções são úteis para obter totais cumulativos, como números de vendas do ano até a data para comparar vendas em mais de dois anos. Compara valores de diferentes períodos, por exemplo março de 1999 e março de 2000. Lag e Lead Oracle9iAS: Discoverer para Usuários Finais 7-10 Exemplos de Função de Classificação Análise Top N/Bottom N Rank() OVER(PARTITION BY "Calendar Year",Region ORDER BY Sales SUM DESC) Exemplo de Classificação Este exemplo classifica números de vendas e exibe as três cidades com melhor classificação em cada região. O cálculo de função analítica usado para criar a coluna Sales Rank nesta planilha foi: RANK()OVER(PARTITION BY Calendar Year,Region ORDER BY Sales SUM DESC) Oracle9iAS: Discoverer para Usuários Finais 7-11 Exemplo de Função Lag/Lead Análise do período atual/período anterior LAG(Sales SUM,4) OVER(PARTITION BY Region ORDER BY "Calendar Year", Calendar Quarter) Exemplo de Lag/Lead Neste exemplo, o cálculo de função analítica: LAG(Sales SUM,4)OVER(PARTITION BY Region ORDER BY Calendar Year,Calendar Quarter) foi usado para criar a coluna Sales Last Year, que exibe números de vendas para o mesmo trimestre do ano anterior. Agora, crescimento das vendas durante o período de tempo pode ser obtido com a criação de um cálculo simples, conforme mostrado anteriormente, para a coluna % Growth. % Growth = (Sales SUM - Sales Last Year)/Sales Last Year Oracle9iAS: Discoverer para Usuários Finais 7-12 Usando Cálculos em Condições Usando Cálculos em Condições Você pode filtrar os resultados da planilha com base no resultado de um cálculo incluindo esse cálculo em uma condição. Por exemplo, a planilha mostrada no Exemplo de Classificação mostra somente as três principais cidades de cada região. Os dados exibidos na tela neste exemplo foram filtrados com base na seguinte condição: Sales Rank <= 3 Para incluir um cálculo em uma condição, faça o seguinte: 1. Selecione o cálculo na lista drop-down Item, se o cálculo já existir. 2. Se o cálculo que você deseja incluir na condição ainda não existir, selecione Create Calculation na lista drop-down Item. A caixa de diálogo New Calculation será exibida, permitindo que você a use para criar o cálculo. Observação: Um cálculo também poderá ser usado nos valores de condições. Oracle9iAS: Discoverer para Usuários Finais 7-13 Especificando um Parâmetro para um Cálculo Profit SUM*(1-:Tax Rate) Especificando um Parâmetro para um Cálculo Você pode especificar um valor de parâmetro para um cálculo de forma a poder determinar um valor que deverá ser usado no cálculo durante o runtime. Por exemplo, para exibir informações sobre lucro líquido, você pode configurar um cálculo para obter o lucro líquido com base em uma taxa de impostos. Você pode configurar um parâmetro que solicitará a informação de uma taxa de impostos, que será usada na execução do cálculo. Para especificar um valor de parâmetro para um cálculo, faça o seguinte: 1. Selecione Tools > Parameters. 2. Clique em New na caixa de diálogo Parameters. 3. Crie o parâmetro na caixa de diálogo New Parameter. Atribua um nome ao parâmetro e selecione NONE no campo "Which item do you want to base your parameter on". 4. Crie o cálculo na caixa de diálogo New Calculation. Na string do cálculo, informe o nome do parâmetro, quando necessário, precedido por dois pontos (:). 5. Aplique o cálculo. Oracle9iAS: Discoverer para Usuários Finais 7-14 Especificando um Parâmetro para um Cálculo Especificando um Parâmetro para um Cálculo (continuação) No exemplo de planilha mostrado neste slide, o lucro líquido foi calculado com base em 8,5% de taxa de impostos. Oracle9iAS: Discoverer para Usuários Finais 7-15 Resumo Nesta lição, você deverá ter aprendido a: • Criar um cálculo simples usando a caixa de diálogo Calculations • Criar um cálculo simples usando as funções de cálculo fornecidas pela barra de ferramentas Analysis • • Criar um cálculo complexo Especificar um parâmetro em um cálculo Oracle9iAS: Discoverer para Usuários Finais 7-16 Exercício 7-1 Visão Geral Este exercício aborda os seguintes tópicos: • • • Criando um item calculado Criando um cálculo complexo Especificando um parâmetro em um cálculo Fazendo um Exercício Neste exercício, você criará cálculos simples e complexos. Você criará parâmetros para passar valores ao cálculo. Oracle9iAS: Discoverer para Usuários Finais 7-17 Exercício 7-1 1. Você quer descobrir o lucro médio por item vendido por cada departamento. a. Em um novo arquivo de trabalho, crie uma nova planilha usando o layout de tabela com quebra de página. Selecione os seguintes itens da pasta Video Analysis Information: – Page Axis: Calendar Year – Top Axis: Department, Profit SUM, Sales SUM, Unit Sales SUM, Cost SUM Atribua à planilha o nome "Profit Analysis". b. Crie um item calculado que exiba a relação entre Profit SUM e Unit Sales SUM. Nomeie o cabeçalho de cálculo e item como "Profit per Unit Sold." Dica: Profit SUM dividido por Unit Sales SUM é um cálculo simples em dois itens agregados. 2. Agora que já sabe o lucro médio por unidade vendida, você pode descobrir o custo médio por unidade vendida. a. Crie um item calculado que exiba a relação entre Cost SUM e Unit Sales SUM. O nome do cálculo deverá ser "Cost per Unit Sold." b. Salve o arquivo de trabalho como Prac7-1. 3. Você quer saber o impacto dos impostos sobre vendas anuais no lucro de diferentes departamentos. a. Crie uma nova planilha de layout de tabela em Prac7-1. Na pasta Video Analysis Information, selecione os seguintes itens: – Department – Calendar Year – Profit SUM Mova todos os itens para o eixo superior. Atribua à planilha o nome "Profit After Tax". b. Crie o item calculado "Profit After Tax" que calcula Profit SUM menos 6% de impostos sobre vendas em todos os departamentos, exceto Beverage e Snacks. Não há incidência de impostos nos departamentos Beverage e Snacks. Dica: Selecione Tools > Calculations e use a função Decode para criar o item calculado. c. Crie um parâmetro "Sales Tax Rate" para alterar a taxa de impostos sobre vendas. Dica: Selecione "None" para o item na caixa de diálogo New Parameter. d. Modifique o cálculo "Profit After Tax" e substitua o imposto sobre vendas pelo parâmetro. e. Salve o arquivo de trabalho como Prac7-2 e feche-o. Oracle9iAS: Discoverer para Usuários Finais 7-18