Tuesday 15 August 2017

Oráculo Médio Móvel 11g


Um Exemplos de Cálculo As Funções Analíticas são classificadas nas seguintes categorias: Ranking - Responda questões de negócios como: Quais são os 10 melhores vendedores e os 10 melhores vendedores por região. Banding - Responda a questões comerciais como Quais marcas compõem 25 de vendas. Windowing - Responda a questões comerciais como Qual é a média móvel de 13 semanas de um preço de ações ou Qual é a soma cumulativa das vendas por região. Agregados de relatórios - Após uma consulta ter sido processada, agregue valores como o número de linhas resultantes ou a soma de uma coluna em um conjunto de linhas. Endereço de perguntas como Quais são os produtos vendidos como uma porcentagem das vendas para o seu grupo de produtos. LagLead - Responda a questões comerciais como Qual o crescimento de vendas das regiões de 1998 em relação a 1997 foi superior a 20, e Qual é o valor das Vendas no exercício de 1996 menos as vendas no exercício de 1996. Estatísticas - Execute análises estatísticas com aplicações Business Intelligence OLAPspreadsheet . Por exemplo, covariância e funções de regressão linear. A.5.2 Cálculos e perfuração dentro e fora dos dados Quando você usa funções analíticas, note que eles têm uma definição precisa que não muda à medida que você perfura, pivô ou classifica o conjunto de resultados. Por exemplo, se você usar a função RANK para atribuir classificações aos números de vendas particionados por trimestre, se você detalhar o nível do mês, o ranking ainda só se aplica ao nível do trimestre. A.5.3 Sobre o modelo de função analítica Ao criar funções analíticas no Discoverer Desktop, você pode digitar ou colá-las diretamente na caixa de diálogo Cálculo ou pode selecioná-las na lista de funções. Se você selecioná-los na lista de funções, você é apresentado com um Modelo de Função Analítica genérico que o ajuda a definir a função, informando quais as informações que você deve fornecer. Os modelos devem ser usados ​​como um guia. Como os modelos foram projetados para cobrir a maioria dos tipos de uso, você nem sempre precisará usar todas as partes do modelo. Por exemplo, quando você cola uma nova função analítica RANK em uma caixa de cálculo, o Discoverer Desktop fornece o seguinte modelo: OVER (PARTITION BY expr1 ORDER BY expr2) Embora você possa definir uma função complexa usando ambas as expressões (expr1 e expr2), você pode Muitas vezes definem uma função simples usando apenas a expressão ORDER BY, por exemplo: RANK () OVER (ORDER BY Sales) Este exemplo classifica os números de vendas (definidos no item Vendas). NOTA: Por padrão, os dados dos resultados são classificados em ordem crescente (ASC), os nulos primeiro (NULLS FIRST). Para obter mais informações sobre expressões usadas pelo modelo de Função analítica, consulte Mais sobre o modelo de função analítica. A.5.4 Exemplos de funções de classificação A.5.4.1 Sobre as funções de classificação de classificação calculam a classificação de um item em relação a outros itens em uma lista ordenada. A.5.5.1 Sobre Banding Banding é um tipo de classificação que divide uma lista de valores em uma partição em um número especificado de grupos chamados Bandas (também conhecidas como baldes) e atribui cada valor a uma Banda. Dois tipos comuns de bandas são: Banding by value - isto divide valores em grupos de acordo com seu valor. (Também conhecidas como bandas de equi-largura). Aqui, a função geralmente tira o maior valor menos o valor mais baixo, e divide o resultado pelo número de bandas necessárias. Esse valor define o alcance de cada banda. Os valores são então atribuídos às bandas de acordo com a faixa em que se encontram. Portanto, o número de valores em cada banda pode ser diferente. Por exemplo, se tivermos 100 valores e dividi-los em quatro bandas equi-width, cada banda pode conter diferentes números de valores. Use a função GREATEST ou a função CASE para produzir bandas equi-width com base no valor. Bandagem por classificação - isso divide os valores em grupos de acordo com sua classificação. (Também conhecido como bandas equi-height). Aqui, a função divide o número de valores na partição pelo número de bandas, que dá o número de valores em cada banda. Um número igual de valores é então colocado em cada banda. Por exemplo, se tivermos 100 valores e dividi-los em quatro bandas equi-height, cada banda contém 25 valores. Use a função NTILE para produzir bandas equi-height com base na classificação. A.5.5.2 Produção de Bandas de equi-width (1) Este exemplo divide figuras de vendas em bandas de acordo com seu valor. (Também conhecidas como bandas de equi-largura). A.5.6.1 Sobre as funções Windowing Windowing são usadas para calcular agregados usando valores de outras linhas. Por exemplo, agregados cumulativos, em movimento e centrados. Dois tipos comuns de janelas são: Vinculação com deslocamentos lógicos - aqui, o deslocamento é baseado em um valor relativo a um valor existente, e. Três meses antes de um valor de data. Por exemplo, se tivermos uma lista de números de vendas mensais, uma janela lógica pode calcular uma média móvel dos três meses anteriores (inclusive o mês atual). Ao calcular a média, o cálculo assume um valor NULL por meses na lista. No exemplo, a média móvel de três meses para novembro assume valores NULL para os meses que faltam setembro e outubro. Windowing com deslocamentos físicos - aqui, o deslocamento é baseado em um valor que é um número especificado de linhas a partir de um valor existente, e. Três linhas do item atual. Por exemplo, se tivermos uma lista de números de vendas mensais, uma janela física poderia calcular uma média móvel das três linhas anteriores, ignorando os meses que faltavam. Ao calcular a média, o cálculo ignora meses faltando na lista. No exemplo, a média móvel de três meses para novembro usa junho, julho e novembro no cálculo. A.5.6.2 Calcular uma média de vendas em movimento de três meses Este exemplo usa uma janela lógica para calcular uma média de vendas de três meses em movimento. A.5.8.1 Sobre as Funções LagLead As funções LAG e LEAD normalmente são usadas para comparar valores em diferentes períodos de tempo. Por exemplo, compare os números de vendas em 2000 com os números de vendas em 2001. LAG - fornece acesso a mais de uma linha de uma tabela ao mesmo tempo sem uma associação automática. LEAD - fornece acesso a uma linha em um determinado deslocamento após a posição atual. A.5.8.2 Compare os números de vendas ao longo do tempo Este exemplo compara os números de vendas ao longo do tempo. Informação de análise de vídeo. Ano (Ano Calendário), Vendas SUM Departamento Vídeo Venda OU Departamento de Vídeo Aluguer LAG (Sales SUM, 1) OVER (ORDEM POR Ano) Como não há números comparativos para 1998, o valor do Ano Anterior para 1998 está em branco. A.5.8.3 Calcule o crescimento das vendas ao longo do tempo Usando os números de vendas comparativos do exemplo 11.8.2, este exemplo calcula o crescimento das vendas ao longo do tempo. A.5.9.1 Sobre estatísticas Funções As funções de estatísticas são usadas para calcular as estatísticas de covariância, correlação e regressão linear. Cada função opera em um conjunto não ordenado. Eles também podem ser usados ​​como janelas e funções de relatórios. A.5.9.2 Calcular a regressão linear Este exemplo calcula uma linha de regressão de mínimos quadrados comuns que expressa a Soma de Lucro por Mês como uma função linear da Soma de Vendas. São utilizadas as seguintes funções: SLOPE - inclinação da determinação da linha de regressão INTERCEPT - interceptação de determinação da linha de regressão REGRR2 - coeficiente de determinação da linha de regressão REGRCOUNT - número de itens REGRAVGX - salário médio A.6 Mais sobre a função analítica Modelo Quando você colar uma nova Função Analítica em uma caixa de Cálculo, o Discoverer Desktop fornece o seguinte modelo genérico: OVER (PARTITION BY expr1 ORDER BY expr2). As expressões são usadas da seguinte forma. OVER - indica que a função opera em um conjunto de resultados de consulta, depois que as outras cláusulas de consulta foram aplicadas (como FROM, WHERE, HAVING etc. PARTITION BY - partição (ou grupo), os resultados da consulta são definidos. Por exemplo, PARTITION BY Region. ORDER BY - especifique como o conjunto de resultados está logicamente ordenado. Por exemplo, ORDER BY Sales SUM. Para obter mais informações sobre as expressões do Oracle, consulte Obtendo mais informações. A.7 Funções analíticas e seqüenciamento Quando você usa funções analíticas em condições, como você Combiná-los com funções não analíticas afetam os dados retornados pela consulta. Aplicam-se as seguintes regras de seqüência: Onde as condições contêm apenas funções não analíticas, estas são aplicadas antes das Condições que contêm funções analíticas. No exemplo acima, a condição Região Central é Aplicado primeiro, então o Rank é calculado, então a condição de Rank lt 3 é aplicada, (que contém uma função Analytic). Onde as Condições contêm uma combinação de funções não analíticas e Analyt As funções analíticas são aplicadas antes das funções não analíticas. No exemplo acima, o Rank é avaliado, então a condição Rank lt 3 é aplicada, então a condição Central de Região é aplicada. Para ilustrar como o sequenciamento afeta os dados retornados por uma consulta, considere os dois cenários a seguir. No primeiro cenário acima, aplicamos duas condições simples: Região Central e Rank Lt 3 (onde Rank é uma função analítica). A condição Região Central é aplicada primeiro e, em seguida, Rank Lt 3. Portanto, somente os números de vendas para a Região Central que têm uma classificação de três ou menos estão incluídos no Conjunto de resultados. No segundo cenário acima, aplicamos uma única condição avançada: Region Central AND Rank lt 3, (onde Rank é uma função analítica). A condição Rank lt 3 é aplicada primeiro, depois a condição Região Central. Portanto, somente figuras na Região Central que têm uma classificação geral de três ou menos estão incluídas no Conjunto de Resultados. Scripting nesta página melhora a navegação do conteúdo, mas não altera o conteúdo de forma alguma. Houve uma boa pergunta sobre a OTN hoje sobre se há uma função Oracle padrão para calcular a média móvel exponencial. A resposta é que não há essa função, mas com a cláusula modelo, você pode calcular isso muito facilmente. E é um ótimo exemplo do que quero dizer com um número variável de cálculos com base em valores calculados, escrito na minha terceira parte do tutorial da cláusula modelo. Antes de hoje, nem sabia o que era uma média móvel exponencial. Você pode ler mais sobre isso aqui na Wikipedia ou aqui com um bom exemplo. Do primeiro link: uma média móvel exponencial (EMA), aplica fatores de ponderação que diminuem exponencialmente. A ponderação para cada ponto de dados mais antigo diminui exponencialmente, dando muito mais importância às observações recentes, enquanto ainda não descarta as observações antigas inteiramente. A partir do segundo link: A fórmula para o cálculo de uma média móvel exponencial (EMA) é: X EMA atual (ou seja, EMA a ser calculado) C Valor de dados original atual K Constante de suavização P EMA anterior (O primeiro EMA no intervalo a ser calculado é Arbitrária e pode ser o valor de dados original correspondente ou, muitas vezes, um valor de média móvel simples. K Smoothing Constant 2 (1 n) E esta fórmula é seguida por um exemplo que eu estendi um pouco, usando esta tabela: Os registros do produto A Combine o exemplo no link. Eu compus os números do produto B. Aqui está a consulta da cláusula do modelo que implementa a fórmula. Observe como a fórmula se traduz diretamente na única e única regra da cláusula do modelo. A constante de suavização K está configurada Para .5, com base em uma janela de valores (n) igual a 3. Desafio: tente isso sem a cláusula do modelo e veja se você pode encontrar algo mais abrangente. 5 comentários: 11.2 recursos em uso com isso como (selecione o produto 39A39 . Data 392009-01-0139 mês, 10 quantidade de união dupla, todos selecionados 39A39, data 392009-02-0139, 15 de dupla união, todos selecionam 39A39, data 392009-03-0139, 17 de união dupla, todos selecionam 39A39, data 392009-04-0139, 20 de união dupla Todos selecionam 39A39, data 392009-05-0139, 22 de dupla união, todos selecionam 39A39, data 392009-06-0139, 20 de dupla união, selecione tudo 39A39, data 392009-07-0139, 25 de dupla união, selecione tudo 39A39, data 392009-08-0139, 27 de dupla união, todos selecionam 39A39, data 392009-09-0139, 30 de união dupla, todos selecionados 39A39, data 392009-10-0139, 35 de união dupla, todos selecionados 39A39, data 392009-11-0139 , 37 de dupla união, todos selecionam 39A39, data 392009-12-0139, 40 de dupla união, todos selecionam 39B39, data 392009-01-0139, 0 de dupla união, todos selecionam 39B39, data 392009-02-0139, 50 de dupla união Todos selecionam 39B39, data 392009-03-0139, 10 da união dupla, selecione 39B39, data 392009-04-0139, 40 da união dupla, selecione 39B39, data 392009-05-0139, 15 da dupla união, selecione tudo 39B39, data 392009-06-0139, 35 de União dupla, todos selecionam 39B39, data 392009-07-0139, 30 de dupla união, todos selecionam 39B39, data 392009-08-0139, 30, de dupla união, todos selecionam 39B39, data 392009-09-0139, 20, de dupla união, todos os selecionados 39B39 , Data 392009-10-0139, 20 da união dupla, selecione 39B39, data 392009-11-0139, 20 da união dupla, selecione 39B39, data 392009-12-0139, 20 a partir de dual), rns como (selecione isso. . Rownumber () over (partição por produto ordem por mês) rn -. 2 (1count () over (partição por produto)) k. 0,5 k do dat), res (produto, mês, quantidade, rn, x) como (selecione r. product, r. month, r. amount, r. rn, r. mount x de rns r onde rn 1 union seleciona todos Ns. prodt, ns. month, ns. amount, ns. rn, ns. k (ns. amount - es. x) es. xx de rns ns, res es onde ns. rn es. rn 1 e ns. product es. produto) selecione o produto, o mês, o montante, o rn, a rodada (x, 3) EMA a partir do pedido de res por produto, mês após a computação do formulário fechado, criei o seguinte código que, se mais como uma ofuscação do que qualquer coisa abrangente. A idéia é criar múltiplos em execução usando uma concatenação de string e a funcionalidade xml-eval. As formas fechadas dos casos especiais apenas precisam de somas em execução. Há um caso geral e dois casos especiais que são muito mais fáceis: com t1 como (selecionar produto, mês, quantidade, quantidade ci, rownumber () over (partição por ordem do produto por mês) rn, --2 (1 rownumber () over (Partição por ordem de produto por mês)) ki 0,5 ki de vendas), t2 como (selecione produto, mês, quantidade, (caso quando rn 1 e 1 mais ki end ci) ai, caso quando rn 1 e mais 1 (1 - Ki) fim bi de t1), t3 como (SELECIONE o produto, MONTH, amount, ai, xmlquery (REPLACE (wmconcat (bi) over (PARTITION BY product ORDER BY MONTH filas ENTRE INCLUÍDO precedente AND ACTUAL), 39,39, 3939 ) VOLTANDO o conteúdo).getnumberval () mi FROM t2), t4 as (selecione o produto, o mês, o montante, o mi) xi do t3) SELECIONE o produto, MONTH, amount, round (mi SUM (xi) over (PARTITION POR produto ORDER BY MONTH filas ENTRE INCLINADO ANTERIOR E LIGAÇÃO ATUAL), 3) ema DE t4 Caso especial K 0,5: com t1 como (selecionar produto, mês, quantidade, rownumber () sobre (partição por ordem de produto por mês) rn, quantidade Poder (2, nvl (nullif (r (Partição por produto ordem por mês) - 1, 0), 1)) ci de vendas) selecione produto, mês, quantidade, rodada (soma (ci) sobre (partição por ordem do produto por mês linhas entre ilimitado anterior E linha atual) potência (2, rn), 3) ema de t1 Caso especial K 2 (1 i): com t1 como (selecionar produto, mês, quantidade, rownumber () sobre (partição por produto ordem por mês) rn, Quantidade de rownumber () por cima (partição por ordem de produto por mês) ci de vendas) selecione produto, mês, quantidade, rodada (soma (ci) sobre (partição por ordem de produto por mês linhas entre linha não limitada precedente e atual) 2 (rn ( Rn 1)), 3) ema de t1 I39ll publicar a prova do formulário fechado se alguém estiver interessado nela. Este é um ótimo exemplo de quotfun com SQLquot :-) Uma combinação de XMLQuery, wmconcat indocumentado e funções analíticas com a cláusula de janela. Eu gosto disso. Embora não seja tão abrangente como a variante da cláusula modelo e os Rafu39s recursivos com um, como você disse a si mesmo. E com certeza, gostaria de ver a prova da forma fechada. Abordei outra questão: como otimizar a constante de suavização SELECT k - constante de suavização. Mse - erro quadrado médio FROM (SELECIONE DE VENDAS MODELO DIMENSÃO POR (produto. ROWNUMBER () OVER (PARTITION BY product ORDER BY month ASC) rn) MEDIDAS (montante - valor das vendas mês - mês. 0 AS C. 0 AS P. 0 AS X. 0 AS SE - erro ao quadrado - - linha de trabalho e atributos - a) linha de trabalho é o produto 39X39, rn 1 - b) os atributos de trabalho são os seguintes:. 0 AS SSE - sum SE para todos os meses de produtos. 0 AS MSE - significa SSE para todos os produtos. 0 AS k - para todos os meses de produtos. 0 AS PreMSE - MSE anterior de k39s para todos os meses de produtos. 0 AS diff - entre MSE atual e anterior. 0,1 AS delta - incremento inicial. 0 AS priorpt - ponto de partida inicial -) REGRAS ITERATE (99) ATÉ (abs (diff39A39,1) lt 0.00010) (Cany, rn amountcv (), cv (). K39A39,1 priorpt39A39,1 delta39A39,1. Xany Rn ORDEM POR produto, rn ASC COALESCE (K39A39,1 Ccv (), cv () (1-K39A39,1) Xcv (), cv () - 1, Ccv (), cv ()). Pproduct, rn Xcv (), Cv () - 1. SEproduct, rn POWER (Ccv (), cv () - Xcv (), cv () - 1, 2). SSE39A39,1 SUM (SE) qualquer, qualquer. MSE39A39,1 SUM (SE) qualquer, qualquer 24. Diff39A39,1 CASE iterationnumber QUANDO 0 então NULL ELSE preMSE39A39,1 - MSE39A39,1 END. PreMSE39A39,1 MSE39A39,1. Delta39A39,1 CASO QUANDO diff39A39,1 lt 0 então - abs (delta39A39, 12) ELSE abs (delta39A39,1) END. Priorpt39A39,1 K39A39,1)) onde o produto 39A39 e rn 1 K MSE ---------- ---------- .599999237 174.016094 Olá, Versão do Banco de Dados: Oracle 11g Tenho um cubo com 4 dimensões - 1 Dimensão de Tempo e 3 Dimensões do Usuário, nomeadamente Canal, Modo e Tipo. Quero encontrar a média das vendas durante um período de 3 meses com base em diferentes canais, modos e tipos. Por exemplo. Eu quero encontrar as vendas médias feitas pelo canal A AND Mode B e Type C entre 1-JAN-2008 e 31-MAR-2008. Como posso encontrar isso. Usando as visualizações criadas pelo AWM ao criar o cubo, posso obter as vendas cummulativas para essas dimensões, mas não média. Tentei usar medidas calculadas, mas sempre que eu selecionar o canal, o modo e o tipo necessários, o canal, o modo e o tipo selecionados Não é adicionado na expressão criada. E novamente, eu obtenho o valor cummulativo independentemente de Canal, Modo e Tipo. Por favor, ajude-me a encontrar uma solução para isso. Ou pelo menos uma consulta para encontrar a média. . : 20 Existe uma função MÉDIA em OLAP DML. Se você criar uma medida personalizada, você pode atribuir uma função OLML DML, como AVERAGEM, e retornar os dados através da Vista SQL. Consulte o Manual OLAP DML, há um link na OLAP OTN Home Page e isso explicará como usar a função MÉDIA. Keith Laker Oracle EMEA Consulting OLAP Blog: oracleOLAP. blogspot OLAP Wiki: wiki. oraclepageOracleOLAPOption DM Blog: oracledmt. blogspot OWB Blog. Blogs. oraclewarehousebuilder OWB Wiki. Wiki. oraclepageOracleWarehouseBuilder DW em OTN. Oracletechnologyproductsbidb11gindex. html Como faço isso. Que opção devo selecionar para criar esta função em uma medida calculada. Pode me explicar as etapas para fazê-lo .. Referi o Manual DML sobre a Função Média. E encontrou uma consulta de amostra, produto LIMIT A RELATÓRIO SPORTSWEAR W 14 RÁDIO Vendas médias MÉDIA (distrito de vendas) Quando eu executo essa consulta no esquema GLOBAL, recebo um erro dizendo ORA-33852: você forneceu uma entrada extra a partir do RELATÓRIO. Estou realmente preso neste ... Eu tenho google máximo, mas não encontrando nenhuma solução ... Por favor, ajude-me. Verifiquei isso hoje e o cálculo da Média Mover é um modelo suportado em 11g. Dentro do seu cubo existente, deve haver um nó que diga a Medida Calculada. Se você clicar com o botão direito nesse nó permitirá criar uma nova medida usando um modelo de cálculo. Há um menu suspenso Escolha um Tipo de Cálculo e na categoria de Agregados em Movimento existe a opção de criar uma média móvel. Neste caso, você provavelmente deseja usar uma média móvel de 3 meses. O modelo irá guiá-lo para fornecer as entradas para os parâmetros, como a medida de origem. A medida resultante terá a mesma dimensionalidade que a medida de origem. Keith Laker Oracle EMEA Consulting OLAP Blog: oracleOLAP. blogspot OLAP Wiki: wiki. oraclepageOracleOLAPOption DM Blog: oracledmt. blogspot OWB Blog. Blogs. oraclewarehousebuilder OWB Wiki. Wiki. oraclepageOracleWarehouseBuilder DW em OTN. Oracletechnologyproductsbidb11gindex. html Eu tentei com isso e consegui obter a média móvel de 3 meses, mas eu preciso de média de 6 meses. Você pode me explicar como posso obter uma média de 6 meses. Esta é a expressão gerada para a média móvel. AVG (DEMOCUBE. AMT) SOBRE A HIERARQUIA (TIME. TIMEHIER ENTRE 1 PRECEDING E 1 SIGUIENTE NO NÍVEL) O que os valores sublinhados 1 se referem ... Quando eu clicar em 1. Isso me dá opção para alterar o valor .. Qual valor eu deveria mudar para obter a média móvel de 6 meses. Por favor me ajude. Desculpe, esqueci de mencionar a dimensão do tempo. Minha dimensão de tempo é assim, TotalTime - gtYear - gtQuarter - gtMonth - gtDay Então, o que eu deveria selecionar no nível também para obter a média móvel de seis meses. Esperando a resposta ... Por favor, faça ajuda. Tentando criar esse tipo de cálculo deve ser rápido e simples, em vez disso, com 11g, parece que criamos um completo pesadelo total. A documentação na ajuda é pouco utilizada para tentar entender o que você deveria fazer. De qualquer forma, depois de muita experiência com o Excel e o AWM, finalmente consegui chegar à resposta. Para criar uma média móvel de 6 meses para uma medida, no meu caso VENDAS, a equação parece assim: AVG (UNITSCUBE. SALES) SOBRE A HIERARQUIA (TIME. CALENDAR ENTRE 5 MEMBROS ANTERIORES E ACTUAIS NO NÍVEL) Para você, as entradas em azul Ser (da esquerda para a direita) Nome do cubo - no meu caso é o nome da hierarquia de vendas - que no meu caso é TIME. CALENDAR Inclua X precedente - neste caso 5 (porque você deseja retroceder 5 períodos do período atual. Você inclui o período atual, isso equivale a seus seis meses para a média) e X seguindo - neste 0 que se traduz em MEMBRO ATUAL na equação acima. Como queremos apenas voltar 6 meses e não incluir quaisquer períodos futuros, essa entrada passa a ser 0. Dentro do Nível - Isso também é bastante poderoso e bastante confuso. Para essa expressão simples, podemos simplesmente definir o valor como Nível. Mas isso irá calcular uma média móvel de 6 períodos em todos os níveis. No quarto, você receberá uma média dos últimos 6 trimestres e no nível do ano uma média dos últimos 6 anos. Infelizmente, não consigo ver como calcular as vendas médias apenas no nível do mês. Se você usar qualquer uma das outras configurações para o último parâmetro, a informação que retorna não é conforme o esperado e a ajuda não é muito clara sobre essas várias configurações de nível. Mas a equação acima parece funcionar, apenas lhe dá um pouco mais de dados do que você provavelmente precisa. Espero que isso ajude Keith Laker Oracle EMEA Consulting OLAP Blog: oracleOLAP. blogspot OLAP Wiki: wiki. oraclepageOracleOLAPOption DM Blog: oracledmt. blogspot OWB Blog. Blogs. oraclewarehousebuilder OWB Wiki. Wiki. oraclepageOracleWarehouseBuilder DW em OTN. Oracletechnologyproductsbidb11gindex. html Obrigado Sr. Laker ..Ur entradas foram uma grande ajuda para mim na resolução do problema .. Eu sou iniciante no Oracle OLAP. Eu enfrentei alguns problemas ao criar View for the Cube no Oracle 10g, então eu mudei para o Oracle 11g onde as visualizações são criadas automaticamente à medida que as Dimensões ou Cubos são criados. Mas não encontrei muitos exemplos para criar medidas calculadas e também o arquivo de ajuda para Oracle OLAP 11g não foi elaborado ... Então eu encontrei dificuldade em criar a medida calculada ... O que você sugere qual das versões Oracle é mais estável e tem Mais eficiência .. Existem 5149 linhas na tabela de fato. Mas leva muito tempo para retornar os resultados da consulta. Estou consultando as visualizações para obter os resultados do cubo. Por que é tão lento. E eu preciso indexar as tabelas para que as consultas sejam executadas mais rapidamente. Eu olharia o Oracle OLAP Blog onde publiquei uma série de workshops sobre como criar um modelo de dados OLAP. Isso cobre os principais recursos que podem ser usados ​​para otimizar o processo de carregamento e agregação de dados. Workshop OLAP 1. Conceitos básicos do OLAP Workshop OLAP 2. Compreendendo o OLAP Workshop da tecnologia OLAP 3. Construindo um espaço de trabalho analítico Oficina OLAP 4. Gerenciando diferentes tipos de hierarquias Oficina OLAP 5. Construindo cubos Workshop OLAP 6. Projeto avançado de cubo Oficina OLAP 7. Criando calculado Mede o Workshop OLAP 8. Criando um Cubo de Medição Calculada - IOGALFF Isso deve ajudá-lo a resolver os problemas que você está tendo em relação ao desempenho da consulta lenta. Keith Laker Oracle EMEA Consulting OLAP Blog: oracleOLAP. blogspot OLAP Wiki: wiki. oraclepageOracleOLAPOption DM Blog: oracledmt. blogspot OWB Blog. Blogs. oraclewarehousebuilder OWB Wiki. Wiki. oraclepageOracleWarehouseBuilder DW em OTN. Oracletechnologyproductsbidb11gindex. html Vi seu último comentário postado no OLAP Blog. Não publiquei seus comentários porque a questão é muito técnica e específica para sua aplicação. Você poderia publicá-lo no fórum para que o resto da comunidade OLAP possa ajudar a encontrar uma solução. Acho que conheço a resposta, então, depois de postar os detalhes no fórum, tentarei dar uma resposta. Keith Laker Oracle EMEA Consulting OLAP Blog: oracleOLAP. blogspot OLAP Wiki: wiki. oraclepageOracleOLAPOption DM Blog: oracledmt. blogspot OWB Blog. Blogs. oraclewarehousebuilder OWB Wiki. Wiki. oraclepageOracleWarehouseBuilder DW em OTN. Oracletechnologyproductsbidb11gindex. html Eu estava lendo o post criando uma medida calculada em 11g, então eu postei o meu problema lá. De qualquer forma, eu estou postando aqui novamente .. Obrigado pela explicação de criar medida calculada no Oracle 11g. Estou enfrentando um problema ao encontrar a média. Eu criei uma medida calculada para encontrar a média da proporção de VENDAS do Produto A para Vendas do Produto B ao longo de um período de seis meses. Eu usei a opção do tipo de cálculo de média móvel. O problema que enfrento é se não houver vendas de nenhum dos produtos em um mês, então o índice será nulo e a média é calculada durante o período dos meses restantes, onde obtemos proporção. Por exemplo, as vendas do Produto A em seis meses são as seguintes, janeiro - 50 fev - 67 março - 0 abr - 13 maio - 24 junho - 0 As vendas do Produto B em seis meses são as seguintes, janeiro a 15 de fevereiro - 10 Mar - 25 Abr - 50 Maio - 18 Jun - 7 Então agora a proporção de Vendas do Produto A para o Produto B será Jan - 3.333333333 Fev - 6.7 Mar - 0 Abr - 0.26 Maio - 1.333333333 Jun - 0 E a proporção média Ao longo do período de 6 meses será, 1,937777778, que é o resultado esperado, mas eu estou recebendo como 2.906666667, que é a média excluindo os índices zero. Como posso escrever a expressão para incluir os zero. O que estou fazendo é, primeiro estou criando uma medida calculada para encontrar a proporção. E então eu estou criando outra medida calculada para encontrar a média sobre os índices. RatioofAtoB: CUBEFORDEMO. SALESPRODUCTTYPE PRODUCTTYPE2 CUBEFORDEMO. SALESPRODUCTTYPE PRODUCTTYPE3 AvgRatioofAToB: AVG (CUBEFORDEMO. RatioofAtoB) SOBRE A HIERARQUIA (TEMPO. TIMEHIER ENTRE 5 MEMBROS ANTERIORES E ATUALES NO NÍVEL) É certo o que estou fazendo. Pode ajudar-me a encontrar solução por esta. E também um problema mais é, se eu quiser encontrar a proporção de vendas do Produto A novamente em todos os outros produtos, a expressão que eu quero usar é RatioofAtoOthers: CUBEFORDEMO. SALESPRODUCTTYPE PRODUCTTYPE2 CUBEFORDEMO. SALESPRODUCTTYPE PRODUCTTYPE2 Mas eu não sou capaz de criar a expressão, Não está permitindo ou não ltgt na expressão por não igual. Agora eu estou tendo apenas três membros na dimensão do produto, então estou calculando a relação como RatioofAtoOthers: (CUBEFORDEMO. SALESPRODUCTTYPE PRODUCTTYPE2) (CUBEFORDEMO. SALESPRODUCTTYPE PRODUCTTYPE3 CUBEFORDEMO. SALESPRODUCTTYPE PRODUCTTYPE4) .. Mas, no futuro, se eu aumentar o número de membros em Dimensão do produto, então eu tenho que continuar mudando a expressão. Assim como eu posso formar a expressão para evitar a alteração da expressão.

No comments:

Post a Comment