Thursday 10 August 2017

Movendo A Média Em Cognos


Média móvel Um termo de análise técnica que significa o preço médio de um título ao longo de um período de tempo especificado (sendo o mais comum 20, 30, 50, 100 e 200 dias) utilizado para detectar as tendências de preços ao nivelar grandes flutuações. Esta é talvez a variável mais comumente utilizada na análise técnica. Movendo dados médios é usado para criar gráficos que mostram se o preço de um estoque está tendendo para cima ou para baixo. Eles podem ser usados ​​para rastrear padrões diários, semanais ou mensais. Cada novos dias (ou semanas ou meses) números são adicionados à média e os números mais antigos são deixados cair assim, a média se move ao longo do tempo. Em geral. Quanto mais curto o período de tempo usado, mais voláteis os preços aparecerão, assim, por exemplo, 20 dias linhas de média móvel tendem a mover para cima e para baixo mais de 200 linhas de média móvel dia. Kijun linha linha mediana de gatilho índice de canal de mercadoria deslocado média móvel média dourada média exponencial de movimento duplo (DEMA) Índice de força verdadeira de McClellan Índice de verdade verdadeiro Keltner Copyright copy 2016 WebFinance, Inc. Todos os direitos reservados. A duplicação não autorizada, no todo ou em parte, é estritamente proibida. Retorna um valor calculado usando a função de agregação apropriada, com base no tipo de agregação da expressão. Sintaxe: agregado (expr auto) agregado (expr para todos os expr) agregado (expr para relatório) Contagem: Retorna o número de itens de dados selecionados excluindo valores NULL. A palavra-chave distinct está disponível para compatibilidade com versões anteriores das expressões usadas em versões anteriores do produto. Sintaxe: count (distinto expr auto) count (distinto expr para todos os expr) count (distinto expr para o relatório) Exemplo: count (gosalesgoretailers. Products. Product name) - (o / p: 41, 15, 21) Tipo de linha de produto) ------------ (o / p: 5, 4, 4) Contagem (tipo de produto para qualquer linha de produto) ----------- ( O / p: 5, 4, 4) Contagem (Tipo de produto para Relatório) ------------------- (o / p: 21 para todos) Máximo: Retorna o máximo Valores dos itens de dados selecionados. A palavra-chave distinct está disponível para compatibilidade com versões anteriores das expressões usadas em versões anteriores do produto. Sintaxe: máximo (distinto expr auto) máximo (distinto expr para todos os expr) máximo (distinto expr para o relatório) Exemplo: máximo (Quantidade) -------------------- ------------ (o / p: 962) máximo (Quantidade para todos gosalesgoretailers. Products. Product tipo) (o / p: 344,4368230) Máximo (Quantidade para qualquer gosalesgoretailers. Products. Product (O / p: 44,78,8230.) Máximo (Quantidade para relatório) ------------------- (o / p: 1,646) Mínimo: Retorna o Mínimo dos itens de dados selecionados. A palavra-chave distinct está disponível para compatibilidade com versões anteriores das expressões usadas em versões anteriores do produto. Sintaxe: mínimo (distinto expr auto) mínimo (distinto expr para todos os expr) mínimo (distinto expr para o relatório) Exemplo: mínimo (Quantidade) -------------- (o / p: 43.330 , 142,150) Mínimo (Quantidade para todos tipo de produto) ---- (o / p: 6, 4, 4, 8230.) Mínimo (Quantidade para qualquer tipo de produto) Mínimo (Quantidade para relatório) ----------------- (o / p: 2) Moving-Average: Retorna o valor adicionando os valores ao anterior com base no numericexp. Sintaxe: média móvel (numericexpr. Numicexpr no prefiltro de exp) média móvel (numericexpr. Numericexpr prefilter distinto). Para expr para auto de relatório Exemplo: média móvel (Quantidade, 2) (o / p: Quantidade Média móvel 198,676 198,676 345,096 271,886 95,552 220,324 96,246 95,889 Movendo-Total: Retorna o valor adicionando os valores ao anterior com base no numericexp Sintaxe: total móvel (numericexpr. Numericexpr no prefiltro exp) total movente (prefixo distinto numericexpr. Numericexpr) para expr para auto de relatório Exemplo: total móvel (Quantidade, 3) Saída: Quantidade Média móvel 198,676 198,676 345,096 543,772 95,552 639,324 96,246 536,894 Porcentagem: Retorna a porcentagem do valor total para os itens de dados selecionados Somente usado em fontes de dados relacionais Sintaxe: porcentagem (numericexpr em prefiltro de exp) porcentagem (prefixo distinto de numericexpr). Para expr para auto de relatório Exemplo: porcentagem (Quantidade) - (o / p: 16, 12, 10.) Percentil: Devolve um valor, numa escala de cem, que indica a percentagem de uma distribuição que é igual ou inferior aos itens de dados seleccionados. Sintaxe: percentil (numericexpr no prefilter do exp) percentile (prefilter distinto do numericexpr). Para expr para auto de relatório Exemplo: percentil (Quantidade) -------- (o / p: 100, 95, 90) Quantile: Retorna a classificação de um valor para um intervalo especificado. Ele retorna números inteiros para representar qualquer intervalo de classificações, como 1 (maior) a 100 (menor). Sintaxe: quantile (numericexpr, numericexpr no prefilter de exp) quantile (numericexpr distinto, prefiltro numericexpr). Para expr para relatório auto Exemplo: Quantile (Quantidade, 5) --- (o / p: 1, 2, 3, 4, 5) Quartil: Retorna a classificação de um valor, representado como inteiros de 1 (maior) a 4 (Menor), em relação a um grupo de valores. Sintaxe: quartil (numericexpr no prefilter de exp) quartil (prefiltro numericexpr distinto). For expr for report auto Exemplo: quartile (Quantidade) ---------- (o / p: 1, 2, 3, 4) Retorna o valor de classificação dos itens de dados selecionados. Se duas ou mais linhas amarrem, então há uma lacuna na seqüência de valores classificados (também conhecida como classificação olímpica). Sintaxe: rank (expr sortorder no prefilter exp) rank (distinto expr sortorder prefilter). Para expr para auto de relatório Exemplo: rank Quantidade) ----------------- (o / p: 1, 2, 3, 4, 8230 ..) Retorna a média de execução por linha (Incluindo a linha atual) para um conjunto de valores Sintaxe: running-average (numericexpr no prefilter exp) running-average (prefixter numericexpr distinto). Para expr para auto de relatório Exemplo: quantidade média em execução ------------ (o / p: Quantidade Média móvel 198,676 198,676 345,096 271,886 95,552 213,108 96,246 183,892 Contagem de execução: Retorna a contagem de execução por linha (Incluindo a linha atual) para um conjunto de valores Sintaxe: running-count (numericexpr no prefilter de exp) count-running (prefilter numericexpr distinto) - (o / p: 1, 2, 3, 8230) Retorna uma diferença de execução por linha, calculada como a diferença entre o valor para a linha atual e a linha anterior (incluindo a linha atual) para um conjunto de valores. Sintaxe: running-difference (numericexpr no prefilter de exp) corrida-diferença (prefixo distinto do numericexpr). Para expr para o auto do relatório Exemplo: running-difference (Quantidade) - (o / p: null, 146420, -249,544, 8230 ..) ) Retorna o máximo de execução por linha (incluindo a linha atual) para um conjunto de valores. Sintaxe: running-maximum (numericexpr no prefilter exp) running-maximum (prefixter numericexpr distinto). Para expr para auto de relatório Exemplo: running-maximum (Quantidade) --------- (o / p: 198676, 345096) Retorna o mínimo de execução por linha (incluindo a linha atual) para um conjunto de valores. Sintaxe: running-minimum (numericexpr no prefilter de exp) running-minimum (prefixter numericexpr distinto). Para expr para auto de relatório Exemplo: running-minimum (Quantidade) --------- (o / p: 198676, 198676, 95552,) Retorna um total de execução por linha (incluindo a linha atual) para um conjunto de Valores. Sintaxe: running-total (numericexpr no prefilter de exp) running-total (prefixter numericexpr distinto). Para expr para auto de relatório Exemplo: running-total (Quantidade) ----------- (o / p: 198676, 5437728230.) Retorna o desvio padrão dos itens de dados selecionados. A palavra-chave distinct está disponível para compatibilidade com versões anteriores das expressões usadas em versões anteriores do produto. Sintaxe: desvio padrão (distinto expr auto) desvio-padrão (distinto expr para todos os expr) desvio-padrão (distinto expr para o relatório) Exemplo: desvio padrão (Quantidade) ------ (o / p: 50.628 , 69.098 8230) desvio-padrão (Quantidade para todos Tipo de produto) -------- (o / p: 50.628, 69.098, 8230) desvio-padrão O / p: 50.628, 69.098 8230) desvio padrão (Quantidade para relatório) Relatório: Desvio padrão Padrão - Desvio pop: Calcula o desvio padrão da população e retorna a raiz quadrada da variância da população. A palavra-chave distinct está disponível para compatibilidade com versões anteriores das expressões usadas em versões anteriores do produto. Sintaxe: padrão-desvio-pop (distinto expr auto) padrão-desvio-pop (distinto expr para todos os expr) padrão-desvio-pop (distinto expr para o relatório) Exemplo: padrão-desvio-pop (O / p: 50.62240898, 69.09035128) standard-desvio-pop (Quantidade para qualquer tipo de produto) (o / p: 50.62240898, 69.09035128) : 50.62240898, 69.09035128) padrão-desvio-pop (Quantidade de relatório) --- (o / p: 59.70601702,) Total: Retorna o valor total dos itens de dados selecionados. A palavra-chave distinct está disponível para compatibilidade com versões anteriores das expressões usadas em versões anteriores do produto. Sintaxe: total (distinto expr auto) total (distinto expr para todos os expr) total (distinto expr para o relatório) Exemplo: total (Quantidade) --------------- (o / p: 198,676, 345,096) Total (Quantidade para todos os tipos de produtos) ------ (o / p: 198,676, 345,096) Total (Quantidade para relatório) --------------- (o / p: 2215354) Relatório: Variação Total: Retorna a variação de itens de dados selecionados. A palavra-chave distinct está disponível para compatibilidade com versões anteriores das expressões usadas em versões anteriores do produto. Variância (distinta expr auto) variância (distinta expr para todos os expr) variância (distinta expr para o relatório) Exemplo: variância (Quantidade) ----- (o / p: 2563.244, 4774.5438230) Variância (quantidade para qualquer tipo de produto) ------- (o / p: 2563.244, 4774.5438230) --------------------- (o / p: 3,564.89125097) Retorna a variância populacional de um conjunto de números após descartar os nulos neste conjunto. Variância-pop (expr distinto) variance-pop (expr distinto para todos os expr) variance-pop (expr distinto para o relatório) Exemplo: variance-pop (Quantidade) ------- (o / p: 2.562.6282905, 4,773.47663957) variance-pop (Quantidade para todos os tipos de produto) ------- (o / p: 2.562.6282905, 4,773.47663957) ------ (o / p: 3,564.80846781) Postado por Ramana Reddy CH em 22: 44Moving-Média que exclui registros específicos - (o / p: 2.562.6282905, 4,773.47663957) Moving-Average que exclui registros específicos. Software: Cognos BI 8211 Report Studio, Banco de Dados Relacional, v10.0 Objeto: Mover-Média de vendas por 2 semanas atrás, considerando apenas produtos que tenham pelo menos 4 semanas de venda. Data Sample: Tipo de Produto Tipo de Produto Semanas à venda Vendas Material de escritório Almofada de papel 1 10 Material de escritório Almofada de papel 2 4 Material de escritório Almofada de papel 3 5 Material de escritório Almofada de papel 4 2 Material de escritório Almofada de papel 5 1 Material de escritório Canetas 1 1 Material de escritório Canetas 2 2 Material de escritório Canetas 3 2 Material de escritório Canetas 4 3 Material de escritório Lápis 1 2 Material de escritório Lápis 2 1 Material de escritório Lápis 3 1 Material de escritório Borrachas 1 1 Material de escritório Borrachas 2 2 Exemplo: Material de escritório 8211 Borrachas 8211 Weeks on A venda 2, deve a média o seguinte: Penas 8211 semanas em venda 2 8211 vendas 2 almofada de papel 8211 semanas em venda 2 8211 vendas 4 lápis não considerado porque tem somente 3 semanas na venda. Este é apenas um exemplo simples e não é dados reais. Não significa dumb down o exemplo, mas parece confuso para mim. Não consigo fazer com que o Cognos trabalhe comigo. Isso é o que eu tenho até agora: média móvel (vendas, 2 para semanas em venda) Existe uma maneira óbvia / fácil para excluir de médias onde tipo de produto não tem pelo menos 4 semanas em SaleRunning-total em um cubo October 27, 2010 O conceito de um total de corrida é conceito relacional. Uma vez que uma tabela relacional pode ser visualizada em apenas duas dimensões é muito fácil de entender e visualizar agregados em execução e em movimento. Uma fonte de dados multidimensional, por outro lado, é mais complexa. Você pode querer o agregado em execução em uma dimensão, mas não em outro. Ao tentar usar as funções de agregação em execução em um cubo, não é possível garantir resultados consistentes, os drilldowns podem se comportar inesperadamente eo tempo de processamento inteiro é aumentado, pois o conjunto de resultados deve ser processado localmente. Felizmente os agregados em execução e em movimento podem ser manipulados com funções puramente dimensionais. Considere a seguinte solicitação. Um gráfico de linha que mostra o total de vendas corrente para os anos atual e anterior. O eixo ordinal mostra todos os meses do ano corrente. Para iniciar criar um novo relatório de gráfico de linha. Crie um Cálculo de Consulta na área Categoria com a seguinte expressão (substituindo por valores corretos do seu próprio cubo): Isso retornará os descendentes do mês de 2010 (veja um post anterior sobre uma maneira melhor de encontrar o ano atual). Crie uma expressão de consulta na série com a seguinte expressão: total (Cube. Measures. Sales within set periodsToDate (Cube. Date. Date. Year, currentMember (Cube. Date. Date))) Executar o relatório. Se tudo correr bem você deve ver a linha crescendo como esperado. É importante entender o mecanismo. A expressão na série é processada para cada item no eixo ordinal. A função currentMember levará o membro that8217s sendo avaliado. Até agora 1 de janeiro a expressão apareceria como: total (Cube. Measures. Sales dentro de set periodsToDate (Cube. Date. Date. Year, Cube. Date. Date. Month-gt: PC. MEMBER.20100101-20100131)) Quando ele Obtém para a categoria outubro ele aparecerá como: total (Cube. Measures. Sales dentro de periodos definidosToDate (Cube. Date. Date. Year, Cube. Date. Date. Month-gt: PC. MEMBER.20101001-20101031)) O periodToDate Irá pegar o membro e criar um conjunto de membros começando com o primeiro membro no nível especificado para o membro que está sendo avaliado. Outubro / 2010 iria retornar o conjunto. Janeiro / 2010, Fevereiro / 2010, Março / 2010, Abril / 2010, Maio / 2010, Junho / 2010, Julho / 2010, Agosto / 2010, Setembro / 2010, Outubro / 2010. A próxima demanda é ver o total de corrida para o ano anterior. Em um banco de dados relacional, você pode fazer isso com uma associação externa. Aqui é apenas uma extensão lógica da mesma expressão. Total (Cube. Measures. Actual dentro de setsToDate (Cube. Date. Date. Year, parallelPeriod (Cube. Date. Date. Year, 1, currentMember (Cube. Date. Date)))) Esta é essencialmente a mesma expressão, com A função parallelPeriod que envolve o currentMember. O mesmo conceito pode ser usado para mover totais. Em vez da função periodsToDate, você usaria lastPeriods (). Total (Cube. Measures. Sales dentro de set lastPeriods (5, currentMember (Cube. Date. Date))) Isso sempre criará um total para um conjunto de 5 membros terminando com o membro sendo avaliado. Aqui é um pequeno desafio. Sabendo disso, como você faz um total de corrida em reverso Compartilhe isso: Relacionado 57 Responses to 8220Running-total em um cube8221 obrigado pelas explicações claras e precisas. Meu desafio é calcular uma variância de mês a mês usando uma fonte OLAP (cubo Powerplay). Eu tenho uma crosstab com colunas meses, linhas são 3 medidas (este ano real, este ano orçamento, ano passado real) I8217d gostaria de adicionar uma medida 4 que mostra (para todos os meses YTD) a alteração em 8216Actuals8217 desde o mês anterior Ou seja, crescimento de 20 em agosto de 2010 (variação entre julho e agosto) 5 crescimento em setembro de 2010, 5 queda em outubro de 2010) etc Julho Agosto Set Out Actual 100 120 126 119,7 Mês Chg 20 5 -5 ltltltlt esta é a linha que eu preciso Para adicionar orçamento 15 16 17 18 I039m um pouco novo para MDX 8211 sido dabbling com tuplas, períodos paralelos, prevMember etc 8211 nenhum me dando o que eu preciso) (Eu tenho alguma flexibilidade no projeto de cubo, se necessário 8211, mas estou lidando com muito grande Volumes de dados) Realmente apreciaria qualquer conselho. Thx, Gill O que você está descrevendo é um movimento total (bem, uma mudança de movimento eu acho). Isso é realmente muito mais fácil de realizar do que o total de execução que descrevi. You8217ll precisa usar um cálculo que irá encontrar o 1 8211 (medida / mês anterior Medida). Para encontrar a medida de mês anterior você precisa fazer uma tupla na Medida e o prevMember () do mês na coluna. A função mágica que você está procurando é currentMember (). CurrentMember retornará o membro da hierarquia especificada que está sobre a interseção atual. 1 8211 (Measure / tuple (currentMember (Cube. Dim. Time), Measure)) deve ser o que você está procurando. HI Paul 8211 Grande explicação. Eu sou capaz de fazer contagem de execução usando sua sugestão. Eu queria saber se há alguma maneira de implementar execução contagem em uma dimensão onde o nível foi suprimido no cubo. Hierarquia de Dimensão Todos os membros Membro1 Membro1.1 Membro1.2 Membro2 Membro2.1 Membro2.1.1 Membro2.1.2 Membro2.2 Membro3 Diga que eu selecionei Membro 1.1, Membro2.1.1, Membro2.2, Membro3 na página de solicitação. Gostaria de fazer uma contagem de execução sobre o membro. Isto é possível? Member1.1 8211 1 Member2.1.1 8211 2 Member3 8211 3 That8217s um problema I8217ve revisitado várias vezes, mas eu can8217t pensar em qualquer maneira de conseguir que o trabalho. Para o melhor de meu conhecimento não há função MDX que irá retornar o índice de um membro específico em um conjunto (o inverso do item ()). O método que eu postei depende de membros contíguos em um único nível. Você pode ser capaz de trapacear com um uso inteligente das funções de relatório. Por exemplo, você pode usar o rowNumber () para imitar a contagem de execução, e you8217ll ser capaz de usar expressões de relatório para quaisquer cálculos que você precisa: rowNumber () / Query1.Measure. Não o melhor trabalho, mas o único que posso pensar. Oi Paul 8211 Obrigado pela resposta rápida. Estou no meio de jogar com uma combinação de número de nível e último período para gerar uma identificação única e classificar a identificação única para me dar a contagem. Dolorosamente cálculos longos e estava esperando sua sugestão em número de linha pode fazer o truque. Embora eu possa inserir um número de linha (através dos objetos inseríveis) em uma lista sem um problema, no entanto, posso fazer referência a ele em um item de dados, pois não é um item de consulta. Você pode eleborate no número da linha. Muito obrigado novamente por sua sugestão de ter também jogado com a idéia de rank. De acordo com a ajuda o tipo de ranking (olímpico, denso, etc) é determinada pelo tipo de cubo utilizado. Rank (1 dentro do conjunto de teste) estava sempre retornando 1, por isso parece que rank powercube é provavelmente usando classificação Densa. Pode ser possível que outros cubos usem diferentes tipos de classificação, mas eu só tenho acesso a powercubes no momento. Quando você insere o número da linha na lista you8217re usando uma expressão de relatório. Como a lista está associada a uma consulta específica, você pode fazer referência a itens de dados dessa consulta dentro da expressão do relatório. Por exemplo let8217s dizer sua lista tem Ano, Nome do Produto, Total de Vendas de Query1. Você pode colocar um cálculo de layout na coluna à esquerda com a seguinte expressão: rowNumber () Query1.Sales Total. Isso multiplicará o Total de Vendas pelo número da linha. Se você está tentando fazer referência à Quantidade de Vendas, que não aparece na lista, você precisa incluí-la nas propriedades da lista (sob as propriedades há uma linha chamada propriedades, isso força o item de dados a ser incluído no SQL, mesmo Se it8217s não uma das colunas da lista). Oi Paul8230Eu estou esperando sua ajuda para a minha consulta anterior e você também poderia me ajudar a encontrar rank quando a coluna não está na crosstab. Eu tenho prompts na página de relatório, Quando eu não estou selecionando qualquer prompts a classificação está funcionando corretamente, mas quando eu selecionar qualquer classificação de prompt não está funcionando .. o prompt de seleção não está presente como linha ou coluna na guia cruzada. Parece que ele está primeiro calculando a classificação e filtragem dos valores com base em valores de prompt. Agradeço sua ajuda. Estou trabalhando em um relatório de crosstab simples usando dados relacionais. Eu sou capaz de calcular o movimento total em ordem crescente, há uma maneira de calcular o movimento total em ordem decrescente Você pode me dar alguma sugestão Você provavelmente está fazendo algo como correr-total (Medida para Atributo). 8211 running-total (Measure for Attribute) Obrigado pela resposta Paul Nos exemplos a seguir, movingtotal (measure, 2 para atributo) Exemplo 1 Os valores estão corretos e se eu quiser obter os mesmos resultados, mesmo se eu classificar as datas coluna em ordem desc o que devo fazer (movingtotal função é simplesmente calcular medida medida valor anterior independentemente da ordem) Exemplo 1: as datas estão em ordem crescente Jan 1a moventetotal Jan 2o movingtotal 3 de Janeiro movingtotal A 10 100 10 20 2010 30 30 3020 50 B 50 500 50 70 7050 120 80 8070 150 C 100 1000 100 150 150100 250 300 300150 450 Exemplo 2: as datas estão em ordem dec 03 de janeiro movingtotal Jan 2o MovendoTotal Jan 1 MovendoTotal A 30 300 30 20 2030 50 10 1020 30 B 80 800 80 70 7080 150 50 5070 120 C 300 3000 300 150 150300 450 100 100150 250 Espero que a minha pergunta é clara agora. Qualquer sugestão seria apreciada It8217s claro, mas muito difícil. Como os totais em movimento são aplicados com base na classificação, você precisa primeiro executar esse cálculo e, em seguida, classificá-lo posteriormente. Crie a consulta, A, que tem o total móvel e, em seguida, crie outra consulta, B, com base em A. Uma vez que as agregações são feitas em A, qualquer classificação feita em B não afetará os dados. Oi Paul, I8217m tentando calcular a diferença de corrida para todos os meses de um ano. A fonte de dados é cubo eo tipo de relatório é crosstab. Minha medida é Empcount. Eu quero obter algo como isto Jan-11 Feb-11 8230 Dec-11 A1 10 20 5 A2 8 13 20 e assim por diante. Meu problema surge do fato de eu obter A1, A2 etc de uma dimensão, que são crianças de uma categoria 8216A8217. Eu recebo A1, A2 por uma expressão de cálculo (digamos DataItemA) dada por descendentes (filter (cube. DimA. DimA, caption (cube. DimA. DimA) pA), 1). Até este ponto eu obter resultado correto. Agora, quando eu tento usar uma expressão running-difference (empcount para DataItemA), ele me dá um erro dizendo que a diferença de execução não pode ser usado no contexto em que é usado. Qualquer ajuda que você pode fornecer será de grande ajuda. Oi Amit Bem-vindo ao maravilhoso mundo dos relatórios dimensionais. As funções em execução não são suportadas em consultas dimensionais. O que é uma coisa boa, já que as funções de execução são muito limitantes. Em vez disso, você terá que usar as funções dimensionais para obter o que você precisa. Se eu entender corretamente sua crosstab mostra o EmpCount para cada A para cada mês. Você tem um peer sob o nó A que mostra o total de A para cada mês. Debaixo do total você quer ver a diferença de corrida de cada mês. O nó A e Total que você já possui. A diferença de movimento pode ser calculada encontrando o prevMember () do currentMember () da Hierarquia de Data. Tente fazer isso: Crie um novo item de dados chamado SelectedA: member (aggregate (currentMeasure dentro do conjunto de filtros (cube. DimA. DimA, caption (cube. DimA. DimA) pA)), 8217SelectedA8217,8217SelectedA8217) Isso criará um membro calculado que Você pode usar em tuplas. Em seguida, crie o item de dados que você adicionará à tabela de referência cruzada: SelectedUp 8211 (SelectedA, prevMember (currentMember (Cube. Time. Time))) Hey Paul, You8217re um gênio de reportagem dimensional. Eu não conseguia entender um 100 do que você tinha sugerido que eu fizesse especialmente na expressão SelectedA: member (aggregate (currentMeasure dentro do set filter (cube. DimA. DimA, caption (cube. DimA. DimA) pA)), SelectedA, 8217SelectedA ) Como eu pensei que seria tipo de referência circular, mas percebi a SelectedA, 8217SelectedA parte é apenas seqüência de caracteres. Mas funcionou. Há uma coisa que não aconteceu. Preciso que a diferença de execução ou o item de dados de diferença fiquem em branco em Jan-11. Presentemente mostra um valor e está trabalhando como por a definição mas eu estou filtrando a pergunta para 2011 e me mostra a diferença para Dec-2010 e Jan-2011, que I8217m que tenta evitar. É possível esvaziar isto fora Jan-11 mesmo com o defintion complexo Bem, a consulta está funcionando como esperado 8211 it8217s mostrando-lhe a diferença correta para Dez a Jan. Esconder o valor através de um truque na consulta é possível, mas eu Suspeite que também diminui o desempenho das consultas. Esta é uma crosstab, sim O que você poderia fazer é condicionalmente ocultar o valor para a primeira coluna. Crie uma variável booleana, chame-o 8220notFirstColumn8221. Use a expressão 8220ColumnNumber () 18221. Desbloqueie o relatório e use essa variável como variável de renderização para o valor nas interseções. Em outra coisa que eu esqueci de mencionar é que eu tenho uma coluna total Empregados Total e eu preciso a diferença de corrida sobre o total de A1, A2 etc algo como isto. Jan-11 Fev-11 8230Nov-11 Dez-11 A1 10 20 6 5 A2 8 12 18 20 8230 An 1 3 3 2 Total Emp 46 50 48 45 Correndo Diff 4 -3 paul você lenda 8211 obrigado por isso eu estava usando total (MyMeasure dentro de periodToDate8230 conjunto, mas achei que eu precisava usar explicitamente total (Cube. Measures. Sales dentro de periodToDate8230 set para ele funcionar corretamente. Obrigado mais uma vez eu tenho que calcular a contagem de execução em um cubo com base no parâmetro do ano. Para mostrar o ano anterior contagem de execução em um gráfico de linha. Por favor, sugerir-me como fazê-lo com o parâmetro A expressão funciona no contexto de um conjunto em uma borda. Por exemplo, um conjunto de meses nas linhas de crosstab. É a contagem de corrida deve ser mostrado no ano Se você precisa mostrar os meses do ano você pode fazer algo como descendentes (prompt (8216Year8217,8217mun8217), MonthLevel). Coloque isso nas linhas e use o total (ou Contagem ou média) (para medir o período anterior, basta usar a função de período paralelo como mostrado acima (copiado aqui). (Cube. Measures. Actual dentro de periodToDate (Cube. Date. Date. Year, parallelPeriod (Cube. Date. Date. Year, 1, currentMember (Cube. Date. Date)))) Paul, eu amo o seu blog e tenho Aprendeu muito com isso. Eu estou tentando fazer um gráfico de linha cumulativa mostrando dois anos em comparação uns com os outros. Uma linha mostra o ano corrente (ou seja, 2011) eo outro o ano anterior (ou seja, 2010). Eu quero que a linha para o ano atual para parar depois que o mês atual foi atingido. Por exemplo, se é junho de 2011. A linha para CY2011 pararia em junho e não mostrar julho de 2011, agosto de 2011, setembro de 2011, etc, mas eu quero a linha para 2011 para mostrar dados para esses meses. Eu tentei usar funções diferentes, como filtro, exceção, etc, mas não tiveram qualquer sucesso. Qualquer ajuda seria muito apreciada. I8217m contente de ouvir o blog está ajudando você. O que você está procurando fazer é certamente possível. O truque é usar a função if (). Faremos a suposição de que as categorias vêm dos descendentes do ano em curso. Portanto, você deve ter duas séries no seu gráfico, total (real dentro de set periodostodate (..)) e total (medida dentro do conjunto periodosdata (parallelperiod ())). Reescreva as expressões de forma que elas se parecem com: if (medida 0) então (nulo) else (total (measure dentro do conjunto periodostodate (..))) e if (measure 0) then (total )) Else (null) Essas expressões só funcionariam se a medida for 0 para futuros meses. Se houver dados, então será necessário outro passo. Normalmente eu tento evitar se declarações, mas eles funcionam bem com medidas. Don8217t tente convertê-lo para uma instrução case, pois isso forçaria Cognos a executar a consulta localmente. Eu tenho o mesmo problema, estou tomando as categorias do ano anterior como ano atual todas as categorias não são adicionados no cubo. Eu quero mostrar o gráfico cumilativo para todas as semanas no ano anterior. No ano em curso, quero que a linha pare na semana anterior. Minhas expressões são if (Cube. Measures. Units 0) then null else (total (Cube. Measures. Units dentro de set periodsToDate (Cube. TimePeriod. TimePeriod. Year, parallelPeriod (Cube. TimePeriod. TimePeriod. Year, -1, currentMember Cube. TimePeriod. TimePeriod))))) para o ano anterior, total (Cube. Measures. Units dentro de set periodsToDate (Cube. TimePeriod. TimePeriod. Year, currentMember (Cube. TimePeriod. TimePeriod))) Mas eu estou ficando blanc sobre o relatório. Agradeço antecipadamente que eu não veja qualquer razão por que você deve ficar em branco no relatório. As expressões parecem bem. Estão ambas as séries retornando em branco ou apenas um. Além disso, se there8217s dados para a semana atual, em seguida, a linha ano atual continuaria a esta semana. A maneira em que isso é criar um novo item de dados, chamá-lo Current Week: parallelPeriod (Cube. TimePeriod. TimePeriod. Year, -1, item (tail (filter (Cube. TimePeriod. TimePeriod. Week. Cube. Measures. Unitgt0) ) E altere a série do ano atual para algo como: if (count (1 dentro de set periodToDate (Cube. TimePeriod. TimePeriod. Year. CurrentMember (Cube. TimePeriod. TimePeriod))) gt count (1 within set periodsToDate Cube. TimePeriod. TimePeriod. Year. Current Week))) então null else (total (Cube. Measures. Units dentro de set periodsToDate (Cube. TimePeriod. TimePeriod. Year, parallelPeriod (Cube. TimePeriod. TimePeriod. Year, -1, currentMember (Cube. TimePeriod. TimePeriod))))) Ele doesn8217t olhar como there8217s uma maneira de postar imagens na seção de comentários aqui. Se isso não o corrigir, postar uma nota no fórum do Cognoise com screenshots e I8217ll ajudá-lo lá. Obrigado pela resposta de Paul I8217ve feito como você mencionou acima eu não estou recebendo a linha para CY. Na minha linha do ano atual, preciso mostrar a linha até a semana anterior. Se eu tenho categorias no meu ano atual até a 4 ª semana. Eu preciso mostrar a linha cumulativa até a semana3. Como 4 ª semana tem 0 valor para a medida, 3 ª semana 4 cumilative valor é mesmo e estou vendo parllel (stright) linha de 3 ª semana a 4 ª semana. Estou tentando fazer 4 º semana 0 valor para nulo, mas ainda vejo até 4 ª semana. Além disso, o valor Minha semana está vindo do prompt (semana3). Mas eu tenho catogories até week4 em CY. Eu não tenho certeza de onde (que e-mail thread) para anexar screenshot em cognoise. Eu também tentei a expressão abaixo para CY, eu não vi a linha para CY. If (total (Cube. Measures. Units dentro do conjunto tail (Cube. TimePeriod. TimePeriod. Week, 1)) 0) then null else (total (Cube. Measures. Units dentro set periodsToDate (Cube. TimePeriod. TimePeriod. Year, parallelPeriod (Cube. TimePeriod. TimePeriod. Year, -1, currentMember (Cube. TimePeriod. TimePeriod))))) O que acontece se você remover a verificação de 0 I can8217t ver qualquer razão pela qual wouldn8217t trabalho. Crie um novo tópico e publique uma cópia do xml do relatório. Seria mais fácil para mim solucionar o problema. Oi Paul, Eu tenho uma consulta retornando-me registros com uma data (também mês e ano) e gostaria de usar contagens de corrida para contar a ocorrência de últimos 12 meses em cada um dos registros Estou usando Cognos 8 amp relatórios obrigado por seu apoio Esta é uma fonte de dados relacional Você pode ser capaz de fazer algo como: run-count (caso quando Date gt addmonths (currentdate, -12) then Date else null end para Record) Dimensional é um pouco mais difícil para isso Eu tenho um cubo Baseado que atualmente trabalhando em um prompt onde o usuário seleciona timeframe. No estúdio de relatório meu filtro é: Standard Data Cube. Time. Time. Month in (TimePrompt) O usuário agora quer programar o relatório onde o tempo é YTD. Eu tentei substituir TimePrompt com YTD, mas ele não funciona. Standard Data Cube. Time. Time. Month in YTD) Ao trabalhar com dados dimensionais, você precisa se lembrar de esquecer tudo o que sabe sobre SQL. Sim, o Cognos permitirá que você faça um filtro como 8220Standard Data Cube. Time. Time. Month em (TimePrompt) 8221, mas é uma maneira muito ruim de fazer as coisas. Primeiro, se você estiver referenciando o nível de mês no relatório, crie um cálculo de consulta com 8220promptmany (8216TimePrompt8217,8217mun8217,8221,8217set (8216, Standard Data Cube. Time. Time. Month8217,8217) 8217) 8221. Use isso em vez de onde você está referenciando o nível de mês. Se você não estiver referenciando os meses diretamente no relatório, cole-o então como um slicer. Agora I8217m assumindo que YTD é uma hierarquia diferente. Mesmo com a tolice de usar um filtro para limitar os dados retornados pela consulta, you8217ll nunca será capaz de filtrar uma hierarquia por membros em outro. Você pode tentar visualizá-lo tentando limitar o eixo z por (x1, x2, x3). O que você pode fazer em vez disso é referência a YTD como o valor padrão na macro de prompt: promptmany (8216TimePrompt8217,8217mun8217, Standard Data Cube. Time. YTD. Month8217,8217set (8216, Standard Data Cube. Time. Time. Month8217,8217) 8217) Se o usuário selecionar qualquer mês, então o item de dados é definido (Month1, Month2, Monthn). Se o usuário doesn8217t selecionar qualquer meses, em seguida, it8217s dados padrão Cube. Time. YTD. Month. Não comparando diferentes hierarquias. Estou usando a contagem de execução na minha consulta para calcular o número de ocupação do item de dados. Mine é um relatório de crosstab aninhado. Eu estou usando a expressão como contagem de corrida (Segmentar segmento forProduct, Linha de Produtos, Família de Produtos, Customer Abbr, WK Data, WK Data Mês, Ano Fiscal, Fonte de Dados, Tipo de Dados)) esta expressão está dando resultado correto. Mas meu problema é com o tempo de execução que está levando para executar o relatório. Pode u por favor me sugerir alguma idéia melhor para conseguir isso. Eu tentei usar contagem, contagem distinta, mas nenhum deles está me dando o resultado correto. Faz sentido que isso demore muito tempo. That8217s um número muito grande de campos you8217re usando para cortar a contagem de execução. Se o seu banco de dados é Oracle, você pode conseguir fugir usando funções de janelas, mas elas são difíceis de trabalhar no Cognos. Eu não sou um desenvolvedor Cognos (Microsoft BI em vez disso), mas eu atualmente trabalho com uma equipe de caras Cognos, que construir relatórios sobre os cubos SSAS. Devido à sua incapacidade de usar a função 8220aggregate8221 sobre células vazias nos cubos SSAS, eles me pediram para preencher todo o espaço vazio no cubo com 0s. Claro que isso é uma idéia ridícula 8211 depois de todos os cubos são como 90 espaço vazio (normalmente). Infelizmente, eles não iriam se mover e tentar usar coisas como declarações totais ou de caso para converterem vazias em NULL. Você poderia por favor me avise se ao trabalhar com células vazias you8217d usar agregado e quais seriam as melhores práticas nesta área de desenvolvimento do Cognos. Tanto quanto eu sou ciente que estão usando Cognos 10.1.1 se este matters8230 eu concordo que it8217s unreasonable pedir para povoar as pilhas vazias com 0s. Isso inutilmente inchar o tamanho do cubo, e pode afetar o desempenho. Embora seja verdade que nulo 1 nulo, a função de resumo agregado não deve se comportar como esse. No Cognos você poderia escrever algo como: agregado (Medida no conjunto definido (Membro1, Membro 2, Membro 3)). Ao converter para o MDX, seria algo parecido com (pseudocódigo e simplificado do que o Cognos realmente geraria). Eu recomendo fazer alguns testes, garantir que o MDX manuscrito devolva os dados esperados, então volte para a equipe do Cognos e descubra o que está acontecendo. Pode ser possível que eles usem a mesma metodologia para trabalhar com o cubo do que com um banco de dados relacional. Usando filtros e funções relacionais em vez de trabalhar apenas com as funções de olap. Nesses casos, o Cognos exportará os dados necessários à consulta para um conjunto de dados local e executará uma instrução SQL nela. Nesse caso, o nulo 1 seria realmente nulo. 8220It pode ser possível que eles estão usando a mesma metodologia para trabalhar com o cubo como fariam com um banco de dados relacional. 8221 - isso é exatamente o que eles estão fazendo. Ninguém tem qualquer experiência com relatórios multidmensional e eles estão todos acostumados a trabalhar com gerente de estrutura (pls desculpa minha terminologia possivelmente errada aqui). Eu gostaria de ter trabalhado com caras Cogos capazes, sabendo o que eles estão fazendo, para que eu não tenha que ler os blogs do Cognos, ler a documentação da IBM, etc, mas o que pode fazer? Eu vou voltar para você com mais informações sobre como eles Vá com este pequeno desafio. No entanto, pode levar um par de semanas desde que estamos entrando na temporada de férias. Obrigado montes para a resposta e ter um feliz natal e um feliz ano novo Você poderia por favor me ajudar com o seguinte requisito: Eu tenho uma medida chamada Quantidade e uma dimensão com valores 8216Payments8217,8217Estimate8217 etc .. Atualmente estou usando apenas estes 2 Valores em colunas e meses em linhas. Eu criei um cálculo chamado 8216XYZ8217 como estimativa de pagamento. Agora eu quero o total de rolamento deste cálculo Estimar Pagamento Xyz Jan-11 10000 5000 5000 11-fev 7000 6000 6000 Mar-11 5000 4000 7000 Apr-11 8000 6000 9000 Valores de mês em linhas estão vindo da data dimensão: Quando eu estou amarrando Para usar a expressão no seu exemplo Estou recebendo um erro QE-DEF-0478 Coação inválida de 8216level8217 para 8216hierarchy8217 Desculpe se a minha pergunta parece bobagem. Sou novo em relatar sobre cubos. Desde já, obrigado. Verifique se você está colocando a hierarquia na função currentMember (). Parece que você pode estar arrastando o nível para ele. Obrigado pela sua pronta resposta Paul .. Vou tentar isso e procurar a sua ajuda, se necessário .. uma vez mais, muito obrigado .. Eu sou capaz de validar o meu relatório agora, depois de fazer a mudança necessária como por sua suggession. Thanks para isso. Agora o problema é que o cálculo não está retornando nenhum dado. Não vem na tabela de referências cruzadas. Qual poderia ser o problema. Mais uma vez obrigado antecipadamente. Agradeço sua ajuda. Eu deveria me chutar por fazer esse erro. Funciona perfeitamente .. Estou feliz agora. Mais uma vez obrigado paul por suas sugessions valiosas .. Desculpe por postar muitos comentários Paul .. É possível alcançar abaixo exigência em cada linha de medida XYZ Quero subtrair o valor do mês anterior. Para Ex: para o mês de fevereiro-11 o cálculo seria 6000 (fev-11) -5000 (Jan-11) 1000 Para mar-11 7000-6001000 e assim por diante. Estimativa de pagamento Xyz abc Jan-11 10000 5000 5000 5000 11-fev 7000 6000 6000 1000 Mar-11 5000 4000 7000 1000 Apr-11 8000 6000 9000 2000 parece que eu ainda estou na minha ressaca fim de semana .. há algo de errado no requisito. Ignore por favor minha pergunta acima. É cálculo simples pagamento de estimativa-me desculpe por isso. Não consigo excluir minha postagem. Oi paul ... Mais uma pergunta. Tenho avisos sobre este relatório que estão funcionando bem todas as outras colunas excpet para este rolamento coluna calculada total. Estou tendo prompt de valor que tem origem como meses (Mês de Relatórios) de outra dimensão de tempo. Quando estou filtrando para qualquer mês que doesn8217t tem dados para os meses mostrando na tabela de referência cruzada, ainda estou recebendo os valores preenchidos para 8216XYZ8217 sozinho Por exemplo, se eu selecionar relatório mês como Abr-11 vou ter todos os meses ltApr-11 Create month) na crosstab que está funcionando como esperado para todas as outras colunas. Mas o fileld calculado 039XYZ039 ainda está preenchendo com o total de rolamento. Como filtrar esses dados aqui é como ele olha quando eu seleciono relatório mês Abr-11 Estimativa de Pagamento Xyz Jan-11 10000 5000 5000 11-fev 7000 6000 6000 Mar-11 5000 4000 7000 Apr-11 8000 6000 9000 May-11 9000 Jun -11 9000 Jul-11 9000 Por favor, deixe-me saber se qualquer informação adicional é necessária. Esta é uma das ocasiões em que você pode usar uma instrução if. Se todos os meses anteriores sempre terá um valor que você provavelmente poderia usar algo como se (Medida é nulo), em seguida, (nulo) else (total (currentMeasure dentro do conjunto.)) Thats great. thanx paul..você é amazing8230It trabalhou como mágica ..Appreciate sua resposta rápida8230 Estou no processo de aprendizagem de reporing em cubes. your sugestões estão me ajudando muito. Eu tenho um crostab com dados relacionais em estúdio de relatório com linhas de: - Financial Year - Gender - Age Group Em seguida, várias medidas nas colunas: - Count Client - Serviço de ajuda Amt - Service Days Estou tentando encontrar a diferença no nível de Grupo etário em Género e Ano Financeiro entre o exercício anterior eo próximo. Eu tenho que trabalhar usando um calcualtion de corrida-diferença e apenas um ano financeiro, mas quando eu adiciono os membros aninhados de Gênero e Grupo de Idade para as linhas, eu não sou capaz de obter cognos para apontar para o anterior ou próximo ano financeiro . Problema difícil, mas não intransponível. Tente usar o método que postei aqui. Estou usando a expressão abaixo para calcular a média móvel de 3 dias no meu relatório, tenho apenas o nível do dia na minha dimensão de tempo. A expressão funcionando perfeitamente bem quando eu tenho dados para os últimos 3 dias. (Cube. Measures. amount no conjunto lastPeriods (3, currentMember (Cube. Date. Date))) Mas, se o valor da medida está faltando (i, e., Não há registro do banco de dados para qualquer data), em seguida, it is calculating incorrectly, meaning the 3 day moving-average calculation taking other date into consideration, my requirement is if the data is missing it should still consider as zero (0) amount and calculate the moving-average. In below example there is no amount for 2/17 my requirement is, still it should take amount as 0 for 2/17 and calculate 3 day moving-average as (35025)/360/320, instead the above expression doing (203525)/380/326.67, taking 2/15 value as part of 3 day, and this is incorrect. Please help me how to consider missing values in the expression. Date Amount 82128212- 821282128212- 2/13 100 2/14 50 2/15 20 2/16 35 2/18 25 Have you tried generating categories always irrespective of the data in fact. i. e in dimension properties try to change the inclusion to always include. Espero que isto ajude. PS: I am not an expert and this is just a suggession. Obrigado. I missed to set always for one of the level. Looks like it is working now. Thank you so much for the quick response. I will keep posted if there are any other issues. You are welcome Mate.. I want to present row number in a list report based on cube. the row which i want to count is of a grouped data item and the numbers are not consecutive. (it8217s counting the actual rows and not the rows which displayed of the grouped the data item) because it8217s based on cube i can8217t user running-total function. Do you have any idea Anyone has an example of periodstodate function created in DMR Framework based on any IBM Sample like GOSALESDW Regards, PP Is there any way to do a running-total using a year dimension with a seperate month dimension That is the year dimension contains 2012, 2013 etc and the month dimension contains Jan 8211 Dec. It is possible, but it8217s nowhere as easy or elegant. At the most basic level you need to run the periodsToDate function twice, once to sum all of the years prior to the year in each row, and again for the months. For this example I8217m assuming that months are nested inside years. total( currentMeasure within set periodsToDate( Cube. Date Dim. Month Hier. All Level . currentMember(Cube. Date Dim. Month Hier) ) ) That will the running total for the months, you just need to add all of the total for the previous years: total( tuple( currentMeasure . Cube. Date Dim. Month Hier. All Level-:YK. Date Dim. Month. All Member . prevMember(currentMember(Cube. Date Dim. Year)) ) within set periodsToDate( Cube. Date Dim. Year. All Level . currentMember(Cube. Date Dim. Year) ) ) Notice the major difference is the tuple in the beginning. In order to prevent the year being sliced by the month, I8217m explicitly tupling on the Month8217s all member. In a similar way I8217m not interested in slicing by the current year for this, so I8217m adding a previousMember on the year. I was following your instruction on how to calculate the trailing totals for the last twelve months but unfortunately the result returned is the 8220actual8221 number for the particular month rather than the total of the last 12 months. I have a cross tab with a prompt to select the calendar month. It looks like: Location Current Month Trailing 12 months Account Level 7 123 (results returned) 123(results returned) The cube is like this: - Consolidated Balance - Fiscal Period - Fiscal Period 8211 Members 8211 All fiscal periods 8211 Calendar Year 8211 Calendar Quarter 8211 Calendar Month The expression I use for Trailing 12 months calculation is: total(Consolidated Balance. Consolidated Balance Measures. Actuals within set lastPeriods (12,currentMember(Consolidated Balance. Fiscal Period. Fiscal Period))) I am really new to Cognos report studio and any input is greatly appreciated. Are you showing the months from Fiscal Period inside the rows of your crosstab The function currentMember() will only work in the context of the month. If it8217s not in the context, it will return the defaultMember, which is most likely going to be the All member. Leave a ReplyPinned topic Moving-total / moving-average functions giving weird numbers Unanswered question This question has not been answered yet. Darren Gruber disse: Eu tenho um relatório crosstab bastante simples que calcula uma contagem simples de cruzamento de critérios por mês e ano. (Ver captura de tela). A contagem está funcionando bem, mas o movimento total (contagem, 3) está produzindo alguns números estranhos. Veja como o arquivo de ajuda descreve a função de movimento total. Mas como você pode ver no meu screenshot anexado, não é mesmo esperar até que ele tem 3 meses de antes que ele dá um resultado, o que também é errado. Portanto, Observe também que se a contagem estiver vazia, o total móvel está vazio, embora possa ter linhas de contagem anteriores para trabalhar. Ive tentou substituir total móvel com média móvel e obtenho resultados semelhantes, embora números menores. Qualquer ajuda seria muito apreciada. Eu posso ser mais específico sobre o relatório se mais informações são necessárias. Atualizado em 2012-01-19T07: 58: 22Z em 2012-01-19T07: 58: 22Z por SystemAdmin Qualquer pessoa disposta a compartilhar seus pensamentos por favor fazê-lo. Obrigado Os resultados na sua tela estão corretos. No Grp 1 você tem os valores Janeiro Fevereiro Março Abril Maio 198 177 158.5 0 0 Os totais em movimento são: Janeiro: (valor de Janeiro) (sem valores anteriores) 198 0 198 Fevereiro: (valor de Fevereiro) (valor de Janeiro) Valores) 177 198 0 375 Março: (valor de Março) (valor de Fevereiro) (valor de Janeiro) 158,5 177 198 533,5 Abril: (valor de Abril) (valor de Março) (valor de Fevereiro) 0 158,5 177 335,5 Maio: (valor de Maio) Valor) (valor de março) 0 0 158,5 158,5 Assim, o movimento total parece estar fazendo exatamente o que deveria estar fazendo. Se você quiser parar de usar o movimento total quando a medida se torna zero, então você pode considerar usar lógica adicional em sua expressão. Você pode considerar: Em uma nota lateral, se você estiver usando um pacote dimensional, então seria melhor usar resumos de membros em vez das funções regulares de resumo destinadas a consultas relacionais. A expressão para o total móvel com resumos de membros seria semelhante a: Atualizado em 2014-03-25T08: 36: 22Z em 2014-03-25T08: 36: 22Z por iron-man Os resultados em sua imagem estão corretos. No Grp 1 você tem os valores Janeiro Fevereiro Março Abril Maio 198 177 158.5 0 0 Os totais em movimento são: Janeiro: (valor de Janeiro) (sem valores anteriores) 198 0 198 Fevereiro: (valor de Fevereiro) (valor de Janeiro) Valores) 177 198 0 375 Março: (valor de Março) (valor de Fevereiro) (valor de Janeiro) 158,5 177 198 533,5 Abril: (valor de Abril) (valor de Março) (valor de Fevereiro) 0 158,5 177 335,5 Maio: (valor de Maio) Valor) (valor de março) 0 0 158,5 158,5 Assim, o movimento total parece estar fazendo exatamente o que deveria estar fazendo. Se você quiser parar de usar o movimento total quando a medida se torna zero, então você pode considerar usar lógica adicional em sua expressão. Você pode considerar: ltpre classjava dw dados-editor-langjava dados-pbcklangjava dirltrgtIF (Total de Funcionários 0) THEN (0) OUTRA (movimentação total (Total de Funcionários, 3 por Ano, Grupo) Você está usando um pacote dimensional, então seria melhor usar resumos de membros em vez das funções de resumo regulares destinadas a consultas relacionais. A expressão para o total móvel com resumos de membros seria semelhante a: ltpre classjava dw dados-editor-langjava data-pbcklangjava dirltrgtaggregate (Total de funcionários dentro do conjunto lastPeriods (3, currentMember (Hierarquia Cube. Time Dimension. Time)))) lt / pregt Aprecie os insumos. Vou tentar. Thanks Phil W

No comments:

Post a Comment