Qlik Community

Qlik Brasil

Group community for Brazil users. discussion only in Portuguese.

Highlighted
carla_cristine
Contributor

Vários campos data em tabelas fato distintas

Boa tarde

Tenho 3 tabelas fatos e nessas 3 tabelas fato eu teria  vários campos data

exemplo

tabela fatoapontamento

data_apontamento

tabela fatoprojetos

data_inicio_projeto

tabela fatodemanda

data_solicitação

eu teria no caso uma dimensão da data, para usar como filtro

porém se eu concatenar as tabelas fato e colocar os campos data com o nome data que será o nome do campo da minha dimensão

não funcionará

alguém pode me dar um exemplo de como solucionar isso

link table?

nunca usei, alguém consegue exemplificar.

grata

Tags (1)
12 Replies

Re: Vários campos data em tabelas fato distintas

Carla, você pode trabalhar da seguinte forma:

Expressões considerando datas diferentes | Blog do Nicolett

Re: Vários campos data em tabelas fato distintas

Veja se te ajuda:

http:// blogdonicolett.com.br/2014/11/18/expressoes-considerando-datas-diferentes/

tiago_ferrucio
New Contributor III

Re: Vários campos data em tabelas fato distintas

Carla,

Não existe nenhum outro campo que seja comum entre as tabelas?

Uma maneira de fazer isso é:

Junte todos os campos comum e forme um campo Chave;

Criei uma LinkTable e use o comando Subfield para separar esses campos;

Sua dimensões ficaram todas "conectadas" nessa LinkTable;

Atenciosamente,

Tiago Ferrucio

Luminary
Luminary

Re: Vários campos data em tabelas fato distintas

Carla,

 

  Este artigo pode te ajudar.   Canonical Date

  Quanto a técnica da link table, importante entender como estas tabelas se relacionam para avaliar se esta é a melhor modelagem.

Pablo

juliana_campagn
Contributor

Re: Vários campos data em tabelas fato distintas

Olá Carla,

resolvi um problema parecido esses dias utilizando a modelagem descrita nesse artigo Re: Tutorial - Using Common Date Dimensions and Shared Calendars

carla_cristine
Contributor

Re: Vários campos data em tabelas fato distintas

oi gente

vou dar uma olhada em todas as dicas

obrigada

carla_cristine
Contributor

Re: Vários campos data em tabelas fato distintas

Oi Yuri

Fazendo dessa forma, eu poderia utilizar o campo data do calendário, como filtro principal

e o filtro seria aplicado a todas as tabelas.por exemplo

montei um calendário, certo

e um linktable com todas os campos data de todas as tabelas

dai no filtro principal,eu colocaria o campo data( do calendário), e aplicaria o filtro

exemplo, tenho data de apontamento na tabela fato apontamentos e data da solicitação

carla_cristine
Contributor

Re: Vários campos data em tabelas fato distintas

e também tem a situação onde terá tabela que possui mais de um campo data

Not applicable

Re: Vários campos data em tabelas fato distintas

Carla boa tarde, não sei se entendi sua duvida, mas você quer ter um calendario principal e quando você filtrar uma data nele todas as suas tabelas vão filtrar aquele periodo. Se for isso segue um exemplo:

LET vDateMin = Num(MakeDate(2014,1,1)); //Cria um calendario a partir do dia 01/01/2014

LET vDateMax = Floor((Today()-1));

LET vDateToday = Num(Today());

TempCalendar:

LOAD

$(vDateMin) + RowNo() - 1 AS DateNumber,

Date($(vDateMin) + RowNo() - 1) AS TempDate

AUTOGENERATE 1

WHILE $(vDateMin)+IterNo()-1<= $(vDateMax);

Calendar:

LOAD

date(Floor([TempDate]),'DD/MM/YYYY') as chave_apontamento,//Campo chave entre as tabelas

date(Floor([TempDate]),'DD/MM/YYYY') as chave_projetos,//Campo chave entre as tabelas

date(Floor([TempDate]),'DD/MM/YYYY') as chave_demanda,//Campo chave entre as tabelas

week(Floor([TempDate])) as semanacalendario,

  if(month(weekend([TempDate]))= month([TempDate]),div(day(WeekEnd([TempDate])),7),div(day(Weekend([TempDate],-1)),7)+1)+1 as NumeroSemanaMes,

// Standard Date Objects

Day(TempDate) AS Dia,

Num(Month(TempDate)) AS MêsNum,

WeekDay(TempDate) AS [Dia da Semana],

Week(TempDate) AS [Semana],

Month(TempDate) AS Mês,

Month(TempDate) AS MêsTop10,

//'Q' & Ceil(Month(TempDate)/3) AS CalendarQuarter,

Year(TempDate) AS Ano,

// Calendar Date Names

WeekName(TempDate) as SemanaAno,

MonthName(TempDate) as MêsAno,

QuarterName(TempDate) as Quarter

RESIDENT TempCalendar ORDER BY TempDate ASC;

DROP TABLE TempCalendar;