domenica 17 marzo 2019

Canale YouTube

Ho creato un canale YouTube dedicato ai fondamentali di Business Objects e Web Intelligence.
Iscrivetevi mi raccomando!

Ecco il link:
Canale YouTube di Massimo Agosta

martedì 5 marzo 2019

Confronto tra Web Intelligence ed Excel

Mi capita spesso per lavoro di dover paragonare Web Intelligence ad Excel, perchè spesso Excel viene preso come punto di riferimento dagli utenti; per far comprendere meglio le potenzialità di Web Intelligence mi trovo quindi a dover elencare le funzionalità che Web Intelligence include, per sottolineare che alcune sono in sovrapposizione con Excel, mentre altre sono tipiche di uno strumento di Business Intelligence e quindi velocizzano il lavoro rispetto al famoso tool di casa Microsoft.

Ecco le funzionalità che secondo il mio personale parere vale la pena evidenziare, divise tra funzionalità di base e avanzate.

Base:
  • Gestione di tabelle e grafici
  • Pivot table
  • Formattazione di testo, bordi, sfondi, allineamento, testo a capo, ecc
  • Formattazione dei testi, date e numeri e formati personalizzati
  • Subtotali (Interruzioni)
  • Raggruppa e separa (Fold / Unfold)
  • Paginazione (Sezioni)
  • Calcoli semplici
  • Calcoli complessi
  • Formule
  • Variabili
  • Utilizzo di funzioni avanzate (matematiche, gestione delle date e dei testi, ecc)
  • Correttore delle formule errate
  • Help contestuale
  • Formattazione condizionata (Alert)
  • Best / Wrost (Classifica)
  • Ordinamento A-Z, Z-A e personalizzato
  • Annulla e Ripeti operazioni
  • Trova
  • Stampa
  • Filtri nella query
  • Filtri nello sheet
  • Filtri nell'oggetto
  • Gestione di diversi fogli (multi sheet)
  • Filtri semplici, complessi e tramite tendina
  • Condizioni dinamiche nelle query (Prompt)
  • Copia / Incolla degli oggetti (celle singole, Tabelle e Grafici)
  • Copia formato
  • Copia come testo o come immagine per incollare ovunque
  • Trasformazione tabella in grafico e viceversa
  • Template prestabiliti
  • Inserimento immagini e logo
  • Aggiornamento automatico all'apertura
  • Descrizione dei report al salvataggio con testo libero e parole chiave
  • Posizionamento automatico degli oggetti (Posizione relativa)
  • Indici (Abbinamento)
  • Riferimento puntuale a particolari celle di valori
  • Commenti
  • Export in PDF (con gestione dell'indice come nel report)
  • Export in Excel (con gestione dei grafici come grafici di Excel)
  • Export in CSV e Testo
  • Salva il report in locale o sul server
  • Accesso ai report sul server via web browser
  • Creazione di nuovi report via web browser
  • Descrizione degli oggetti contestuale
Avanzate:
  • Navigazione tra i dati su tabelle e grafici (Drill down, Drill up e Drill Across)
  • Fotografia statica di un report durante la navigazione (Snapshot durante il Drill)
  • Formule con operatori avanzati che consentono di aggregare i dati
  • Aggregazioni
  • Sottoquery
  • Query di Query
  • Query combinate (union, minus e intersect)
  • Gestione della priorità delle condizioni nella query con logica AND e OR
  • Gestione della priorità delle filtri nei report o negli oggetti con logica AND e OR
  • Utilizzo senza essere connessi al server (Off line)
  • Link tra report differenti (Report Linking)
  • Interazione con controlli di input come tendine, option box e check box
  • Confronto cambiamento dei dati tra diversi aggiornamenti (Track data changes)
  • Schedulazione automatica (oraria, giornaliera, settimanale, mensile,  a evento, su calendario prestabilito, ecc)
  • Distribuzione massiva di un report dove ogni ricevente vede solo i propri dati (Report bursting)
  • Conversione  di un oggetto del report in servizio Web
  • Query verso fonti personali come file Excel, file CSV o servizi Web (Multy query)
  • Query verso molteplici universi  (Multy query)
  • Sincronia delle query tramite gli attributi (dimensioni) in comune
  • Rimappatura di un report da un universo all’altro per riutilizzare il layout
  • Condivisione di componenti tra report diversi
Nota: per questo post la versione di riferimento è la BI 4.2 SP6

lunedì 4 marzo 2019

Unione di query tramite variabili

Una delle novità più interessanti introdotte dalla versione BI 4.2 SP3 di Web Intelligence è certamente la possibilità di unire (sincronizzare) le query utilizzando anche le variabili.
Questa funzione è interessante per chi sviluppa con BO perchè fino ad oggi si potevano sincronizzare le query solo attraverso le dimensioni di analisi disponibili nelle diverse query (fornitori di dati); introducendo invece la possibiltià di farlo anche attraverso le variabili del report, si avrà l'opportunità di sincronizzare i dati anche con fonti di dati che non possono avere tra loro la stessa chiave di dettaglio.

Faccio un esempio utilizzando l'universo di demo e-Fashion.

  • Se abbiamo una query che estrae dall'universo i dati di vendita per Anno e Negozio, dove l'anno e il negozio sono due dimensioni di analisi, avremo nel report una tabella con l'anno e il negozio su due colonne.
  • Se vogliamo confrontare i risultati di vendita ottenuti tramite l'universo con i dati di budget che magari ci arrivano da un file esterno, tale file dovrà fornire il budget per anno e negozio, esponendo queste due informazioni su due colonne diverse.
  • I file esterni non sempre sono modificabili o comunque per farlo dovremo dedicare del tempo per fare le opportune trasformazioni sui dati del file esterno, in questo caso il file del budget; se il file dovesse arrivarci con l'anno e il negozio concatenati, dovremo adeguarlo in modo che l'anno e il negozio siano su due colonne diverse, perchè Web Intelligence per fare uso dell'unione, necessita di due colonne distinte.
  • Grazie alla nuova funzionalità introdotta potremo invece creare una nuova variabile nel nostro report Web Intelligence, che concateni l'anno e il negozio della query che punta all'universo e quindi potremo unire le due query (quella che punta all'universo e quella che punta al file del budget), utilizzando la variabile appena creata come elemento dell'unione.
Esempio di file dedicato al budget, dove l'anno e il negozio sono concatenati.


Selezione delle dimensioni da usare per l'unione, una delle due è una variabile creata nel report, che si occupa di concatenare l'anno e il negozio dalla query da universo.
Da notare il fatto che il budget viene esposto nella tabella a destra, ma si tratta del totale generale del budget.


Risultato finale a valle dell'unione.
Da notare che a valle dell'unione, la colonna del Budget si popola correttamente.


L'esempio potrebbe sembrare stupido, ma questa innovazione apre nuovi scenari di sincronizzazione tra diverse query, perchè sarà possibile beneficiare delle variabili e delle formule che contengono, per ottenere una sincronizzazione a valle delle variabili, mentre prima era per forza necessario, per ottenere una sincronizzazione, far sviluppare nell'universo determinate logiche.

martedì 8 gennaio 2019

Somma se contiene

In Web Intelligence, grazie ad una semplice formula, è possibile aggregare (sommare) un metrica, ma solo se una determinata dimensione di analisi contiene un particolare valore.

Per esempio è possibile sommare il numero di chiamate di un cliente, ma solo se una dimensione di analisi contiene la parola "pippo".

Per risolvere questo problema, suggerisco di creare due variabili:

1. creare una variabile che dice se la dimensione di analisi che vogliamo controllare (la chiamerò attributo1) contiene o meno il testo che stiamo cercando (ad esempio la parola "pippo", scritta in qualsiasi punto nei valori della dimensione controllata).
Chiameremo la variabile "attributo pippo" e avrà la seguente formula:

=Confronta([attributo1];"*pippo*")

Questa variabile si valorizza con 1 quando la ricerca viene soddisfatta, cioè quando la parola "pippo" viene trovata da qualche parte nel testo dei valori della dimensione attributo1.

Nota importante: nel testo da ricercare si possono usare i caratteri jolly, cioè gli asterischi (li ho evidenziati in rosso), per dire che la parola da ricercare può essere scritta in qualsiasi punto, all'interno della stringa di testo dei valori della dimensione di analisi. Se non si mettono gli asterischi, il testo ricercato e il valore della dimensione di analisi dovranno corrispondere perfettamente.

2. creare una variabile che valorizzi la metrica filtrando la variabile che abbiamo creato al passo precedente =1 quindi la nostra nuova variabile, che possiamo chiamare "numero chiamate per attributo pippo", avrà la seguente formula:

=[Nr calls] Dove ([attributo pippo]=1)


La variabile al punto 1, che sostanzialmente fa la ricerca del testo, può essere anche gestita nel seguente modo, se non sappiamo come sarà scritto il testo da cercare, cioè se non sappiamo se viene scritto in maiuscolo o in minuscolo:

=Confronta(maiuscola([attributo1]);"*PIPPO*")

lunedì 10 dicembre 2018

Riferimenti puntuali alle celle

Una delle nuove funzionalità più interessanti introdotte dalla versione BI 4.2 SP3 di Web Intelligence è certamente la possibilità di creare dei riferimenti puntuali alle celle.

Si tratta di una funzione interessante perchè in alcune situazioni in Web Intelligence è possibile creare dei totali al termine di una tabella con un semplice click destro del mouse, ma per riportare la medesima informazione in una piccola tabella aggregata, si possono incontrare alcune difficoltà, perchè il microcubo del report può contenere molte informazioni di dettaglio, e se queste sono "unite" con informazioni di altre query, potrebbe non essere semplice riuscire a replicare, con una formula specifica scritta in una tabella di sintesi, lo stesso risultato che si è ottenuto in una tabella di dettaglio e calcolata con una semplice somma.

In alcuni report complessi, contenenti diverse query sincronizzate, dove ho realizzato formule complesse, ho incontrato alcune difficoltà quando ho dovuto riprodurre la stessa informazione in una tabella di sintesi, soprattutto se dovevo poi utilizzarla insieme ad altre formule in forma aggregata.

I riferimenti puntuali alle celle ci possono aiutare in queste situazioni: selezionando una particolare cella di una tabella è possibile creare un riferimento diretto a quella cella, ovvero al dato che essa contiene per le dimensioni che la caratterizzano e i rispettivi valori che hanno.
La funzionalità è disponibile con un semplice click destro del mouse dopo aver selezionato la cella per cui vogliamo creare un riferimento puntuale.
Si apre un box (vedi immagine) che ci da la possibilità di dare un nome logico al riferimento, oppure associare la cella selezionata ad un riferimento esistente (cioè cambiare il riferimento esistente in modo che punti alla cella che abbiamo selezionato).
Il riferimento sarà poi disponibile a sinistra nella zona dedicata agli oggetti del report, nella nuova sezione "References"; ovviamente, da qui in avanti, potremo creare delle formule o variabili che utilizzano i riferimenti appena creati, per richiamare quindi il valore a cui puntano i riferimenti ed utilizzarli comodamente per fare dei calcoli (come ad esempio nell'immagine dove si fa una somma in una cella isolata in alto a destra)



Nell'immagine riportata, nel momento in cui i dati non forniscono più delle occorrenze per l'anno 2014 e gli Store name "e-Fashion Huston 5th" ed "e-Fashion Colorado Springs", i riferimenti non forniranno più i valori selezionati. I riferimenti torneranno a fornire dei valori al ripresentarsi dell'anno 2014 e dei due Store name sopra citati.

lunedì 3 dicembre 2018

Web Intelligence Masker

L’ultima versione del SAP Business Objects BI Support Tool include una nuova funzionalità molto interessante, se consideriamo le recenti novità introdotte dal GDPR, sto parlando del “Web Intelligence Masker”.
Questo tool permette di modificare alcuni contenuti di un report, cioè sostituisce i dati con del testo casuale e quindi camuffa o maschera i contenuti, permettendoci di condividere il risultato finale anche con società esterne ad esempio, impedendo quindi la visualizzazione di dati riservati.
Il tool si collega al repository di BO, ci permette di selezionare il report (vedi immagine) e tramite alcuni semplici parametri da anche la possibilità di mascherare tutti i dati del report se necessario, per esporre sostanzialmente solo la struttura dello stesso, oppure per esempio, lasciare visibili tutti i numeri, in questo modo (vedi seconda immagine) il report diventa comunque generico per chi lo riceve, perché i numeri anche se reali, non sono legati ad informazioni aziendali utili.



Come funziona? È semplice, il Web Intelligence Masker esporta in un file excel il contenuto del report che abbiamo scelto, pubblica nel repository nella stessa cartella del report originale il file excel, ne maschera i contenuti e poi crea un nuovo report Web Intelligence identico al nostro e rimappa la query puntando al file excel.


giovedì 15 novembre 2018

Usare gli universi come strato semantico applicativo per estrarre dati

Tutti gli esperti BO conoscono bene i benefici e le potenzialità degli Universi di BO, perchè costituiscono lo strato semantico che separa l'utente dai dati.
Gli universi contengono modelli dati, nomi di business degli oggetti, commenti e permettono di gestire in un solo punto eventuali evolutive, senza creare impatti agli utenti e ai report.

SAP consente ad applicazioni di terzi di beneficiare di tutto questo, per estrarre dati oppure per creare applicazioni alternative e personalizzate a Web Intelligence o semplicemente per estrarre metadati.

L'interfaccia avviene tramite servizi REST APIs e i set di dati sono disponibili via protocollo OData.

Diverse applicazioni stanno già beneficiando di questa possibilità, come Oracle Eloqua e Alteryx.

Ecco il link alla pagina di SAP che spiega tutto: link