Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 
vagner_analista
Contributor III
Contributor III

Calendário mestre para duas tabelas

Senhores bom dia,

 

Tenho o código do calendário mestre abaixo. e Duas tabelas distintas que vem de um view, com dados de incidentes e Servicos, então, os dados não tem ligação um com o outro. O que tem é o campo data de criação para as duas, então, eu gostaria de vincular o campo createDate das duas tabelas para serem filtrados os dados de acordo com a data, porém, por este código só sei vincular mais de uma tabela, sou novato em qlikview e não sei alterar este código, porque quando seleciono uma data, apenas os dados de uma tabela são filtrados,  alguém poderia me ajudar?

 

 

/*Gera Calendário Master com dias, meses, anos, dias de semana, trimestres e outras informações com base na data*/

/*QuarterMap - Cria os Trimestres. Gera 12 linhas e as divide por 3. O número resultante é o número do trimestre*/
QuartersMap:  
MAPPING LOAD   
rowno() as Month,  
Ceil (rowno()/3) & 'º Trimestre' as Quarter  
AUTOGENERATE (12);  
  
/*Temp - Busca a menor e a maior data na tabela residente*/
Temp:  
Load  
   min(CreatedDate) as minDate,  
   max(CreatedDate) as maxDate  

Resident Incidentes;  
  
/*Cria variáveis - data mínima e data máxima*/
Let varMinDate = Num(Peek('minDate', 0, 'Temp'));  
Let varMaxDate = Num(Peek('maxDate', 0, 'Temp'));  
DROP Table Temp;  
  
/*TempCalendar - Gera todos as datas entre a menor e a maior data definidas acima*/
TempCalendar:  
LOAD  
	$(varMinDate) + Iterno()-1 As Num,  
	Date($(varMinDate) + IterNo() - 1) as TempDate  
	AutoGenerate 1 While $(varMinDate) + IterNo() -1 <= $(varMaxDate);  
  
  
/*Gera o calendário com base na TempDate gerada acima*/
CALENDÁRIO:  
Load  
	 TempDate AS CreatedDate,               //Coloque o nome da sua coluna de data  
	 week(TempDate) As Semana,  
	 Year(TempDate) As Ano,  
	 Month(TempDate) As Mes,  
	 Day(TempDate) As Dia,  
	 YeartoDate(TempDate)*-1 as CurYTDFlag,  
	 YeartoDate(TempDate,-1)*-1 as LastYTDFlag,  
	 date(monthstart(TempDate), 'MMM-YYYY') as MesAno, 
	 ApplyMap('QuartersMap', month(TempDate), Null()) as Trimestre,  
	 Week(weekstart(TempDate)) & '-' & WeekYear(TempDate) as SemanaAno,  
	 WeekDay(TempDate) as DiaSemana  
Resident TempCalendar  
Order By TempDate ASC;  
Drop Table TempCalendar;  
1 Reply
lfetensini
Partner - Creator II
Partner - Creator II

Ao que parece, o campo de data chave é o "CreatedDate". Que você pode renomear com um outro nome se desejar.

As tabelas precisam conter este mesmo nome no campo data que você quer compartilhar para filtros.

Caso você queira tornar as datas independentes uma da outra, recomendo criar um calendário para cada, renomeando os demais campos para diferenciá-los.
Support your colleagues. Remember to "like" the answers that are helpful to you and flag as "solved" the one that helped you solve. Cheers.