none
Granularidade da dimensão temporal RRS feed

  • Pergunta

  • Galera, 

       Tenho um cubo que já possui as informações sobre as vendas realizadas a cada DIA. 
       Agora, preciso adicionar uma informação ao relatórios, que seriam as metas de cada vendedor. Esta informação é MENSAL.

       Devo fazer um novo cubo com informações resumidas mensalmente?

       É possível mesclar informações com granularidades diferentes? Por exemplo, considerar a META nos níveis YEAR, QUARTER e MONTH, mas não mostrar nenhum resultado, qdo o nível for DAY?

       Se sim, como devo fazer isso?

    []'s
    sexta-feira, 1 de janeiro de 2010 14:45

Todas as Respostas

  • Blerghius,
    crie uma dimençao Meta e adicione ao cubo.




    poste a resposta.
    estudande
    sexta-feira, 1 de janeiro de 2010 20:34
  • lutador, 

     A meta é um valor que deverá será alterado todo mês. Além disso, tenho que fazer uns cálculos, como % da meta atingida. 

     Colocando meta como dimensão, eu perco este poder de análise, não é? 

     Creio que a meta seja uma métrica mesmo. 

     []'s
    sexta-feira, 1 de janeiro de 2010 23:31
  • Bom... por enquanto, a única coisa que eu consegui foi resumir os dados por mês, em uma outra tabela fato.

    No ETL, estou sempre apagando a linha do mês corrente e a recriando, pois há necessidade de que seja atualizado diariamente.

    []'s
    sábado, 2 de janeiro de 2010 14:21
  • Bom dia Blerghius,
       eu trabalho com uma situação parecida com a sua. No meu caso a meta é semestral no entanto na fato de metas eu coloquei pra ela gravar diariamente pq os clientes precisam dessa analise diariamente para comparar com a quantidade de alunos (que tem granularidade diária). Acho que você poderia fazer algo igual, principalmente pq suas metas mudam, então você colocaria sua medida da tabela fato de metas com a Aggregation Fuction para ser LastChild, assim fica valendo para o mês a ultima meta carregada. Entende?!
     Achou que isso vai ajudar na sua solução. Aguardo retorno.

    Atenciosamente,
    Nayron Araújo - Desenvolvedor BI - Setor de TI - Universidade Potiguar - UnP
    segunda-feira, 4 de janeiro de 2010 13:53
  • Boa tarde Nayron.

       Acho que entendi. Devo gravar as meta todos os dias, e utilizar a Aggregation Function como LastChild, para somente exibir o valor do último registro do Mês. Até aqui, já me ajudou bastante.

       Para os níveis superiores ao mês (trimestre, semestre e ano) eu preciso que as metas mensais sejam somadas. Tem como colocar Aggregation Function diferentes para diferentes níveis na hierarquia?

       Mais ou menos, assim: 
       Mês = LastChild; 
       trimestre, semestre e ano: Soma do resultado dos meses, e não soma dos valores diários.
    segunda-feira, 4 de janeiro de 2010 15:28
  • Blerghius,
         Acredito que da forma que estavamos pensando não vai dá certo. A granulariadade nesse caso deve ser por mês realmente e Aggregaton Function igual a Sum. Porque não temos como definir funções de agregação diferentes para a mesma medida. Então deixando a granularidade no nivel de mês você perderia a possibilidade de fazer algum tipo de comparação diária, não sei se isso seria necessário para você.
         Caso seja algo necessário outra forma que consigo imaginar ficaria bastante deselegante, seria algo como colocar na sua tabela fato de metas mais de uma medida, uma especificando o valor diário que teria como função de agregação LastChild e outra mensal que seria Sum. Essa idéia eu não amadureci muito bem teria que ser melhor pensanda mas acho que é uma possivel linha de raciocínio. O que você acha?

    Atenciosamente, 
    Nayron Araújo - Desenvolvedor BI - Setor de TI - Universidade Potiguar - UnP
    segunda-feira, 4 de janeiro de 2010 17:28
  • Nayron, 
         
         O que eu tinha pensado em fazer, era colocar na tabela fato a meta mensal, trimestral, semestral e a anual. Assim não precisaria nenhum acumulador. Mas ficaria extremamente deselegante.

         Eu acho que será mais fácil criar uma nova tabela fato com granularidade mensal.

         
    segunda-feira, 4 de janeiro de 2010 21:30
  • Blerghius,

    Fiquei curioso quando você destacou como deselegante a criação destas metas?
    Pedro Antonio Galvão Junior - MVP - Windows Server System - SQL Server/Coordenador de Projetos/DBA
    segunda-feira, 4 de janeiro de 2010 23:54
  • Junior, 

       No meu ponto de vista, as metas por mês, por trimestre e por ano, quando colocadas nas informações diárias, causariam uma poluição grande para uma tabela fato que já não é pequena. Preciso destas informações somente "uma vez" por mês. Por isso, acho que talvez seja mais fácil criar uma nova tabela fato, somente para a comparação das vendas com as metas de vendedores, que tem granularidade mensal.

       O que você acha de colocar nos lançamentos diários as informações sobre as metas? Seria melhor que uma nova tabela fato? Detalhe, além das metas por vendedor, também tenho as metas por produto, que também são comparadas mensal, trimestral, semestral e anualmente.
    terça-feira, 5 de janeiro de 2010 01:51
  • Bom dia Blerghius,
          então dessa forma você não desceria até o nivel de dia, né isso?! A granulariadade seria a nivel de mês. Dessa forma vejo apenas uma tabela de fatos com duas medidas: uma para a meta do vendedor e outra para a meta do produto e ambas com função de agregação sendo SUM. Estou certo? Se for isso nem acho que ficaria deselegante. Mas como já falamos você não teria essa análise diária. Pelo que venho entendendo do problema não acho que essa análise diária seja algo que esteja no escopo da sua solução.


    Atenciosamente, 
    Nayron Araújo - Desenvolvedor BI - Setor de TI - Universidade Potiguar - UnP
    terça-feira, 5 de janeiro de 2010 11:38
  • Nayron, boa tarde.

       O que eu disse que seria deselegante, seria colocar na mesma tabela fato que eu já tenho, com granularidade diária.

       Nessa OUTRA tabela fato, com granularidade mensal, acho que seria a melhor saída para o problema.

    []'s
    terça-feira, 5 de janeiro de 2010 16:36
  • Ahhh entendi. Realmente ficaria mesmo BASTANTE deselegante hehehe, porque teria que explicar pro cliente que aquela medida só poderia ser usada quando tivesse analisando o dia, quando fosse analisar o mês teria que usar a outra, enfim seria uma bagunça. Acho que a granulariadade sendo mensal mata o seu problema.

    Abraço,

    Nayron Araújo - Desenvolvedor BI - Setor de TI - Universidade Potiguar - UnP
    terça-feira, 5 de janeiro de 2010 18:22
  • Nayron,

    Entendi, o objetivo é disponibilizar as dimensões de acordo com a forma de visualização que o cliente deseja.
    Pedro Antonio Galvão Junior - MVP - Windows Server System - SQL Server/Coordenador de Projetos/DBA
    terça-feira, 5 de janeiro de 2010 23:53
  • Calma aí galera, já tá virando bagunça... hehehe

       Quanto à visualização, serão gerados relatórios através do Report Service, e o cliente não irá efetuar nenhuma modificação.

       Minha dúvida é meramente conceitual/funcional. Tenho dúvidas em como armazenar as informações de meta:
       - Se em uma tabela fato JÁ existente com granularidade MENOR que a granularidade das metas (diária x mensal);
       - Ou então em uma nova tabela fato, com granularidade mensal.

       Para o cliente, qualquer solução será transparente.

    []'s
    quarta-feira, 6 de janeiro de 2010 04:23
  • Blerghius,
       eu acho que mesmo sendo transparente para o cliente, já que você não vai dar acesso as funcionalidades comuns ao cubo de dados (montar a visão de acordo com sua necessidade, arrastando e soltando as dimensões e as medidas, etc..) e sim utilizar para entregar relatórios estáticos, ainda assim eu optaria pela granularidade mensal da tabela de fatos. Assim já ficaria pronto para quando for querer dar acesso ao Cubo de Dados, sem ser obrigatóriamente por meio de relatórios estáticos.
       De qualquer forma vejo as duas formas como possiveis soluções.

    Atenciosamente,
    Nayron Araújo - Desenvolvedor BI - Setor de TI - Universidade Potiguar - UnP
    quinta-feira, 7 de janeiro de 2010 11:24