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: 
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á!

Labels (1)
1 Solution

Accepted Solutions
nicolett_yuri

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)

View solution in original post

3 Replies
nicolett_yuri

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
Author

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
Author

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;