martedì 2 luglio 2019

Grafico dinamico

In una dashboard forse vi è capitato di avere la possibilità di scegliere quale dimensione o metrica coinvolgere in un grafico, tramite una semplice tendina o un elenco di opzioni, senza dover modificare la struttura del grafico; si tratta di una soluzione interessante perchè rende la dashboard ancora più interattiva e flessibile per l'utilizzatore finale.
SAP Analytics Cloud permette questa possibilità in modo nativo, ma anche in Web Intelligence è possibile ottenere lo stesso risultato, ecco la soluzione:

1. Si creano due oggetti di tipo dimensione che vengono usati per creare due controlli di input
2. Si creano i due controlli di input che usano i due oggetti creati al punto 1 e si aggiungono dei valori a piacere
3. Si creano due oggetti, uno di tipo dimensione e l'altro di tipo metrica, oggetti che useremo nel grafico e che verificano la scelta fatta dall'utente con i controlli di input
4. Si crea un grafico che usa i due oggetti creati al punto 3
5. Si modificano i parametri del grafico in modo che i titoli degli assi X e Y siano dinamici

Ecco i dettagli:

Premessa:
per questa soluzione ho creato una piccola base dati in excel che contiene i seguenti dati, ho quindi creato una query con Web Intelligence che estrae tutti i dati.





1. Oggetti per i controlli:
Creiamo un oggetto di tipo dimensione, che si chiama "Dimensione", la sua formula sarà
="Classe"
Useremo questo oggetto in un controllo di input al passo 2

Creiamo un secondo oggetto di tipo dimensione, che si chiama "Metrica", la sua formula sarà
="Quantità"
Useremo questo oggetto in un controllo di input al passo 2





2. Controlli di input:
Creiamo un controllo di input, di tipo "Pulsanti di opzione", lo chiamiamo "Dimensione" e lo facciamo puntare all'oggetto "Dimensione" creato al punto 1, personalizziamo l'elenco di valori aggiungendo al valore già disponibile "Classe", anche l'elemento "Stato", elemento che dovremo digitare a mano e portare a destra. Togliamo l'opzione su "Consenti selezione di tutti i valori".

Creiamo un controllo di input, di tipo "Pulsanti di opzione", lo chiamiamo "Metrica" e lo facciamo puntare all'oggetto "Metrica" creato al punto 1, personalizziamo l'elenco di valori aggiungendo al valore già disponibile "Quantità", anche l'elemento "Valore", elemento che dovremo digitare a mano e portare a destra. Togliamo l'opzione su "Consenti selezione di tutti i valori".




Ecco il risultato finale




3. Oggetti per il grafico
Creiamo un oggetto di tipo dimensione, che chiameremo "Dimensione grafico" e che avrà la seguente formula
=Se([Dimensione]="Classe";[Classe];[Stato])
Da notare che nel mio esempio i controlli di input hanno solo due valori, quindi la formula riportata sopra non deve verificare altre sclete nel ramo no, ma se vi fossero, basta annidare un altro SE() nel ramo NO del primo SE().

Creiamo un oggetto di tipo indicatore, che chiameremo "Metrica grafico" e che avrà la seguente formula
=Se([Metrica]="Quantità";[Quantità];[Valore])
Da notare che nel mio esempio i controlli di input hanno solo due valori, quindi la formula riportata sopra non deve verificare altre sclete nel ramo no, ma se vi fossero, basta annidare un altro SE() nel ramo NO del primo SE().





4. Grafico
Creiamo un grafico a barre che utilizzi gli oggetti "Dimensione grafico" e "Metrica grafico" creati al punto 3, togliamo la legenda.




5. Assi del grafico
Modifichiamo i parametri del grafico, in modo che il Titolo dell'Asse Categoria sia di Tipo personalizzato e contenga la seguente formula nell'etichetta titolo
=[Dimensione]

Modifichiamo i parametri del grafico, in modo che il Titolo dell'Asse Valore sia di Tipo personalizzato e contenga la seguente formula nell'etichetta titolo
=[Metrica]






Il risultato finale sarà in grafcico che l'utilizzatore finale potrà governare tramite i controlli di input riportati a sinistra, dove potrà scegliere la dimensione da usare sull'asse X e la metrica da usare sull'asse Y.




lunedì 1 luglio 2019

Distribuzione di frequenze

Quando eseguiamo un conteggio e lo decliniamo per una dimensione molto dettagliata, otteniamo una lista poco leggibile, spesso è quindi necessario aggregarla.

Per esempio se abbiamo il conteggio dei ticket aperti per ogni cliente, otteniamo una lista di clienti e quindi il numero di ticket aperti al fianco di ogni cliente; questo tipo di lista non è sintetica, potremmo quindi necessitare di una distribuzione di frequenze, ovvero sapere quanti clienti hanno 3 ticket, quanti ne hanno 2 e quanti ne hanno 1, perchè la lista di dettaglio non ci serve, mentre la distribuzione è importante.

La seguente soluzione mostra come fare con Web Intelligence, con pochi click.

Il report che ho usato conta i ticket aperti per singolo cliente come anticipato sopra; ordinando per Z-A, ci sono clienti che ne hanno 3… 2  e 1, ma quanti sono quelli con 3 ticket, con 2 ticket e con 1 ticket?



Bottone destro sulla colonna del conteggio e quindi click su “inserisci interruzione”.


Sostituire la formula che webi mette come subtotale, mettendo la funzione min().


Inserire il conteggio della colonna dei clienti.

Attivare la funzione "Struttura" (Fold in inglese) dal menù Analisi / Interagisci e richiudere il ramo 1 per nascondere il dettaglio (il ramo si richiude tutto premendo 1, sul fondo dello schermo).

Giocando poi sulle proprietà dell’interruzione si possono togliere le intestazioni ripetute, e poi a valle andando sulle proprietà della tabella si può ripristinare l’intestazione generale di tabella (che Web Intelligence ha tolto quando abbiamo inserito l’interruzione).