Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
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
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?
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:
Dimensioni e Misure:
Grazie
Giovanni Omeri D'Olif
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
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
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
La Pivot che ho costruito ha questa struttura:
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.
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?
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>
Ciao Giovanni
Purtroppo non mi accetta la dimensione calcolata
MAGNIFICO Vineeth!
Inserendo la funzione 'Aggr' , l'intera espressione viene considerata una dimensione e riesco ad ottenere i subtotali nel modo seguente:
Grazie mille per il tuo preziosissimo aiuto. Ti devo un caffè 🙂
Piergiorgio