Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 
qlik_
Creator
Creator

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

Labels (1)
12 Replies
nicolett_yuri

Carla, você pode trabalhar da seguinte forma:

Expressões considerando datas diferentes | Blog do Nicolett

nicolett_yuri

Veja se te ajuda:

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

Anonymous
Not applicable

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

pablolabbe
Luminary Alumni
Luminary Alumni

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

julianacampag
Creator
Creator

Olá Carla,

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

qlik_
Creator
Creator
Author

oi gente

vou dar uma olhada em todas as dicas

obrigada

qlik_
Creator
Creator
Author

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

qlik_
Creator
Creator
Author

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

Not applicable

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;