Qlik Community

Qlik Brasil

Group community for Brazil users. discussion only in Portuguese.

Highlighted
Not applicable

Gráfico Cascata

Senhores, bom dia!

Encontrei no link abaixo um modelo muito útil de gráfico Cascata:

Qlik Sense Waterfall Chart (No Extension)

Consegui utilizar certinho dentro da minha realidade o modelo Dynamic Waterfall, utilizando o script do Sense.

Porém, somente consigo fazer um filtro.

Por exemplo, gostaria de filtrar por AnoMês, por vendedor e por área, mas nenhum funciona.

Tentei adaptar o codigo do modelo incluindo os campos que desejo filtrar, mas também não tive sucesso.

O código que estou utilizando é:

// Data from Data Source.

Cascata:

Load

"Obs",

Célula,

Account,

AnoMes_Vigência,

Comissão,

"Comissão REL",

"Status de renovação"

FROM [lib://11032016/Renovações_11.03.2016.xlsx]

(ooxml, embedded labels, table is [Renovações 2016]);

//This inline load is important to differentiate between offset and actual values.

Waterfall_Dimension:

LOAD * INLINE [

Dim

Offset

Value

];

// Two Steps are needed to achieve required table format.

Step_1:

Load

Obs, <- Campo que desejo filtrar

Célula, <- Campo que desejo filtrar (corresponde à área)

Account, <- Campo que desejo filtrar (corresponde ao vendedor)

AnoMes_Vigência, <- Campo que desejo filtrar (corresponde à área)

SUM(Comissão) as [A Renovar],

SUM(IF([Status de renovação]='Sim',[Comissão REL] )) as Sim,

SUM(IF([Status de renovação]='Não',[Comissão REL] )) as Não,

SUM(IF([Status de renovação]='Pendente',[Comissão REL] )) as Pendente,

SUM(IF([Status de renovação]='Cancelada',[Comissão REL] )) as Cancelada

Resident Cascata

GROUP BY Obs, Célula, Account, AnoMes_Vigência ;

Drop Table Cascata;

Step_2:

Crosstable(Stage,Amount)

Load * Resident Step_1;

Drop Table Step_1;

//Multiplier and Offset fields are pre-defined and joined.

Left join (Step_2)

LOAD * INLINE [

Stage, Multiplier, Offset

A Renovar, 1, 0

Não,-1, 1

Pendente, -1, 1

Cancelada, -1, 1

Sim, 1, 0

];

Alguém tem alguma ideia de como eu faço para que os filtros funcionem neste gráfico?

Obrigado desde já!

1 Solution

Accepted Solutions

Re: Gráfico Cascata

Douglas, como o cálculo esta fixo no script, você precisa adicionar esses campos na parte que faz o group by (no group by e também na listagem de campos)

3 Replies

Re: Gráfico Cascata

Douglas, como o cálculo esta fixo no script, você precisa adicionar esses campos na parte que faz o group by (no group by e também na listagem de campos)

Not applicable

Re: Gráfico Cascata

Valeu Yuri!

Fiz uns testes aqui e já entendi a sistemática.

Qdo eu conseguir chegar no resultado 100% esperado, eu posto o código aqui. (Y)

Not applicable

Re: Gráfico Cascata

Yuri, bom dia!

Apenas registrando aqui a resposta que tive de um outro colega e que funcionou perfeitamente.

Valeu novamente!!

===========================================================

Hi Douglas,

This worked for me:

  1. Include all of the fields you want to use to filter in the load of Step_1
  2. Specify all filtering fields in the group by syntax of Step_1.
  3. Include number of filtering fields in crosstable syntax of Step_2

Using Rangaraju R's example the updated script for Step_1 and Step_2 for two filters - Year and Quarter - would be:

Step_1:

Load

"YEAR",

"Quarter",

SUM(REV_A) as Rev_A,

SUM(REV_B) as Rev_B,

SUM(REV_C) as Rev_C,

SUM(COGS) as COGS,

SUM(EXPENSES) as Expenses,

SUM(LOSS) as Loss,

SUM("NET INCOME") as [Net Income]

Resident Dynamic_Data Group By "YEAR", "Quarter";

Drop Table Dynamic_Data;

Step_2:

Crosstable(Stage,Amount,2)

Load * Resident Step_1;

Drop Table Step_1;