Skip to main content
Announcements
Have questions about Qlik Connect? Join us live on April 10th, at 11 AM ET: SIGN UP NOW
cancel
Showing results for 
Search instead for 
Did you mean: 
Ribeiro
Specialist
Specialist

Dica de Calendário

Tenho duas tabelas e gostaria de saber como unir as datas.

Dica correta de calendário.

Estou fazendo DRE e preciso unir as datas( data_Efetivado_Estoque e Data_QuitacaoP.)

Como seria a melhor forma.





Tabela_Vendas:

Data_Efetivado_Estoque

    Day(Data_Efetivado_Estoque)as Dia,

    ceil(Month(Data_Efetivado_Estoque)/3)&'Trim' as [Trimestre],

     Year(Data_Efetivado_Estoque) as [Ano],

    Month(Data_Efetivado_Estoque) as [Mês],

 

Tabela_Financeiro:

Data_QuitacaoP

------------------------------------------

Day(Data_QuitacaoP)as PDia,

   ceil(Month(Data_QuitacaoP)/3)&'Trim' as [PTrimestre],

    Year(Data_QuitacaoP) as [PAno],

    Month(Data_QuitacaoP) as [PMês],

Neves
1 Solution

Accepted Solutions
branderbwcs
Contributor III
Contributor III

Agnaldo, boa noite!

Seguem as minhas sugestões:

1. Renomear os campos que serão ligados nas duas tabelas para um nome comum.

EX:

     Tab_Mov:

     LOAD

          Data_Efetivado_Estoque      AS %ChaveData,

          "Prod_Serv_Ordem"             AS Tab_MovOrdem

     SQL SELECT *

     FROM "S9_Real".dbo."View_Vendas"

     WHERE Movimento_Data>= '2013-01-01';

     PlanoContas:

     LOAD

          Data_QuitacaoP                   AS %ChaveData,

          "Nome_FuncionarioP"           AS PlanoContasNomeFuncionario

     SQL SELECT *

     FROM "S9_Real".dbo."View_A_temp"

     WHERE Data_QuitacaoP>= '2013-01-01';

2. Após renomear os campos você pode utilizar o conceito de master calendário, que irá facilitar o seu trabalho com datas, caso você tenha dúvidas em utilizá-lo eu posso te ajudar, mas acredito que você irá encontrar material aqui na comunidade. Quando você começar a utilizar este conceito não será mais necessário criar este tipo de estrutura:

EX:

Estrutura atual:

     Tab_Mov:

     LOAD

          WeekDay(Data_Efetivado_Estoque) as [Semana],

          Day(Data_Efetivado_Estoque)as Dia,

          ceil(Month(Data_Efetivado_Estoque)/3)&'Trim' as [Trimestre],

          Year(Data_Efetivado_Estoque) as [Ano]

     SQL SELECT *

     FROM "S9_Real".dbo."View_Vendas"

     WHERE Movimento_Data>= '2013-01-01';

Estrutura sugerida:

     Tab_Mov:

     LOAD

          Data_QuitacaoP                   AS %ChaveData,

     SQL SELECT *

     FROM "S9_Real".dbo."View_Vendas"

     WHERE Movimento_Data>= '2013-01-01';

    

Espero ter ajudado.

View solution in original post

6 Replies
Clever_Anjos
Employee
Employee

Leia esse blog post Canonical Date

Clever_Anjos
Employee
Employee

Outra solução: Linking to two or more dates

branderbwcs
Contributor III
Contributor III

Agnaldo, boa tarde!

Já tive este mesmo problema e a minha solução foi unir as duas tabelas pela chave "Data". Após realizar esta ligação você faz o calendário da chave.

No meu problema existiam várias tabelas fato, mas funcionou muito bem.

Att,

Brander Weten.

Ribeiro
Specialist
Specialist
Author

Bom eu entendi.

Mas não sei como fazer funcionar.

Data_QuitacaoP  - Vem do financeiro

Data_Efetivado_Estoque - Vem das Vendas.

Anexo o exemplo

Neves
Ribeiro
Specialist
Specialist
Author

Achei este exemplo, mas ainda não conseguir entender.

Varias datas em um único calendário

Neves
branderbwcs
Contributor III
Contributor III

Agnaldo, boa noite!

Seguem as minhas sugestões:

1. Renomear os campos que serão ligados nas duas tabelas para um nome comum.

EX:

     Tab_Mov:

     LOAD

          Data_Efetivado_Estoque      AS %ChaveData,

          "Prod_Serv_Ordem"             AS Tab_MovOrdem

     SQL SELECT *

     FROM "S9_Real".dbo."View_Vendas"

     WHERE Movimento_Data>= '2013-01-01';

     PlanoContas:

     LOAD

          Data_QuitacaoP                   AS %ChaveData,

          "Nome_FuncionarioP"           AS PlanoContasNomeFuncionario

     SQL SELECT *

     FROM "S9_Real".dbo."View_A_temp"

     WHERE Data_QuitacaoP>= '2013-01-01';

2. Após renomear os campos você pode utilizar o conceito de master calendário, que irá facilitar o seu trabalho com datas, caso você tenha dúvidas em utilizá-lo eu posso te ajudar, mas acredito que você irá encontrar material aqui na comunidade. Quando você começar a utilizar este conceito não será mais necessário criar este tipo de estrutura:

EX:

Estrutura atual:

     Tab_Mov:

     LOAD

          WeekDay(Data_Efetivado_Estoque) as [Semana],

          Day(Data_Efetivado_Estoque)as Dia,

          ceil(Month(Data_Efetivado_Estoque)/3)&'Trim' as [Trimestre],

          Year(Data_Efetivado_Estoque) as [Ano]

     SQL SELECT *

     FROM "S9_Real".dbo."View_Vendas"

     WHERE Movimento_Data>= '2013-01-01';

Estrutura sugerida:

     Tab_Mov:

     LOAD

          Data_QuitacaoP                   AS %ChaveData,

     SQL SELECT *

     FROM "S9_Real".dbo."View_Vendas"

     WHERE Movimento_Data>= '2013-01-01';

    

Espero ter ajudado.