Le novità previste da SAP nella roadmap di Web Intelligence 4.2, per il 2018 e il 2019, sono molto interessanti, ecco il link al PDF visibile tramite account SAP.
Roadmap Web Intelligence 4.2
Blog non ufficiale in italiano dedicato a Business Objects e Web Intelligence; qui puoi trovare soluzioni pratiche che nascono da casi reali, idee interessanti e piccoli trucchi o suggerimenti. Chiunque può contribuire per segnalare errori o soluzioni migliori.
venerdì 23 febbraio 2018
lunedì 5 febbraio 2018
Creare una variabile per gestire l'IP warming
Nei progetti di Campaign Management una cosa fondamentale da gestire quando si apre il canale di invio via Email è quella dell'invio iniziale delle Email, rispettando una crescita uniforme dei volumi, per evitare che il gestore del domino delle mail (ad esempio Gmail) possa confondere il flusso di Email come SPAM e blocchi quindi i messaggi.
In gergo tecnico questa attività si chiama "ip warming"; al seguente link si può leggere una spiegazione molto utile.
https://sendgrid.com/blog/what-is-and-what-isnt-an-ip-warm-up/
Nell'ipotesi di poter estrarre con BO dal nostro DWH i contatti Email dei nostri clienti, la seguente soluzione mostra come è possibile creare dei pacchetti di N indirizzi, per ogni dominio, per "scaldare"quindi il nostro IP al cospetto del gestore della casella di posta destinataria, ovvero il dominio (ad esempio Gmail), ed evitare di essere bloccati. Il report quindi assegna ogni cliente (e relativa Email) ad un pacchetto, ed i pacchetti di indirizzi si potranno usare in momenti diversi, a parità di dominio, per non destare sospetti nel gestore di quel dominio.
Nel mio report di esempio abbiamo:
Di seguito ci sono le formule che ho utilizzato in BO per popolare la tabella (vedi immagini sotto); ecco alcuni aspetti fondamentali della soluzione:
In gergo tecnico questa attività si chiama "ip warming"; al seguente link si può leggere una spiegazione molto utile.
https://sendgrid.com/blog/what-is-and-what-isnt-an-ip-warm-up/
Nell'ipotesi di poter estrarre con BO dal nostro DWH i contatti Email dei nostri clienti, la seguente soluzione mostra come è possibile creare dei pacchetti di N indirizzi, per ogni dominio, per "scaldare"quindi il nostro IP al cospetto del gestore della casella di posta destinataria, ovvero il dominio (ad esempio Gmail), ed evitare di essere bloccati. Il report quindi assegna ogni cliente (e relativa Email) ad un pacchetto, ed i pacchetti di indirizzi si potranno usare in momenti diversi, a parità di dominio, per non destare sospetti nel gestore di quel dominio.
Nel mio report di esempio abbiamo:
- un campo chiave che caratterizza il Cliente, si chiama GUID
- l'indirizzo Email preferito del cliente
- il dominio che corrisponde alla sua Email preferita (utile per raggruppare tutti i destinatari che hanno lo stesso dominio)
- il peso del dominio, ovvero quanti Clienti hanno lo stesso dominio Email (utile per calcolare i pacchetti sulla base del numero di singole Email che devono comporre un singolo pacchetto)
- il progressivo nel dominio, ovvero un contatore progressivo all'interno del medesimo dominio (utile per capire quando si deve passare al pacchetto successivo)
- la dimensione del singolo cluster, ovvero il numero di Email massimo che si vogliono inserire nel singolo pacchetto, si tratta di un parametro fisso che possiamo inserire a mano nel report
- il Cluster di invio, cioè in quale pacchetto di invio deve andare quel Cliente
Di seguito ci sono le formule che ho utilizzato in BO per popolare la tabella (vedi immagini sotto); ecco alcuni aspetti fondamentali della soluzione:
- le seguenti formule devono essere sempre indicatori
- abbiamo il Peso Dominio, ovvero il calcolo del peso totale del dominio; si deve inserire nella tabella un ordinamento per questa informazione, per avere quindi i Guid (chiave) del medesimo dominio tutti vicini e permettere al Progressivo nel Dominio (che poi è un conteggio cumulato posizionale) di lavorare bene, soprattutto perché ha una rottura sul dominio nella formula, se i dati sono ordinati male in tabella, non funziona
- il calcolo del pregressivo nel dominio funziona tramite un conteggio cumulato
Formule:
Dominio mail
=Inferiore(Destra([Prefered Contact Mail];(Lunghezza([Prefered Contact Mail])-Pos([Prefered Contact Mail];"@")+1)))
Cluster Invio
=InteroSup([Progressivo-su-dominio]/[Dimensione-Cluster])
Dimensione Singolo Cluster (modificabile a piacere)
=20000
Peso Dominio
=Conteggio([Prefered Contact Mail]) In ([Dominio mail])
Progressivo nel Domionio
=ConteggioCumulato([Prefered Contact Mail];FORCE_COL;([Dominio mail]))
venerdì 17 novembre 2017
Copia di una condizione da una query all'altra
Piccola nota interessante: in Web Intelligence Rich Client è possibile copiare una condizione di una query in un'altra query. Per farlo si deve trascinare la condizione sul tab della query di destinazione e attendere alcuni istanti, e poi, mantenendo il tasto del mouse premuto, trascinarla nella zona delle condizioni della query di destinazione.
lunedì 6 novembre 2017
SAP BI Platform Support Tool
Segnalo questo utilissimo tool di supporto gratuito, perchè tra le varie funzioni consente di fare l'analisi di impatto degli universi (diretta per gli universi UNX e indiretta per gli universi UNV, cioè tramite una temporanea conversione da UNV a UNX).
Anche le altre funzionalità sono molto interessanti, come le dipendenze degli oggetti partendo da un report oppure l'accesso diretto ai diritti di un gruppo e la comparazione rispetto ad un altro gruppo.
Esiste anche la possibilità di fare un'analisi end to end tramite un trace (modifica temporaneamente il file .ini), il tool quindi si può rivelare molto utile per chi si occupa di supporto tecnico alla piattaforma.
Il tool si installa facilmente su un PC Client (deve essere a 64 bit) ed ha un'interfaccia molto intuitiva.
Supporta le versioni dalla 4.0 in poi.
SAP BI Platform Support Tool
Anche le altre funzionalità sono molto interessanti, come le dipendenze degli oggetti partendo da un report oppure l'accesso diretto ai diritti di un gruppo e la comparazione rispetto ad un altro gruppo.
Esiste anche la possibilità di fare un'analisi end to end tramite un trace (modifica temporaneamente il file .ini), il tool quindi si può rivelare molto utile per chi si occupa di supporto tecnico alla piattaforma.
Il tool si installa facilmente su un PC Client (deve essere a 64 bit) ed ha un'interfaccia molto intuitiva.
Supporta le versioni dalla 4.0 in poi.
SAP BI Platform Support Tool
venerdì 3 novembre 2017
Confronto insiemistico tra due query
Con Web Intelligence a volte abbiamo la necessità di confrontare i contenuti di due query e vogliamo capire quali righe arrivano da una query e quali dall'altra.
Nell’esempio riportato sotto abbiamo due query, la prima estrae alcuni ID disponibili anche nella seconda
query, ma per entrambe le query vi sono identificativi che non sono presenti in
entrambi gli insiemi (verde e rosso).
In
una tabella guidata dall’oggetto «id unito» Web Intelligence espone
automaticamente l’unione degli insiemi; nessun filtro viene applicato alla
tabella.
Creando
due variabili che contano, per ogni query, gli ID, usando l’opzione «Tutto» per
costringere il conteggio a contare in modo non
distinto, si ottiene un flag che consente di capire se l’identificativo è
presente in una query o in entrambe.
Filtrando
opportunamente i due flag sarà possibile ottenere
1.l’intersezione
dei due insiemi
2.la
differenza A-B
3.La
differenza B-A (il filtro che si vede in alto nell'immagine si riferisce alla tabella 3)
martedì 31 ottobre 2017
Distribuzione di frequenza
Quando si contano degli eventi avvenuti ad esempio per ogni cliente, è spesso importante poter calcolare la distribuzione della frequenza degli eventi, in forma aggregata.
Ad esempio: i nostri clienti hanno la facoltà di collegarsi alla nostra rete WiFi con il loro smartphone, vogliamo capire quanti sono i clienti che si collegano tanto, poco e pochissimo e magari capire quale può essere la distribuzione.
Se contiamo gli eventi di collegamento alla rete WiFi per cliente, possiamo avere un elenco di clienti, e per ognuno il numero di connessioni alla rete WiFi.
Ordinando il numero di collegamenti in modalità Z-A vedremo quali sono i clienti che si collegano più spesso, ma l'elenco sarà infinito, perchè ci saranno clienti che si collegano n volte, poi n-1, poi n-2.
Grazie ad una semplice formula possiamo raggruppare velocemente i clienti, ovvero possiamo creare una dimensione di analisi che aggreghi i clienti che fanno parte di una certa fascia, cioè hanno un range di numero di collegamenti comune, e quindi contare quanti clienti appartengono ad una certa fascia di numero di collegamenti.
Nell'ipotesi quindi di avere dall'universo una query che ci fornisce Codice cliente e Numero di connessioni WiFi (magari in un determinato periodo), possiamo creare la dimensione di analisi "Range", ecco la formula:
"Range"
=Se([WiFi Access - Nr of Connection] In ([Customer number])>20;">20";
Se(([WiFi Access - Nr of Connection] In ([Customer number])<=20 E [WiFi Access - Nr of Connection] In ([Customer number])>10);"10-20";
Se(([WiFi Access - Nr of Connection] In ([Customer number])<=10 E [WiFi Access - Nr of Connection] In ([Customer number])>5);"5-10";
[WiFi Access - Nr of Connection] In ([Customer number])
)
)
)
Se la metrica che conta i collegamenti (ovvero gli eventi che vogliamo contare) non fosse disponibile nell'universo, ma sono comunque disponibili le informazioni di base, ovvero il Codice del cliente e il Codice dell'evento di collegamento (o il codice dell'evento che vogliamo contare), si può fare una query per estrarrei i due codici e quindi contare gli eventi per ogni cliente, tramite la seguente formula.
"Nr Connessioni"
=Conteggio([Codice collegamento]) In ([Customer number])
Creando una tabella che espone il Codice cliente e il nuovo oggetto che abbiamo appena creato, cioè il Numero di Connesisoni, otterremo per ogni cliente il numero di Connessioni.
Questa formula ci consentirà di avere la stessa tabella riportata nell'immagine in alto a sinistra; non sarà comunque possibile usare la formula dedicata al "Range" riportata sopra, perchè non avendo un conteggio nativo dall'universo, ma avendo fatto il conteggio degli eventi di collegamento dal Report, la formula dedicata al "Range" tenderà ad aggregare i dati, perchè il Conteggio all'interno dell'oggetto "Nr Connessioni" è una funzione di aggregazione.
Sarà possibile ovviare a questo problema pubblicando la tabella come servizio web (bottone destro del mouse sul bordo della tabella). A questo punto, creando un nuovo report, che usa come fonte il servizio web appena creato, sarà possibile ottenere un fornitore dati che ha in ingresso il conteggio già pronto, degli eventi di collegamento per cliente, quindi si potrà creare in questo nuovo report la dimensione "Range" descritta sopra.
Ad esempio: i nostri clienti hanno la facoltà di collegarsi alla nostra rete WiFi con il loro smartphone, vogliamo capire quanti sono i clienti che si collegano tanto, poco e pochissimo e magari capire quale può essere la distribuzione.
Se contiamo gli eventi di collegamento alla rete WiFi per cliente, possiamo avere un elenco di clienti, e per ognuno il numero di connessioni alla rete WiFi.
Ordinando il numero di collegamenti in modalità Z-A vedremo quali sono i clienti che si collegano più spesso, ma l'elenco sarà infinito, perchè ci saranno clienti che si collegano n volte, poi n-1, poi n-2.
Grazie ad una semplice formula possiamo raggruppare velocemente i clienti, ovvero possiamo creare una dimensione di analisi che aggreghi i clienti che fanno parte di una certa fascia, cioè hanno un range di numero di collegamenti comune, e quindi contare quanti clienti appartengono ad una certa fascia di numero di collegamenti.
Nell'ipotesi quindi di avere dall'universo una query che ci fornisce Codice cliente e Numero di connessioni WiFi (magari in un determinato periodo), possiamo creare la dimensione di analisi "Range", ecco la formula:
"Range"
=Se([WiFi Access - Nr of Connection] In ([Customer number])>20;">20";
Se(([WiFi Access - Nr of Connection] In ([Customer number])<=20 E [WiFi Access - Nr of Connection] In ([Customer number])>10);"10-20";
Se(([WiFi Access - Nr of Connection] In ([Customer number])<=10 E [WiFi Access - Nr of Connection] In ([Customer number])>5);"5-10";
[WiFi Access - Nr of Connection] In ([Customer number])
)
)
)
La formula aggrega il numero di collegamenti per singoli cliente e tramite un IF verifica in quale fascia ricade, quindi espone un'etichetta di testo.
Sarà quindi possibile passare dalla tabella di dettaglio riportata sulla sinistra, nell'immagine sotto, alla tabella aggregata di destra e magari fare un grafico se necessario.
"Nr Connessioni"
=Conteggio([Codice collegamento]) In ([Customer number])
Creando una tabella che espone il Codice cliente e il nuovo oggetto che abbiamo appena creato, cioè il Numero di Connesisoni, otterremo per ogni cliente il numero di Connessioni.
Questa formula ci consentirà di avere la stessa tabella riportata nell'immagine in alto a sinistra; non sarà comunque possibile usare la formula dedicata al "Range" riportata sopra, perchè non avendo un conteggio nativo dall'universo, ma avendo fatto il conteggio degli eventi di collegamento dal Report, la formula dedicata al "Range" tenderà ad aggregare i dati, perchè il Conteggio all'interno dell'oggetto "Nr Connessioni" è una funzione di aggregazione.
Sarà possibile ovviare a questo problema pubblicando la tabella come servizio web (bottone destro del mouse sul bordo della tabella). A questo punto, creando un nuovo report, che usa come fonte il servizio web appena creato, sarà possibile ottenere un fornitore dati che ha in ingresso il conteggio già pronto, degli eventi di collegamento per cliente, quindi si potrà creare in questo nuovo report la dimensione "Range" descritta sopra.
lunedì 30 ottobre 2017
Personalizzare l'aspetto del BI Launch Pad
A volte è necessario personalizzare l'aspetto del "BI Launch Pad" (il portale di accesso via web a Business Objects); nella versione XI 3.x la modifica del logo era un'attività semplice e veloce (e questa magari poteva bastare) che si poteva fare dal CMC, tramite le proprietà dell'applicazione "Infoview".
Dalla versione BI 4.x l'attività di personalizzazione del sito è diventata un pò più complessa e richiede degli skill particolari, perchè si basa su file .css, ma a quanto pare sarà mantenuta in questa modalità nelle future versioni.
A tal proposito segnalo questo utilissimo tutorial.
Dalla versione BI 4.x l'attività di personalizzazione del sito è diventata un pò più complessa e richiede degli skill particolari, perchè si basa su file .css, ma a quanto pare sarà mantenuta in questa modalità nelle future versioni.
A tal proposito segnalo questo utilissimo tutorial.
Iscriviti a:
Post (Atom)






