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

Verificar Mês

Bom dia pessoal,

Estou montando um gráfico que nele uso a dimensão ano, na expressão que necessito utilizar eu precisarei dividir pelo numero de meses "12" nos anos que já se passaram, mas quando eu filtrar o 2014 ele n pode dividir por 12 pois estamos no mês 8, como posso fazer este calculo?

Obrigado!!!

6 Replies
felipe_dutra
Partner - Creator
Partner - Creator

Você pode criar um FlagRealizado (FlagRealizado=1 para Mês/Ano <= MêsAno atual) no calendário e usar na expressão um Count({<FlagRealizado={1}>}Distintc Mês)

Abs,

Felipe

marcelviegas
Creator II
Creator II
Author

Oi Felipe,

Entendi a logica mas n esta carregando meu script, ve ai se tu pode me ajuda a acha o que esta de errado.

LET V_DATA_INI = '01/01/2011';

LET V_DATA_FIN = '31/12/2014';

[Calendario]:

LOAD

Date( Data, 'DD/MM/YYYY' ) as Data,

Date( Data, 'DD/MM/YYYY' ) as id_data,

Num( Day( Data ), '00' ) as DIA,

Month( Data ) as MES,

Year( Data ) as ANO,

DayNumberOfQuarter( Data ) as [Dia Trimestre],

DayNumberOfYear( Data ) as [Dia Ano],

MonthName( Data ) as [Mes Ano],

' Dia '& Num( Day( Data ), '00' )& MonthName( Data ) as [ DIA Mes Ano],

QuarterName( Data ) as Quarter,

Week( Data ) as Semana,

Ceil( Month( Data ) / 3 )&'º Trim' as Trimestre,

Ceil( Month( Data ) / 4 )&'º Quadr' as Quadrimest,

WeekDay( Data ) as [Dia Semana],

ApplyMap( 'MapDias', Text( WeekDay( Data ) ) ) as [N° Dia Semana],

AutoNumber( Data ) as Sequencial,

If( WeekDay( Data )= 'dom', 0, 1 ) as DiaUtil,

Year( Data )&Num( Month( Data ), 00 ) as [Ano Mes],

if(MonthName(Data)<= Max(MonthName( Data )),1,0) as qtdeMes,

Year( Data )&Num( Month( Data ),'00')&Num( Day( Data ), '00' ) as ID_CALENDARIO;

//FlagRealizado (FlagRealizado=1 para Mês/Ano <= MêsAno atual);

LOAD

Date( DATE('31/12/2014') - Recno(), 'DD/MM/YYYY' ) as Data

AutoGenerate( V_DATA_FIN - V_DATA_INI );

Not applicable

Boa tarde

Marcel,

Para chamar as variáveis utilize $(VariavelAqui);

exemplo:

AutoGenerate( $(V_DATA_FIN) - $(V_DATA_INI ));

Abraço

fernando_tonial
Partner - Specialist
Partner - Specialist

Olá, faça conforme esse exemplo.

[Calendario]:

LOAD

  Date( Data, 'DD/MM/YYYY' ) as Data,

  Date( Data, 'DD/MM/YYYY' ) as id_data,

  Num( Day( Data ), '00' ) as DIA,

  Month( Data ) as MES,

  Year( Data ) as ANO,

  DayNumberOfQuarter( Data ) as [Dia Trimestre],

  DayNumberOfYear( Data ) as [Dia Ano],

  MonthName( Data ) as [Mes Ano],

  ' Dia '& Num( Day( Data ), '00' )& MonthName( Data ) as [ DIA Mes Ano],

  QuarterName( Data ) as Quarter,

  Week( Data ) as Semana,

  Ceil( Month( Data ) / 3 )&'º Trim' as Trimestre,

  Ceil( Month( Data ) / 4 )&'º Quadr' as Quadrimest,

  WeekDay( Data ) as [Dia Semana],

  ApplyMap( 'MapDias', Text( WeekDay( Data ) ) ) as [N° Dia Semana],

  AutoNumber( Data ) as Sequencial,

  If( WeekDay( Data )= 'dom', 0, 1 ) as DiaUtil,

  Year( Data )&Num( Month( Data ), 00 ) as [Ano Mes],

  Year( Data )&Num( Month( Data ),'00')&Num( Day( Data ), '00' ) as ID_CALENDARIO,

  if(Data<= Today(),1,0) as _FlgRealizado;

  //FlagRealizado (FlagRealizado=1 para Mês/Ano <= MêsAno atual);

Load

  Date('$(V_DATA_INI)' + Recno() - 1) as Data

AutoGenerate (V_DATA_FIN - V_DATA_INI + 1);

Qlikfique-se.

Tonial.

Don't Worry, be Qlik.
marcelviegas
Creator II
Creator II
Author

Esta errado o meu script, pois não foi eu que criei ele meu colega falou que o codigo:

  1. Load 
  2.   Date('$(V_DATA_INI)' + Recno() - 1) as Data 
  3. AutoGenerate (V_DATA_FIN - V_DATA_INI + 1); 

venho por default, no que vai interferir?

Estou precisando resgatar o numero de mes dentro do ano,

por exemplo 2014(8),2013(12), 2012(12)(conforme o primeiro exemplo no post inicial).

Obrigado pessoal!!!

Not applicable

Bom dia

Marcel,

Não sei se entendi direito, mas é o formato abaixo que você precisa para o Ano(Mês)?

LET V_DATA_INI = '01/01/2011';

LET V_DATA_FIN = '31/12/2014';

[Calendario]:

LOAD

  Date( Data, 'DD/MM/YYYY' ) as Data,

  Date( Data, 'DD/MM/YYYY' ) as id_data,

  Num( Day( Data ), '00' ) as DIA,

  Month( Data ) as MES,

  Year( Data ) as ANO,

  DayNumberOfQuarter( Data ) as [Dia Trimestre],

  DayNumberOfYear( Data ) as [Dia Ano],

  MonthName( Data ) as [Mes Ano],

  ' Dia '& Num( Day( Data ), '00' )& MonthName( Data ) as [ DIA Mes Ano],

  QuarterName( Data ) as Quarter,

  Week( Data ) as Semana,

  Ceil( Month( Data ) / 3 )&'º Trim' as Trimestre,

  Ceil( Month( Data ) / 4 )&'º Quadr' as Quadrimest,

  WeekDay( Data ) as [Dia Semana],

  ApplyMap( 'MapDias', Text( WeekDay( Data ) ) ) as [N° Dia Semana],

  AutoNumber( Data ) as Sequencial,

  If( WeekDay( Data )= 'dom', 0, 1 ) as DiaUtil,

  Year( Data )&'('&Num( Month( Data ), 00) &')' as [Ano Mes],

  Year( Data )&Num( Month( Data ),'00')&Num( Day( Data ), '00' ) as ID_CALENDARIO,

  if(Data<= Today(),1,0) as _FlgRealizado;

  //FlagRealizado (FlagRealizado=1 para Mês/Ano <= MêsAno atual);

Load

  Date('$(V_DATA_INI)' + Recno() - 1) as Data

AutoGenerate (V_DATA_FIN - V_DATA_INI + 1);