Saturday 16 December 2017

Movendo média em tm1


TM1 Developer Jobs. TM1 Tendência Salário Desenvolvedor. Esta tabela fornece a média móvel de 3 meses para os salários citados em empregos permanentes de TI citando TM1 Developer. TM1 Developer Locais Top 8 Job. A tabela abaixo analisa a demanda e fornece um guia para a mediana Salários cotados em empregos de TI citando TM1 Developer no Reino Unido durante os 3 meses a 14 de março de 2017 A coluna de mudança de Rank fornece uma indicação da mudança na demanda dentro de cada local com base no mesmo período de 3 meses no ano passado. Year. Matching Permanente IT Job Ads. Median Salário Última 3 Months. TM1 Developer Jobs. TM1 Tendência Salário Desenvolvedor. Esta tabela fornece a média móvel de 3 meses para os salários citados em trabalhos permanentes de TI citando TM1 Developer. TM1 Developer Top 8 locais de trabalho. A tabela abaixo analisa a demanda e fornece um guia para os salários médios citados em empregos de TI citando TM1 Developer no Reino Unido durante os 3 meses até 14 de março de 2017 A coluna Rank Change fornece uma indicação do chan Ge em demanda dentro de cada local com base no mesmo período de 3 meses no ano passado. Rank Alterar no mesmo período do ano passado. Matching Permanent IT Job Ads. Median Salário Last 3 Months. IBM Cognos TM1 FEEDERS. In olhando níveis de resumo para campos calculados qualquer O valor não nulo indicará uma sobrealimentação. A Figura 11 mostra uma vista das sobrecargas do cubo IBM Cognos TM1 onde AB para P3 é sobrealimentado à medida que rola até Q1-10 mesmo que seja zero no cubo fonte P3 para Jan - 10 foi identificado com 1, o que indica que a célula foi sobrealimentada. Figura 11 Mostra a sobrealimentação de P3 para Jan-10. A explicação para a sobrealimentação é a construção do FEEDER. O sistema está usando o valor de A para determinar se deve alimentar AB É ignorando o valor de B Como resultado, o sistema alimentará AB quando A 0 E B 0, resultando em um zero A B. Como será mostrado mais tarde em outro exemplo, este é o Forma normal de alimentar um cubo do IBM Cognos TM1 usando fatores de multiplicação. T tipicamente não em tal extensão onde ele impacta severamente o desempenho A menos que os Alimentadores Condicionais sejam usados, a sobrealimentação pode nunca ser completamente eliminada de um Cubo onde a multiplicação, divisão, exponenciação ou outras operações ocorrem, mas pode ser atenuada alimentando o Variável que é mais provável ser zero. A solução normal para sobrealimentação é usar Condicionais Condicionadores condicionais condicionais condições de ajuste em alimentadores Este exemplo também pode ser usado para ilustrar outro princípio FEEDER Mudando A para zero ainda mostrará A como sobre-alimentado no Overfeeds cube Isso ocorre porque uma vez que uma célula é alimentada é sempre alimentado até que o servidor TM1 é reciclado ou a função TM1 TurboIntegrator CubeProcessFeeders é executado. Método 6 Use o Monitor de Desempenho. Este método não irá mostrar especificamente que FEEDERS estão sobre a alimentação, mas Vai dar uma idéia de onde começar a procurar Muitas vezes TM1 Os desenvolvedores são apresentados com um modelo acabado ou parcialmente acabado que está funcionando lento e é Usando uma grande quantidade de memória. Inicie o monitor de desempenho no Arquiteto TM1 clicando com o botão direito do mouse no nome do Servidor TM1 e selecionando Iniciar o Monitor de Desempenho do menu como mostrado na Figura 12 Confirme se Exibir Objetos de Controle como encontrados na opção do menu Exibir foi Ativado. Figura 12 O menu de contexto exibido após clicar com o botão direito do mouse em uma instância do servidor TM1. Confirme que Display Control Objects como encontrado na opção de menu View foi habilitado. Abra o cubo do sistema StatsByCube no IBM Cognos TM1 Cube Viewer e observe que ele contém o As seguintes informações sobre FEEDERS como mostrado na Figura 13 A linha Feeders mostra o número de células alimentadas ea memória usada pelos FEEDERS sob as colunas intituladas Number of Fed Cells e Memory Used for Feeders respectivamente Procure cubos com valores particularmente grandes nestas colunas Use um Sobrecarga cubo como descrito anteriormente no Método 5 para determinar se ou não os cálculos estão sendo sobre-alimentados. Figura 13 informações FEEDER do TM1 Control Obje Ct StatsByCube. Method 7 Examine the. As foi o caso no método anterior, este método não irá listar diretamente que FEEDERS são ineficientes, mas ele irá fornecer um bom lugar para começar a olhar No arquivo, o sistema registra o carregamento de cada um dos Os cubos incluindo a avaliação dos FEEDERS para cada cubo O arquivo está localizado por padrão no Diretório de Dados TM1 para a instância específica do TM1 Server com a qual você está trabalhando Os locais dos Diretórios de Dados TM1 são definidos pelo usuário Usando o exemplo do PlanSamp TM1 Server fornecido com o Padrão IBM Cognos TM1 pacote de instalação, o arquivo seria localizado por padrão no seguinte local C Program. O exemplo a seguir mostra as linhas selecionadas a partir do arquivo para o nome do cubo Cálculo de Custo BW. Essas informações podem ser usadas para determinar o tempo que leva Para avaliar os FEEDERS para cada cubo Se leva muito tempo para avaliar os FEEDERS para um cubo particular, então isso poderia ser uma indicação de que os FEEDERS contidos no cubo são inefficie Nt. Defining FEEDERS. Esta seção detalha a maioria dos diferentes tipos de cálculos e mostra como construir o FEEDER acompanhante Como regra geral, ao escolher um elemento para alimentar um cálculo, escolha o elemento que quando zero os resultados do cálculo s também são zero. É importante notar que a maneira como um FEEDER é definido depende do tipo de cálculo Nesta seção, uma estratégia FEEDER será descrita para cada um dos seguintes tipos de cálculo. Se o cálculo é uma combinação do acima, então uma combinação Das estratégias FEEDER apropriadas serão necessárias para cada componente do cálculo Como com as regras, existem duas maneiras de definir o FEEDER 1, incluindo o nome do membro entre colchetes e 2 usando a função DB Existem exemplos de ambos em vários dos Seguintes sub-secções. Multiplicação é o cálculo mais fácil para alimentar No exemplo acima, estamos usando A para alimentar o cálculo Poderíamos também ter escolhido B Podíamos ter escolhido um como e Ou um zero A ou um zero B forçará o cálculo a ser zero. Para otimizar ainda mais o FEEDER, deve-se escolher o elemento que é mais provável ser zero. Para esclarecer ainda mais este conceito, vamos usar um cálculo típico de Receita. Por exemplo, nem todos os clientes irão comprar todos os produtos, então muitas das combinações serão zero preço será muito provavelmente não-zero e principalmente fixado para Todas as combinações de produto e customer. You também pode definir o FEEDER usando o DB format. It normalmente não seria necessário usar o formato DB, a menos que você estava. Defining cube-to-cube rules. Defining um condicional FEEDER. Manipulating FEEDERS assim Que os elementos FEEDER correspondem aos elementos de destino. O método DB fornece mais flexibilidade à medida que você é capaz de incorporar instruções condicionais e funções de regras do IBM Cognos TM1 Consulte as seções subseqüentes para obter mais detalhes e exemplos. Os mesmos princípios discusse D na seção de Multiplicação aplicam-se à Divisão Novamente, a escolha de A ou B realmente não importa ao escolher qual item alimentar. Se qualquer item for zero, então o resultado do cálculo será zero ou indefinido. Aqui temos que alimentar ambos porque um zero A não forçará necessariamente o cálculo a ser zero. Como com a adição, nós temos que alimentar ambos porque um zero A não forçará necessariamente o cálculo ser zero. Regras condicionais. Para ilustrar este, nós escolhemos um exemplo que seja usado geralmente No orçamento ou na previsão de aplicações No exemplo abaixo da Figura 14, estamos realizando um cálculo para apenas aqueles meses que são sinalizados como meses de previsão, ou seja, a partir de maio de 10 em diante, os meses de previsão têm um fundo cinza. Figura 14 Mostra os resultados de usar um Condicional para os meses de previsão que começam em Maio-10.Para aqueles meses que são sinalizados como reais neste caso Jan-10 a Abr-10, só queremos carregar ou entrar o resultado do cálculo, observe que o real Previsão meses linha EF Para Previsão Meses e meses Jan-10 a abril-10 têm um fundo branco em suas células o que significa que essas células podem aceitar valores inseridos manualmente e não são o resultado de um cálculo A razão é que para os reais, O número é estático e não queremos que o sistema o calcule de forma diferente da forma como ele é armazenado no sistema de registro. Neste exemplo, estamos usando um atributo na dimensão de tempo para indicar os meses reais ou previstos A Figura 15 é um Vista do Editor de Atributos em que um novo atributo chamado Flag Real foi adicionado e alguns meses específicos de Jan-10 a Apr-10 foram denotados com um A para mostrar quais meses contêm actuals. Figure 15 O atributo de dimensão de tempo chamado Real Flag Texto com A nos meses denotados como dados reais. A regra é definida como segue. O FEEDER é como segue. Regras de Cubo a Cubo. Um exemplo simples é usado abaixo para ilustrar a regra de cubo a cubo FEEDERS como é mais Complexo e introduz Es mais desafios Considere os cubos de origem e de destino definidos para o cubo de origem FeederSource O cubo FeederSource possui duas dimensões FeederSource com um único item chamado Source e Value com um único item chamado Value e um único valor de dados de 10, conforme mostrado na Figura 16. Figura 16 Mostra o exemplo FEEDER fonte cubo chamado FeederSource. In Figura 17 abaixo, vemos uma vista de um IBM Cognos TM1 cubo chamado FeederTarget mostrando valores sendo alimentados a partir do fonte cubo chamado FeederSource O FeederTarget cubo tem duas dimensões FeederTarget com um único item chamado Target e Tempo com itens de nível N para cada mês e itens de nível C para consolidações trimestrais Q1-10, Q2-10, etc. e os itens de nível N foram todos preenchidos com o valor do cubo FeederSource de 10.Figura 17 Uma vista de um IBM Cognos TM1 target cube incluindo valores carregados usando um FEEDER. A razão pela qual os cube-to-cube FEEDERS são mais complexos é que você define a regra no cubo alvo eo FEEDER no cubo fonte I N o cubo de origem está enviando os FEEDERS para o cubo de Destino ea regra no cubo de destino está recebendo-os A situação é complicada pelo fato de que as estruturas de dimensão nos cubos de origem e destino podem ser diferentes O exemplo a seguir o guiará O passo a passo do processo. Etapa 1 Defina a regra no cubo de destino. Um ponto importante aqui, que não está totalmente destacado no exemplo, é que a função de DB terá uma estrutura de parâmetros que pertence à estrutura dimensional do cubo de origem O primeiro parâmetro será o nome do cubo, o segundo a primeira dimensão no cubo de origem, o terceiro, a segunda dimensão no cubo de origem, etc. No entanto, os valores que você fornecer no parâmetro devem ser com relação ao cubo de destino ou Um valor codificado. Uma vez que este é um ponto tão importante, vamos ilustrá-lo com um sub-exemplo. Suponha que você tem dois cubos, Cube S e Cube T Ambos têm idêntico cubo estruturas com dimensões idênticas, mas o Dimensões em cada cubo são uma cópia do outro Por exemplo, as dimensões no Cubo S são Produto S e Tempo S As dimensões no Cubo T são Produto T e Tempo T As duas dimensões do produto são idênticas e as duas dimensões de tempo são idênticas. Regra seria. Note que as dimensões no cubo alvo são substituídos nos parâmetros da função DB representando a estrutura do cubo fonte Este é um ponto importante TM1 Desenvolvedores passaram muitas horas olhando para uma regra tentando descobrir por que razão Não salvaria. Passo 2 Defina o FEEDER no cubo fonte. 2010 É necessário codificar um valor aqui porque não há nenhuma dimensão de Tempo no cubo de origem Por codificação rígida de um elemento de resumo da dimensão de tempo, força o sistema a alimentar todos os itens de nível N de 2010 Observe que se O cubo fonte contém a dimensão Time, então o FEEDER será construído da seguinte forma. Alvo É necessário codificar a medida porque há um nome de elemento de medida diferente na fonte e no alvo Precisamos codificá-lo com um elemento na dimensão de medidas de destino. Aqui está o ALIMENTADOR para nosso sub-exemplo. FEEDER aqui é definido como o inverso da regra Observe que as dimensões no cubo fonte são substituídas nos parâmetros da função DB representando a estrutura do cubo alvo Isso pode causar alguns problemas ea lista a seguir foi montada para destacar as melhores práticas Na concepção de cube para cubo FEEDERS. If a mesma dimensão está em ambos os cubos alvo e fonte, basta usar DimensionName nesse parâmetro. Se você tiver dimensões diferentes, que são cópias uns dos outros, então você deve usar DimensionNameInSource para esse parâmetro. Se você tem uma dimensão no alvo que não existe na fonte, então você precisará hard-code um item de resumo na dimensão de destino No exemplo acima, nós hard-coded 2010 Isso significa que o sistema Em irá alimentar automaticamente todas as crianças de 2010 Este recurso deve ser usado com cautela, pois pode levar a cenários de sobre-alimentação e longo servidor start up times. Se você tiver uma dimensão na fonte que não existe no alvo, então você vai Precisa codificar um item na dimensão de origem. Se você quiser segmentar um elemento em particular, então apenas digite o código no parâmetro Por exemplo, a receita apenas direcionará a medida de receita Você pode minimizar a necessidade de fazer isso usando Os mesmos nomes de medida na origem e destino Essa maneira você pode apenas usar TargetMeasureDimName. The FEEDERS que você enviar a partir do cubo de origem deve coincidir com os elementos no cubo de destino Isso se aplica a todas as dimensões Para ilustrar este ponto, considere o seguinte exemplo Na alimentação Um cubo semanal para um cubo mensal, as semanas não existiam no cubo mensal, então nada foi alimentado Você pode contornar isso mudando o FEEDER para que os pais da semana sejam passados ​​no FEEDER Desde que os pais das semanas são mo Nths e meses estão presentes no cubo alvo, o FEEDERS vai funcionar como expected. Cube-cube FEEDER avoidance. There são ocasiões em que você pode evitar a definição de cube-to-cube FEEDER se a medida-alvo é usado em um subseqüente Na Figura 18, Target é o resultado de um cálculo de cubo para cubo, mas também é usado ainda mais no cálculo. Alvo C O valor de C e Jan-10 é 20 O valor calculado de Target C para Jan-10 é 200 O alvo tem um valor de 10 e C tem um valor de 20 O cubo do IBM Cognos TM1 está carregando valores com base na seguinte fórmula de FEEDER. Você pode remover a necessidade do alimentador de cubo a cubo simplesmente alimentando C da seguinte forma. Mostra o cubo de destino evitando a necessidade de uma definição de FEEDER de cubo de origem simplesmente usando os valores de cubo de origem em um cálculo e alimentando esse cálculo dentro do cubo de destino. FEEDERS. Você pode usar FEEDERS condicionais para reduzir ou eliminar a sobrealimentação Normalmente você usaria Um FEEDER condicional para acompanhar Qualquer regra condicional Para ilustrar o ponto, considere o exemplo de sobrealimentação que discutimos anteriormente. Como discutimos anteriormente, o sistema está ignorando o valor de B quando está construindo o ALIMENTADOR Você pode construir ALIMENTADORES condicionais da seguinte maneira para resolver o problema . Note que para alimentar condicionalmente, você precisa usar uma função DB Neste caso, você coloca uma instrução IF no parâmetro da função DB que representa o nome do cubo Retorna o nome do cubo para as células que você deseja alimentar e null Para aqueles que você don t. In olhando para o cubo, agora vemos que não estamos sobrealimentando este cálculo A Figura 19 é uma vista do cubo OverFeeds mostrando os resultados de Jan-10 e Q1-10 com a sobrealimentação Corrigido conforme ilustrado pelos valores para Q1-10 não tendo quaisquer valores iguais a 2.Figura 19 Não mostra valores iguais 2 no campo de consolidação Q1-10, o que significa que não há sobrealimentação do cubo IBM Cognos TM1. Quantas vezes o FEEDERS De acordo com os cinco importantes conside - Rações específicas para FEEDERS, FEEDERS de células numéricas disparar apenas uma vez e FEEDERS de células String disparar sempre que seu valor muda Isto é importante quando um parâmetro é usado para determinar a localização do resultado calculado Para ilustrar este ponto A Figura 20 mostra um IBM Cognos TM1 cubo Com o valor de 100 calculado na interseção de Result e Feb-10 destacado. Figura 20 Um cubo do IBM Cognos TM1 destacando o valor 100 na interseção de Result e Feb-10.A regra é definida como. Como você pode ver, nós Estão usando Value to feed Result em uma regra onde o parâmetro Month está sendo usado para preencher o mês correto na dimensão de tempo. Se mudarmos o parâmetro Month alterando o campo no cruzamento de janeiro a 10 de mês de fevereiro-10 para Mar - 10, então a célula não é mais alimentada Isso é ilustrado na Figura 21, onde Q1-10 é zero em vez de 100 Isso é porque o FEEDERS para células numéricas disparar apenas uma vez A célula Resultado para fevereiro 10 foi alimentado inicialmente, de modo fevereiro-10 É a única célula Que pode ser alimentado A solução para isso é alterar o FEEDER para o seguinte. Figura 21 Mostra que a alimentação do cubo com um valor numérico pode resultar em alterações não estão sendo adequadamente refletido. Note que agora estamos usando o mês em vez de valor para alimentar o E porque o mês é uma seqüência de caracteres, isso fará com que o FEEDER disparar cada vez que ele muda. A seguinte exibição de um cubo do IBM Cognos TM1 mostra os resultados corretos para Q1-10 de 100.Figura 22 Mostra que a alimentação do cubo com uma seqüência de caracteres Valor exibirá resultados atualizados assim que um campo de dados for alterado. PERSISTENTES FEEDERS. Persistent FEEDERS foram introduzidos no IBM Cognos TM1 na versão 9 5 1 O valor padrão para este parâmetro está desativado, mas você pode habilitá-lo usando o parâmetro PersistingOfFEEDERS no File Para habilitar os FEEDERs persistentes e melhorar o tempo de recarga de cubos com FEEDERS na inicialização do servidor TM1, defina o parâmetro PersistingOfFEEDERS como um valor de T true para armazenar os FEEDERS calculados em um arquivo FEEDERS. FEEDERs são habilitados eo servidor TM1 encontra um arquivo FEEDER persistente, ele carrega os FEEDERS economizados que reduzem o tempo normalmente levado para recalcular aqueles FEEDERS FEEDERS são salvos quando os dados são salvos ou as regras são editadas Você não salvar explicitamente as instalações FEEDERS. For Com muitos cálculos complexos FEEDER, persistindo FEEDERS e, em seguida, recarregá-los na inicialização do servidor irá melhorar o desempenho Para simples FEEDERS, o tempo necessário para ler FEEDERS de disco pode exceder o tempo para recalcular os FEEDERS, mas a maioria das instalações irá beneficiar. Tenha em atenção que o uso de ALIMENTADORES persistentes aumentará o tamanho do sistema apenas no disco. O tamanho da memória não é afectado pelo uso de ALIMENTADORES persistentes. Deve ter cuidado ao desenvolver aplicações utilizando ALIMENTADORES persistentes. Como mencionado anteriormente, o método normal de reavaliação dos ALIMENTADORES É reiniciar o servidor TM1. No entanto, se você tiver FEEDERS persistentes habilitados, primeiro você precisará executar um processo TM1 TurboIntegrator Contendo a seguinte função no prolog. Isso forçará a avaliação FEEDER na inicialização do servidor TM1 em vez de apenas ler o cache FEEDER persistente FEEDER exemplos. A seção FEEDER complexo detalha alguns exemplos mais complexos para real world situations. Line Itens Detalhe to Sumário Um problema comum de modelagem, especialmente com as aplicações de orçamento e planejamento, é vincular um cubo de detalhe de item de linha a um cubo de resumo onde as dimensões são listas de seleção uma lista específica de itens, como produtos no cubo de origem e dimensões reais no destino Cubo Considere o seguinte cubo de entrada chamado LineItemSource, que inclui Item de linha, Descrição, Hora, Produto e Valor, conforme mostrado na Figura 23.Figura 23 Mostra o cubo de entrada LineItemSource. Figura 24 é uma visualização do cubo de resumo LineItemTarget, que consolida o cubo de entrada Valores em que as listas de seleção se tornam dimensões, ou seja, o tempo agora é colunas eo produto agora é linhas Este cubo mostra os itens de linha de detalhe, bem como os valores de resumo No nível Total Product e no Time Quarterly level. Figure 24 A exibição do cubo LineItemTarget com dimensões criadas a partir das listas de seleção no cubo LineItemSource. Já que não é possível modelar esse tipo de estrutura de cubo para a transferência direta de dados de LineItemSource para LineItemTarget , É necessário passar por um cubo intermediário chamado LineItemCalc A seguinte visão é o cubo intermediário que contém todas as dimensões de ambos os cubos Item, Produto e Time. Figura 25 O cubo intermediário LineItemCalc que contém todas as dimensões de LineItemSource e LineItemTarget. As regras quase corretas e FEEDERS seriam as follows. Now vamos percorrer as regras e FEEDERS um por um e explain. First, vamos começar com a regra que converte as pick-lists para dimensões no cubo LineItemCalc. Os componentes Da regra are. Bold verificar para ver se o nome do elemento da dimensão do produto no cubo LineItemCalc corresponde ao produto inserido no LineItemS Ource cube Observe o uso de como eles são ambos strings. Italicized verificar para ver se o nome do elemento da dimensão de tempo no cubo LineItemCalc corresponde ao mês inserido no cubo LineItemSource Observe o uso de como eles são ambos strings. Bold Italicized Retornar o Valor de Amount do LineItemSource Cube se TRUE. Do nada se FALSE. Now, vamos olhar para o FEEDER associado no cubo LineItemSource. Em olhar para uma implementação de design inicial, o FEEDER foi definido como follows. In lembrando uma dica anterior em A seção Cubo-to-Cube Rules, se houver uma dimensão no cubo de destino que não esteja na origem, neste exemplo Product and Time, você pode codificar um item de resumo no parâmetro apropriado como mostrado em negrito acima. Enquanto isso irá funcionar, pode não ser ideal para todas as situações, pois os volumes de dados podem impactar negativamente os tempos de inicialização do TM1 Server. Isso ocorre porque este tipo de FEEDER resulta em sobrealimentação grave, pois o sistema precisa alimentar cada produto e cada cantar Le month para cada linha de item Considere alterar o FEEDER para que ele alimente somente o Produto selecionado em qualquer item de linha específico Por exemplo, substitua o Produto Total pelo DB LineItemSource LineItem, Product e 2010 com DB LineItemSource LineItem, Time Ao fazer essas alterações, o O tempo de inicialização do sistema será melhorado. Um problema adicional com o FEEDER no cubo LineItemSource é que ele está alimentando apenas uma vez por isso não continuará a funcionar se mudarmos os dados do produto ou do mês. A solução é alimentar as strings, Como mostrado no exemplo a seguir. Neste exemplo, o FEEDER é repetido para cada dimensão para produto e tempo Isso garante que os números corretamente fluem quando o produto eo tempo são alterados Assim, as regras corretas e FEEDERS são recursos. Downloadable.

No comments:

Post a Comment