none
Como ocultar valor da dimensão que não contem fatos RRS feed

  • Pergunta

  • Prezados,

     

    Tenho uma dimensão data que já contem a carga para 05 anos a frente (até 2017), como faço para ocultar as data que ainda não contem fatos para o usuário não veja ?

     

    Desde já obrigado.

    sexta-feira, 27 de janeiro de 2012 13:06

Todas as Respostas

  • Emmanuel, boa tarde,

    Sua DSV, ao invés de colocar simplesmente a tabela de tempo, vc pode criar uma "named query". Assim, vc pode filtrar somente o tempo que está associado a tabela fato.

    Ex. Ao invés de referenciar a tabela, coloque: select * from tabela_tempo where id_tempo in ( select id_tempo from Tabela_fato)

    Criar muitas "named query" não é perfomático para o processamentos dos cubos, mas é uma maneira de exibir apenas as datas desejadas.

    Abs.


    Eduardo Gomes - http://www.h1solucoes.com.br - Twitter: @edugp_sp
    sexta-feira, 27 de janeiro de 2012 14:35
  • Emmauel,

    Porque voce precisa carregar sua dimensão de tempo com datas a frente? Porque não carregar apenas as datas que existam referencia em tabelas fatos?

    A solução que o Eduardo comentou pode ser uma alternativa, eu apenas criaria uma "named query" com a utilização do UNION, assim existiria apenas uma "named query" ou inves de varias.

    []'s

    sexta-feira, 27 de janeiro de 2012 19:01
  • Tiago,

    Concordo com o seu questionamento!

    Não seria o caso de realizar uma filtragem dos dados.

    Concordo com a sugestão do Eduardo, em utilizar Named Querys, mas neste estrutura já poderia filtrar os dados necessários.


    Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário | MSIT.com]
    domingo, 29 de janeiro de 2012 12:33
  • Pessoal agradeço a todos pela ajuda, com named query deu certo. Respondendo a pergunta do motivo pelo qual estou com a dimensão de data já carregada com alguns anos a frete, é porque me ensinaram assim, não sei se é o correto ou a melhor estratégia.

     

    De toda forma obrigado a todos.

     

    segunda-feira, 30 de janeiro de 2012 14:05
  • Emmanuel, cada pessoa tem uma maneira diferente para realizar isso. No meu caso eu executo um pré-carregamento, ou seja, eu leio as minhas tabelas fatos pegando apenas as datas e insiro na minha tabela de tempo. Dessa maneira eu garanto que apenas datas que irão existir valores estejam carregadas. Esse processo não é honeroso para o meu processo de carga...

    E o mais importante, quando trabalho com TIME INTELLIGENT isso fica muito mais eficaz pois nao precisa percorrer datas que não tenham valores associados!

    Espero que tenha ajudado.

    []'s


    Tiago Balabuch
    segunda-feira, 30 de janeiro de 2012 14:28