Skip to main content
Announcements
Qlik Connect 2024! Seize endless possibilities! LEARN MORE
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

Preencher datas que estão faltando.

Boa tarde a todos!

Estou com dificuldades para resolver o problema abaixo:

Tenho a seguinte tabela:

CD_EMPRESA, CD_CONTA, DATA, VALOR

1, 10, 01/02/2010, 100,00

1,          10, 01/05/2010, 20,00

1,           10, 01/01/2011, 30,00

2,           10, 01/08/2010, 20,00

2,           10, 01/10/2010, 40,00

2,           10, 01/02/2011, 40,00

2,          14, 01/09/2010, 300,00

2,           14, 01/03/2011, 490,00

Preciso que esta tabela fique da seguinte forma na extração:

CD_EMPRESA, CD_CONTA, DATA, VALOR

1, 10, 01/02/2010, 100,00

1, 10, 01/03/2010, 100,00

1, 10, 01/04/2010, 100,00

1, 10, 01/05/2010, 20,00

1, 10, 01/06/2010, 20,00

1, 10, 01/07/2010, 20,00

1, 10, 01/08/2010, 20,00

1, 10, 01/09/2010, 20,00

1, 10, 01/10/2010, 20,00

1, 10, 01/11/2010, 20,00

1, 10, 01/12/2010, 20,00

1, 10, 01/01/2011, 30,00

2, 10, 01/08/2010, 20,00

2, 10, 01/09/2010, 20,00

2, 10, 01/10/2010, 40,00

2, 10, 01/11/2010, 40,00

2, 10, 01/12/2010, 40,00

2, 10, 01/01/2011, 40,00

2, 10, 01/02/2011, 40,00

2, 14, 01/09/2010, 300,00

2, 14, 01/10/2010, 300,00

2, 14, 01/11/2010, 300,00

2, 14, 01/12/2010, 300,00

2, 14, 01/01/2011, 300,00

2, 14, 01/02/2011, 300,00

2, 14, 01/03/2011, 490,00

Se alguém pode me ajudar agradeço.

1 Solution

Accepted Solutions
Not applicable
Author

Fala meu amigo, estava com o mesmo problema. O que vc pode fazer 'e gerar um calendar com o scrip abaixo e depois aplicar um INTERVALMATCH (DATE2)

Data

Script do Calendario

LET vMesInicial = Date('01/01/2000');

LET vMesFinal = Date(MonthEnd(Today()));

//Criação da tabela Calendário utilizando o comando Autogenerate(), onde a quantidades de linhas é a diferença entre as variáveis criadas anteriormente.

CALENDARIO:

LOAD

[Data2] as Data,

Day(Data2) as Dia,

Month(Data2) as Mês,

Year(Data2) as Ano,

DayNumberOfQuarter(Data2) as [Dia Trimestre],

DayNumberOfYear(Data2) as [Dia Ano],

MonthName(Data2) as [Mes Ano],

QuarterName(Data2) as [Quarter],

Week(Data2) as [Semana],

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

WeekDay(Data2) as [Dia Semana];

LOAD

Date(MonthEnd(Today())- Recno()+1,'DD/MM/YYYY') as [Data2]

AUTOGENERATE(vMesFinal-vMesInicial+1);

View solution in original post

1 Reply
Not applicable
Author

Fala meu amigo, estava com o mesmo problema. O que vc pode fazer 'e gerar um calendar com o scrip abaixo e depois aplicar um INTERVALMATCH (DATE2)

Data

Script do Calendario

LET vMesInicial = Date('01/01/2000');

LET vMesFinal = Date(MonthEnd(Today()));

//Criação da tabela Calendário utilizando o comando Autogenerate(), onde a quantidades de linhas é a diferença entre as variáveis criadas anteriormente.

CALENDARIO:

LOAD

[Data2] as Data,

Day(Data2) as Dia,

Month(Data2) as Mês,

Year(Data2) as Ano,

DayNumberOfQuarter(Data2) as [Dia Trimestre],

DayNumberOfYear(Data2) as [Dia Ano],

MonthName(Data2) as [Mes Ano],

QuarterName(Data2) as [Quarter],

Week(Data2) as [Semana],

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

WeekDay(Data2) as [Dia Semana];

LOAD

Date(MonthEnd(Today())- Recno()+1,'DD/MM/YYYY') as [Data2]

AUTOGENERATE(vMesFinal-vMesInicial+1);