Qlik Community

Qlik Brasil

Group community for Brazil users. discussion only in Portuguese.

Highlighted
digo_hacke
New Contributor II

Ticket Médio período (M4 + Mês Anterior + Atual)

Boa Tarde,

     Me foi solicitado a desenvolver algo que chegue bem próximo da imagem abaixo. A conforme a imagem é analisar o ticket médio do mês selecionado com a seguinte diretriz.

Período Selecionado = Março/2018

     - Média do mês selecionado, que nesse caso é Mar/18.

     - Média do mês do ano anterior ao selecionado, que seria Mar/17

     - Média dos 4 meses do ano anterior da seleção, M4-2017 = (Média Dez/16 + Jan/17 + Fev/17 + Mar/17)

     - Média dos 4 meses do ano - 2 da seleção, M4-2016 = (Média Dez/15 + Jan/16 + Fev/16 + Mar/16)


E na parte superior do gráfico apontar em %Porcentagem os resultados comparando com o mês selecionado. Conforme imagem:

Comparativo % Ticket Médio.jpg

Segue abaixo os valores que pode ser usado para chegar nesses resultados.

Teste:

LOAD * inline [

Data_Emissao Nr_Nota Vl_Mercadoria

'05/12/2015' 500 1594

'07/12/2015' 570 1073

'10/12/2015' 630 1912

'07/01/2016' 680 1335,9

'11/01/2016' 750 954

'11/02/2016' 377 2678,88

'14/02/2016' 458 2454

'26/02/2016' 954 2882,57

'01/03/2016' 912 2256,8

'15/03/2016' 794 2323

'09/12/2015' 125 4611

'19/12/2015' 546 2350,8

'04/01/2016' 154 983,9

'12/01/2016' 415 2894,6

'21/01/2016' 548 3083,3

'18/02/2016' 154 6144

'24/02/2016' 764 1978,1

'08/03/2016' 265 1746,9

'11/03/2016' 846 1734

'07/03/2017' 784 1486

'18/03/2017' 845 15018

'02/03/2018' 315 10407] (delimiter is ' ');

Agradeço desde já o auxílio.

1 Solution

Accepted Solutions
digo_hacke
New Contributor II

Re: Ticket Médio período (M4 + Mês Anterior + Atual)

Boa Tarde,

Acabei encontrando uma extensão que me atende-se em partes minha necessidade, segue abaixo print da extensão AnyChart-Qlik-master.

Solução Ticket Médio.JPG

Existe alguma forma de trazer o Mês ou Ano na descrição acima?

Para quebrar um galho acabei fazendo assim:

=pick(Dim,

      'M4/2016',

      'M4/2017',

      'Mês/2017',

      'Mês/2018'

      )

E na medida ficou:

=pick(Dim,

Num( ( SUM ({<MesAno_Emissao_Nota={">=$(=Date(AddMonths(AddYears(Max(MesAno_Emissao_Nota),-2),-4),'MMM/YY'))

                                <=$(=Date(AddYears(Max(MesAno_Emissao_Nota),-2),'MMM/YY'))"}>}Vl_Mercadoria_NF) / COUNT (distinct PK_NotaFiscal) / 4)

, '###.###.###.###,##'),

Num( ( SUM ({<MesAno_Emissao_Nota={">=$(=Date(AddMonths(AddYears(Max(MesAno_Emissao_Nota),-1),-4),'MMM/YY'))

                                <=$(=Date(AddYears(Max(MesAno_Emissao_Nota),-1),'MMM/YY'))"}>}Vl_Mercadoria_NF) / COUNT (distinct PK_NotaFiscal) / 4)

, '###.###.###.###,##'),

Num( ( SUM ({<MesAno_Emissao_Nota={"$(=Date(AddMonths(AddYears(Max(MesAno_Emissao_Nota),-1),-0),'MMM/YY'))"}>}Vl_Mercadoria_NF) / COUNT (distinct PK_NotaFiscal))

, '###.###.###.###,##'),

Num( ( SUM ({<MesAno_Emissao_Nota={"$(=Date(AddMonths(Max(MesAno_Emissao_Nota),-0),'MMM/YY'))"}>} Vl_Mercadoria_NF) / COUNT (distinct PK_NotaFiscal))

, '###.###.###.###,##')

)

Outra situação que não estou conseguindo corrigir seria no filtro da data, pois o campo é Dimensão e não funciona o Distinct.

Filtro Data.JPG

Date(dataEmissao,'MMM/YY') as MesAno_Emissao_Nota

Dimensão MesAno_Emissao_Nota.JPG

2 Replies
thiago_justen
Valued Contributor III

Re: Ticket Médio período (M4 + Mês Anterior + Atual)

Assim?

Claro, o design fica por tua conta,mas as expressões funcionam.

Capturar.PNG

Expressões usadas:

    - Média do mês selecionado, que nesse caso é Mar/18.

          Avg({<MesAno={"$(=Max(MesAno))"}>}Vl_Mercadoria)        

    - Média do mês do ano anterior ao selecionado, que seria Mar/17

          Avg({<MesAno={"$(=Date(AddYears(Max(MesAno),-1),'MMM/YY'))"}>}Vl_Mercadoria)

    - Média dos 4 meses do ano anterior da seleção, M4-2017 = (Média Dez/16 + Jan/17 + Fev/17 + Mar/17)

          Avg({<MesAno={">=$(=Date(AddMonths(AddYears(Max(MesAno),-1),-4),'MMM/YY'))<=$(=Date(AddYears(Max(MesAno),-1),'MMM/YY'))"}>}Vl_Mercadoria)

    - Média dos 4 meses do ano - 2 da seleção, M4-2016 = (Média Dez/15 + Jan/16 + Fev/16 + Mar/16)

          Avg({<MesAno={">=$(=Date(AddMonths(AddYears(Max(MesAno),-2),-4),'MMM/YY'))<=$(=Date(AddYears(Max(MesAno),-2),'MMM/YY'))"}>}Vl_Mercadoria)

Criei o campo MesAno no script assim:

Teste:

LOAD

*,

    Date(Data_Emissao,'MMM/YY') as MesAno;

LOAD * inline [

Data_Emissao Nr_Nota Vl_Mercadoria

'05/12/2015' 500 1594

'07/12/2015' 570 1073

'10/12/2015' 630 1912

'07/01/2016' 680 1335,9

'11/01/2016' 750 954

'11/02/2016' 377 2678,88

'14/02/2016' 458 2454

'26/02/2016' 954 2882,57

'01/03/2016' 912 2256,8

'15/03/2016' 794 2323

'09/12/2016' 125 4611

'19/12/2016' 546 2350,8

'04/01/2017' 154 983,9

'12/01/2017' 415 2894,6

'21/01/2017' 548 3083,3

'18/02/2017' 154 6144

'24/02/2017' 764 1978,1

'08/03/2017' 265 1746,9

'11/03/2017' 846 1734

'07/03/2017' 784 1486

'18/03/2017' 845 15018

'02/03/2018' 315 10407] (delimiter is ' ');

Anexo segue o exemplo em que testei.

Abs e Sucesso!!

Thiago Justen Teixeira Gonçalves
WhatsApp: 24 98152-1675
Skype: justen.thiago
digo_hacke
New Contributor II

Re: Ticket Médio período (M4 + Mês Anterior + Atual)

Boa Tarde,

Acabei encontrando uma extensão que me atende-se em partes minha necessidade, segue abaixo print da extensão AnyChart-Qlik-master.

Solução Ticket Médio.JPG

Existe alguma forma de trazer o Mês ou Ano na descrição acima?

Para quebrar um galho acabei fazendo assim:

=pick(Dim,

      'M4/2016',

      'M4/2017',

      'Mês/2017',

      'Mês/2018'

      )

E na medida ficou:

=pick(Dim,

Num( ( SUM ({<MesAno_Emissao_Nota={">=$(=Date(AddMonths(AddYears(Max(MesAno_Emissao_Nota),-2),-4),'MMM/YY'))

                                <=$(=Date(AddYears(Max(MesAno_Emissao_Nota),-2),'MMM/YY'))"}>}Vl_Mercadoria_NF) / COUNT (distinct PK_NotaFiscal) / 4)

, '###.###.###.###,##'),

Num( ( SUM ({<MesAno_Emissao_Nota={">=$(=Date(AddMonths(AddYears(Max(MesAno_Emissao_Nota),-1),-4),'MMM/YY'))

                                <=$(=Date(AddYears(Max(MesAno_Emissao_Nota),-1),'MMM/YY'))"}>}Vl_Mercadoria_NF) / COUNT (distinct PK_NotaFiscal) / 4)

, '###.###.###.###,##'),

Num( ( SUM ({<MesAno_Emissao_Nota={"$(=Date(AddMonths(AddYears(Max(MesAno_Emissao_Nota),-1),-0),'MMM/YY'))"}>}Vl_Mercadoria_NF) / COUNT (distinct PK_NotaFiscal))

, '###.###.###.###,##'),

Num( ( SUM ({<MesAno_Emissao_Nota={"$(=Date(AddMonths(Max(MesAno_Emissao_Nota),-0),'MMM/YY'))"}>} Vl_Mercadoria_NF) / COUNT (distinct PK_NotaFiscal))

, '###.###.###.###,##')

)

Outra situação que não estou conseguindo corrigir seria no filtro da data, pois o campo é Dimensão e não funciona o Distinct.

Filtro Data.JPG

Date(dataEmissao,'MMM/YY') as MesAno_Emissao_Nota

Dimensão MesAno_Emissao_Nota.JPG