Skip to main content
Announcements
See what Drew Clarke has to say about the Qlik Talend Cloud launch! READ THE BLOG
cancel
Showing results for 
Search instead for 
Did you mean: 
dodinho
Contributor II
Contributor II

Subtotali su misure

Buongiorno

Ho creato una pivot che visualizza un elenco di clienti a cui ho associato il fatturato prodotto nel 2022 e 2023, da cui ho ricavato il delta in valore assoluto e percentuale che mi indica se il fatturato è aumentato o diminuito da un anno all'altro.

Come ulteriore informazione, ho aggiunto una colonna (KPI), che identifica vari gruppi di valori della colonna delta%: ad esempio se un certo gruppo di clienti ha un delta % minore di 0, lo chiamerò  'A', per i gruppi con delta da 0 a 25%, lo chiamerò 'B', per i gruppi da 25% a 50% lo chiamerò 'C' e così via.

Ecco un esempio

CLIENTE FATTURATO 2023 FATTURATO 2022  DELTA DELTA%  KPI
Rossi                          100 €                              125 € -               25 € -20% A
Bianchi                             85 €                                90 € -                  5 € -6% A
Verdi                             90 €                                80 €                  10 € 13% B
Rosa                          150 €                              145 €                     5 € 3% B
Giallo                          200 €                              150 €                  50 € 33% C
Marrone                          125 €                                85 €                  40 € 47% C

 

A questo punto, avrei bisogno di conoscere il numero dei clienti ed il valore del Delta in valore assoluto di ogni gruppo della colonna del KPI, in modo che venga visualizzata una tabella di questo tipo:

KPI NR CLIENTI FATTURAPreparazione datiTO
A 2 -                             30 €
B 2                                15 €
C 2 Preparazione dati                               90 €

 

Non sono ancora riuscito a trovare un sistema che mi consenta di creare una pivot del genere, poichè le lettere della colonna KPI sono considerate misure, in quanto identificano degli intervalli di valori.

C'è qualche anima pia che ha la soluzione a questo problema?

Grazie

Piergiorgio

Labels (1)
1 Solution

Accepted Solutions
gomeri
Partner - Contributor III
Partner - Contributor III

Ciao @dodinho, ora che abbiamo trovato un modo per ricreare la tabella da te richiesta ti faccio alcune domande per capire come possiamo risolvere il problema sulla tua app di Qlik Sense.

Se fai "Modifica Foglio" e clicchi sulla tabella e vai nel menu a destra nelle dimensioni e fai "Add" o "Aggiungi", puoi inserire una dimensione calcolata cliccando su questo simbolo?

gomeri_0-1703699386141.png

 

 

 

 

Giovanni O. D.

View solution in original post

10 Replies
gomeri
Partner - Contributor III
Partner - Contributor III

Ciao @dodinho, per ottenere il risultato richiesto devi creare una tabella pivot con le seguenti dimensioni e misure:

1. La dimensione KPI deve essere una dimensione calcolata che comprende i valori da te indicati, delta<0 è uguale a 'A', delta >0 e delta <= 25 è uguale a 'B', altrimenti delta è uguale a 'C':

=if( ([FATTURATO 2023]-[FATTURATO 2022 ])/[FATTURATO 2022 ] <0, 'A', if( ([FATTURATO 2023]-[FATTURATO 2022 ])/[FATTURATO 2022 ] >0 AND ([FATTURATO 2023]-[FATTURATO 2022 ])/[FATTURATO 2022 ] <= 0.25, 'B', 'C' ) )

2. Per poter contare i clienti è necessario aggiungere la dimensione CLIENTE dopo la dimensione KPI.

3. Per calcolare il numero di clienti è necessario creare un'altra dimensione e usare l'espressione: COUNT(CLIENTE)

4. Per calcolare il campo FATTURATO è necessario creare una misura

=SUM([FATTURATO 2023]-[FATTURATO 2022 ])

 

Il risultato è seguente:

gomeri_0-1702983279456.png

Dimensioni e Misure:

gomeri_1-1702983308553.png

Grazie

Giovanni Omeri D'Olif

Giovanni O. D.
dodinho
Contributor II
Contributor II
Author

Ciao Giovanni

Innanzitutto ti ringrazio per la cortese risposta.   In effetti avevo proceduto nel modo che anche tu mi hai indicato, però nel momento in cui inserivo il campo KPI nella prima colonna, veniva considerata come misura e quindi non mi permetteva di costruire la pivot nel modo che tu hai descritto.

Invece ho visto che tu ci sei riuscito.    Ho utilizzato anch'io lo stesso tipo di formula per ricavare 'A' 'B' e 'C', però come ti dicevo me lo considera misura

gomeri
Partner - Contributor III
Partner - Contributor III

Ciao @dodinho,

hai aggiunto la colonna KPI come dimensione calcolata o come espressione?

La versione di Qlik è View o Sense?

Hai sviluppato la dimensione calcolata all'interno dello script o all'interno del grafico?

Se riesci mandami pure uno Screenshot così cerco di contestualizzare al meglio il problema.

Grazie

Giovanni O. D.
dodinho
Contributor II
Contributor II
Author

La versione è Qlik Sense.    La colonna KPI con le formule 'if(..........)', riesco ad inserirla solo fra le 'Measures' come espressione.    Non appena posso, ti trasmetto anche uno Screenshot con le dimensioni e misure della pivot

dodinho
Contributor II
Contributor II
Author

La Pivot che ho costruito ha questa struttura:

dodinho_0-1703079358653.png

Quindi in base alla differenza di fatturato che ha prodotto ogni singolo cliente fra il 2023 e il 2022, ho inserito una colonna denominata KPI, in cui vengono denominati i risultati di questi confronti:

se il confronto da un delta pari a - 100%, allora il KPI è uguale a 'Perso'

Se il delta va da - 15% a -99,9% allora il KPI è uguale a 'Calo Importante' e così via.

I vari KPI sono stati creati con la seguente formula:

if($(v_Ricavo_AC) = 0 and $(v_Ricavo_AP) > 0, 'Perso',
if((($(v_Ricavo_AC) - $(v_Ricavo_AP))/$(v_Ricavo_AP)) > -1 and (($(v_Ricavo_AC) - $(v_Ricavo_AP))/$(v_Ricavo_AP)) < - 0.15, 'Calo Importante',
if((($(v_Ricavo_AC) - $(v_Ricavo_AP))/$(v_Ricavo_AP)) >= -0.15 and (($(v_Ricavo_AC) - $(v_Ricavo_AP))/$(v_Ricavo_AP)) <= - 0.04, 'Calo',
if((($(v_Ricavo_AC) - $(v_Ricavo_AP))/$(v_Ricavo_AP)) > -0.04 and (($(v_Ricavo_AC) - $(v_Ricavo_AP))/$(v_Ricavo_AP)) < 0.04, 'Consolidato',
if((($(v_Ricavo_AC) - $(v_Ricavo_AP))/$(v_Ricavo_AP)) >= 0.04 and (($(v_Ricavo_AC) - $(v_Ricavo_AP))/$(v_Ricavo_AP)) <= 0.15, 'Aumento',
if((($(v_Ricavo_AC) - $(v_Ricavo_AP))/$(v_Ricavo_AP)) > 0.15 and (($(v_Ricavo_AC) - $(v_Ricavo_AP))/$(v_Ricavo_AP)) <> 1, 'Aumento Importante',
if($(v_Ricavo_AC) > 0 and - $(v_Ricavo_AP) = 0, 'Nuovo',
)))))))

Il mio obiettivo adesso è creare una tabella riepilogativa per ogni singolo KPI:

KPI Nr. Clienti Delta Fatturato
Perso 127 -79.088,22 €
Calo importante 45 -160.243,39 €
Calo 9 -10.803,38 €
Consolidato 6 1.238,73 €
Aumento 13 7.117,14 €
Aumento Importante 52 127.055,62 €
Nuovo 116 67.816,57 €

 

Attualmente non mi è possibile creare in Qlik una tabella del genere perchè non riesco a portare i dati del KPI sulla colonna delle dimensioni, perchè i dati vengono considerati misure.

 

 

 

 

 

 

gomeri
Partner - Contributor III
Partner - Contributor III

Ciao @dodinho, ora che abbiamo trovato un modo per ricreare la tabella da te richiesta ti faccio alcune domande per capire come possiamo risolvere il problema sulla tua app di Qlik Sense.

Se fai "Modifica Foglio" e clicchi sulla tabella e vai nel menu a destra nelle dimensioni e fai "Add" o "Aggiungi", puoi inserire una dimensione calcolata cliccando su questo simbolo?

gomeri_0-1703699386141.png

 

 

 

 

Giovanni O. D.
vinieme12
Champion III
Champion III

Wrap your expression in AGGR() and Use Below as a Dimension

 

DIMENSION:

KPI

= Aggr (

if($(v_Revenue_AC) = 0 and $(v_Revenue_AP) > 0, 'Lost',
if((($(v_Revenue_AC) - $(v_Revenue_AP))/$(v_Revenue_AP)) > -1 and (($(v_Revenue_AC) - $(v_Revenue_AP))/$(v_Revenue_AP)) < - 0.15, 'Major Drop',
if((($(v_Revenue_AC) - $(v_Revenue_AP))/$(v_Revenue_AP)) >= -0.15 and (($( v_Revenue_AP) - $(v_Revenue_AP))/$(v_Revenue_AP)) <= - 0.04, 'Decrease',
if((($(v_Revenue_AC) - $(v_Revenue_AP))/$(v_Revenue_AP)) > -0.04 and (($ (v_Revenue_AP) - $(v_Revenue_AP))/$(v_Revenue_AP)) < 0.04, 'Consolidated',
if((($(v_Revenue_AP) - $(v_Revenue_AP))/$(v_Revenue_AP)) >= 0.04 and (($( v_Revenue_AC) - $(v_Revenue_AP))/$(v_Revenue_AP)) <= 0.15, 'Increase',
if((($(v_Revenue_AP) - $(v_Revenue_AP))/$(v_Revenue_AP)) > 0.15 and (($(v_Revenue_AC)) ) - $(v_Revenue_AP))/$(v_Revenue_AP)) <> 1, 'Important Increase',
if($(v_Revenue_AC) > 0 and - $(v_Revenue_AP) = 0, 'New',
)))))))  ,  CLIENT )

 

Measure:

NoOfCustomer =Count(Distinct CLIENT)

DeltaTurnOver =  <Expression for Turnover>

 

Vineeth Pujari
If a post helps to resolve your issue, please accept it as a Solution.
dodinho
Contributor II
Contributor II
Author

Ciao Giovanni

Purtroppo non mi accetta la dimensione calcolata

dodinho_0-1704185341403.png

 

dodinho
Contributor II
Contributor II
Author

MAGNIFICO Vineeth!

Inserendo la funzione 'Aggr' , l'intera espressione viene considerata una dimensione e riesco ad ottenere i subtotali nel modo seguente:

dodinho_0-1704189017581.png

Grazie mille per il tuo preziosissimo aiuto. Ti devo un caffè 🙂

Piergiorgio