Servizi di Francesco relativi Power BI

Power BI non è un Prodotto ma un Servizio
Per il fatto che non si compra un Prodotto ma si affitta un Servizio Cloud interno a Microsoft 365
Power BI non è un Prodotto ma un Sistema Complesso
Per il fatto che la costruzione di un Report prevede SEMPRE una attività a MONTE (lato Dati che sono la Materia Prima del Report) e SEMPRE una attività a VALLE (una volta realizzato il Report lo si deve Pubblicare nel Servizio Cloud).
Power BI non è un Prodotto ma un Sistema Complesso
A fronte di questa Complessità, quasi sempre sottovalutata, PCS offre una serie di Servizi.
  • C10 - Corso Base Microsoft (con alcune integrazioni a monte e a valle)
  • C20 - Corso Avanzato (per chi ha seguito il Corso Base Microsoft)
  • C30 - Corsi Monotematici (per chi deve approfondire uno specifico argomento)
  • C40 - Attività Post Formazione (tipicamente Affiancamento allo Sviluppo, Consulenza, ecc.)

C10 - Corso Base Microsoft - con integrazioni a monte e a valle

  • Il Corso Ufficiale di Microsoft (PL-300T00 Microsoft Power BI Data Analyst) è l'unico Corso Microsoft relativo a Power BI.
  • I primi Moduli del Corso (riportati nella sezione successiva) trattano aspetti “organizzativi” ed in particolare i Ruoli necessari, in Organizzazione di grandi dimensioni, per coprire l’intero processo della Business Intelligence.
  • Per i Moduli più operativi ai partecipanti sono richieste di preconoscenze di tipo medio alto.
  • Il programma e le relative esercitazioni sono miste, alcune semplici altre molto complesse.
  • In ogni caso si tratta di esercitazioni obbligate da eseguire passo passo seguendo rigorosamente le istruzioni del manuale.
  • Nessuna possibilità di deroghe, magari per approfondire e sperimentare aspetti di proprio interesse.
  • Il Corso ha una durata di 3 giorni utile per una prima e superficiale “infarinatura” di un Sistema Complesso per padroneggiare il quale “non basta una vita”.

Moduli del Corso Microsoft

  • Module 0 Introduction
  • Module 1 Getting Started with Microsoft Data Analytics
  • Module 2 Get Data in Power BI
  • Module 3 Clean, Transform, and Load Data in Power BI
  • Module 4 Design a Data Model in Power BI
  • Module 5 Create Model Calculations using DAX in Power BI
  • Module 6 Optimize Model Performance
  • Module 7 Create Reports
  • Module 8 Create Dashboards
  • Module 9 Perform Advanced Analytics
  • Module 10 Create and Manage Workspaces
  • Module 11 Manage Datasets in Power BI
  • Module 12 Row-level Security

Integrazioni PCS

  • A Monte - Funzionalità di Excel presenti anche in Power BI - Sperimentazioni in Excel
  • A Monte - Funzionalità di Base relative alla Business Intelligence presenti anche in Power BI - Sperimentazioni in Excel
  • A Valle - Uso di files Excel come Base Dati per Power BI - Varianti e Ottimizzazioni in Power BI
  • A Valle - Demo di Funzionalità Complesse di Power BI da approfondire nel Corso Avanzato
  • A Valle - Demo di Funzionalità Evolute di Power BI da approfondire nel Corso Avanzato
Complesse: facili da capire ma complicate da attivare (es. ToolTip, BookMark, ecc.)
Evolute: vanno prima capite per poterle attivare (es. Gestione e coordinamento dei Filtri, Confronti tra Periodi Temporali Paralleli, ecc.)

C20 Corso Avanzato - per chi ha seguito il Corso Base

Elenco indicativo eventualmente da raffinare e da arricchire prima del Corso se Corso a Commessa
Oppure a Inizio Corso se Corso a Calendario con i Partecipanti
Argomenti proposti relativamente ai quali valutare il livello cui spingere approfondimento in base all’interesse dei Partecipanti.
Durata 2gg. amplamento a 3gg. in caso di esigenza specifiche (es. miniconsulenza su specifiche problematiche)
  • Classificazione delle Fonti Dati e delle loro caratteristiche
  • Gestione Evoluta del Data Model (Pulizia delle Tabelle, Ingegnerizzazione delle Tabelle con le Misure, ecc.)
  • Uso evoluto del Query Editor per risolvere questioni complesse lato Dati. Uno sguardo al Linguaggio interno al Query Editor
  • Standardizzazione delle Misure Standard e Misure Testuali, che servono a prescindere
  • Costruzione di una Tabella Calendario ritagliata in funzione della Time Intelligence, ma non solo per questo uso
  • Tante Date in Tante Tabelle come risolverle usando un unico Calendario
  • Uso evoluto del ToolTip come Strumento per “scendere nel dettaglio” dei Dati
  • Sperimentazione dei vari tipi di Mappa. Valutazione delle Mappe più adatte ai propri Dati
  • Ripasso sistematico dei filtri. Gestione evoluta dei rapporti tra Visual che Filtrano e Visual che sono filtrati
  • Strumenti di Navigazione e di Interattività Base e Evoluti
  • Altro a richiesta, prima del Corso o se il tempo lo permette, durante il Corso
PCS dispone di oltre 1.000 Esempi (files PBIX) di uso di Power BI raccolti nel Corso del Tempo
In molti di questi vengono risolti specifici Problemi di Media o Alta complessità la cui Soluzione può essere adattata a Casi Reali
Questi Esempi di Soluzioni sono a disposizione sia del Corso Avanzato che di quelli Monotematici.

C30 CORSI MONOTEMATICI - APPROFONDIMENTO DI SPECIFICI ARGOMENTI

  • Corso Monotematico C31 - Cento Misure con Power BI
  • Corso Monotematico C32 - Power BI con Basi Dati MS SQL Server
  • Corso Monotematico C33 - Tutto sui Report Paginati
  • Corso Monotematico C34 - Tutto sulle Mappe di Power BI
  • Corso Monotematico C35 - Tutto sulla Time Intelligence di Power BI
  • Corso Monotematico C36 - Power BI e i dati Dati dal Web
  • Corso Monotematico C37 - Power BI prima e dopo la preparazione del Report (in preparazione)
  • Corso Monotematico C38 - Power BI e l’Architettura Power (in preparazione)
  • Corso Monotematico C39 - Power BI Chart Comuni Pie e Chart Speciali Waterfall ( (in preparazione)
  • Corso Monotematico C3A - Power BI Strumenti di Navigazione tra i Dati e di Interazione evoluta

C31 MONOTEMATICO - Cento Misure con Power BI

Solo a Commessa durata 2gg. (preventivo accordo con il Cliente su argomenti ed esercitazioni di interesse)
Eventuale ampliamento a 3gg. (con aggiunta del Corso C3A che riguarda argomenti trasversali tra i vari monotematici)
Chiunque abbia seguito un Corso Power BI di qualsiasi tipo e livello dovrebbe aver capito che la soluzione di qualsiasi problema di manipolazione e preparazione dei Dati (se non tutti almeno quasi tutti i problemi) comporta l'uso dello Strumento Misura.
Le Misure vengono ricalcolate nel Contesto e questi due concetti vanno studiati, capiti, digeriti e assimilati.
Le Misure usano le funzioni del Linguaggio DAX e le funzioni del Linguaggio DAX appartengono a diverse categorie, alcune semplici come quelle che troviamo anche in Excel ed altre tutt’altro che semplici, come quelle che troviamo in MS SQL Integration Services, insomma quelle che Creano all’interno del Data Model delle Nuove Tabelle.
Per non generare confusioni precisiamo che le funzioni DAX, il cui manuale PDF supera ad oggi le 900 pagine, in genere possono essere utilizzate per Creare Colonne oppure Misure.

Argomenti del Corso Monotematico Cento Misure con Power BI (elenco indicativo)

  • Capire da subito la differenza tra Colonne e Misure (per non dover poi ricominciare da capo)
  • Dare un’occhiata al Catalogo IKEA delle funzioni DAX e capire le varie Tipologie (come in Excel)
  • Funzioni DAX del tutto uguali a quelle di 10 e lode in Excel (IF come SE di Excel) (LookValue come CercaVerticale di Excel)
  • Altre Funzioni DAX del tutto uguali a quelle di Excel. Es. Formattazione, Manipolazione di Stringa, ecc.
  • Uso delle Misure in sostituzione delle Colonne (Teoria NoColumns)
  • Uso evoluto delle Misure che Creano Testi e relativo utilizzo
  • Rapporto tra Filtri e Misure
  • Funzioni DAX che tra i Parametri accettano Filtri
  • Uso evoluto delle Misure di Time Intelligence con o senza Calendario (in certi casi non è obbligatorio ma è consigliabile)
  • Uso evoluto delle Misure relative all’User e all’Ambiente
  • Uso evoluto delle Misure che Creano Tabelle
  • Uso evoluto del Comando Calculate per creare Funzioni DAX che non esistono (es. PreviousWeek)
  • Aspetti relativi all'organizzazione delle Misure nel Data Model e aspetti relativi al loro Riutilizzo

Programma di massima

Trattandosi di Corsi a Commessa il Programma viene concordato con il cliente preventivamente.

C32 Monotematico – Power BI & Basi Dati MS SQL Server

Solo a Commessa durata 2gg. (preventivo accordo con il Cliente su argomenti ed esercitazioni di interesse)
Ampliamento a 3gg. (con aggiunta del Corso C3A che riguarda argomenti trasversali tra i vari monotematici)
Molte Aziende utilizzano come Server Dati quello della Microsoft e in molti casi ne usano già i vari Motori.
Obiettivo di questo Corso Monotematico è duplice: passare in rassegna i vari motori di MS SQL e le specifiche modalità d'uso e l'ottimizzazione dei Rapporti con il Sistema Power BI.
La questione è soprattuto questa: cosa è bene far fare a MS SQL (a monte) e cosa far fare a Power BI (a valle).

Motori e Modalità di accesso ai Dati presenti nei Motori di MS SQL Server: 12 varianti anzi di più

    Il Corso Base (PLT300) usa solo il DB Engine trascurando gli altri Motori (come i due Motori Analysis).
  • SQL DB Engine – DB Operazionali (quelli che fanno funzionare l’Azienda) – Linguaggio MS SQL
  • SQL DB Engine – DB Data Warehouse (quelli preparati per Reportistica e Business Intelligence) – Linguaggio MS SQL
  • SQL Analysis Service – DB Multidimensional (dati pretrattati e trasferiti nei Cubi) – Linguaggio MDX
  • SQL Analysis Service – DB Tabular (dati pretrattati in maniera Light) – Linguaggio DAX

Altra decisione da prendere è con quale modalità agganciare i Dati

  • Import
  • Direct Query
  • Comandi scritti “al volo” all’interno usando il linguaggio del Motore usato (quindi o SQL o MDX o DAX)
  • Quindi almeno 12 varianti possibili (sono di più se si considerano i possibili “mischietti”)
    Una soluzione Full Web è quella di realizzare un Data Bank di servizi Rest oData, utile in caso di Organizzazione con molte sedi distribuite sul territorio.
    Una soluzione Full Cloud è quella di usare MS SQL Server su MS Azure>.

Alcune considerazioni

  • Molte Organizzazioni, specie quelle molto grandi, hanno già un Patrimonio di DB Multidimensional e quindi il passaggio ai DB Tabular potrebbe sembrare un passo indietro. Il fatto è che in molti casi è bene farlo!
  • Molte Organizzazioni che “partono da zero” al contrario devono scegliere quale strada percorrere
    • Solo DB Engine Operazionale
    • Anche DB Engine Data Warehouse
    • Anche Analysis Multidimensional
    • Anche Analysis Tabular
    • Ricordiamo che il motore Tabular di MS SQL Analysis è lo stesso di Power BI (e è lo stesso di Excel Power Pivot). Stesso Motore in 3 Ambienti!
      Una soluzione Full Tabular consisterebbe nel posizionare i Data Model Ufficiali dell'Azienda nei DB Server.
      Gli utenti che creano i Report possono usare i Data Model Aziendali o per esigenze molto localizzati crearsi i propri nel proprio Report.
  • Una cosa è evidente: non è facile decidere ma prima di decidere bisogna approfondire tra le varie opzioni quella più adatta alla propria specificità. Oltre a quanto detto prima vanno considerati altri fattori.
    • Volumi dei dati da trattare (riguarda le prestazioni: fondamentali!)
    • Frequenza desiderata degli aggiornamenti (riguarda le policies di Update: fondamentali!)
    • Riservatezza dei Report (riguarda le policies per le Permissions: fondamentali!)
    • Ecc.

Criticità

  • Più è grande l’Organizzazione più è lunga la catena dei permessi che dovrebbero consentire all’Utente Finale che deve realizzare il Report di accedere più direttamente possibile ai dati di sua competenza.
  • Il caso “peggiore” si verifica quando dai DataBase Aziendali vengono eseguite delle “estrazioni di dati” magari in un formato degradato ad esempio non “tipizzato” dei Dati (es.CSV, XLSX, ..) o poco "strutturato" (es. XML, jSON, ..). Questo è indubbiamente una perdita di tempo evitabile, ed esempio fornendo all’utente diritti “Read Only” ai dati con i quali poi deve confezionare i Report.
  • Il caso migliore è che oltre ai permessi Read Only sui dati di sua competenza fossero predisposte direttamente sul Server delle Viste o delle Stored Procedures (magari anche Parametrizzate) il cui contenuto in termini di dati fosse esattamente quello che serve all’utente finale.

Programma di massima

Trattandosi di Corsi a Commessa il Programma viene concordato con il cliente preventivamente.

Programma Prima Giornata

  • Una serie di esercitazioni suggerite dal Docente su Basi Dati del Cliente

Programma Seconda Giornata

  • Una serie di esercitazioni richieste dai Partecipanti sulle Basi Dati del Docente
  • Una serie di esercitazioni richieste dai Partecipanti sulle Basi Dati proprie

C33 MONOTEMATICO - Tutto sui Report Paginati

Solo a Commessa durata 2gg. (preventivo accordo con il Cliente su argomenti ed esercitazioni di interesse)
Ampliamento a 3gg. (con aggiunta del Corso C3A che riguarda argomenti trasversali tra i vari monotematici)
Prima della rivoluzione costituita dal Cloud Microsoft già proponeva una modalità utilissima per centralizzare in un unico Sito Intranet Aziendale la Produzione, la Storicizzazione, la Schedulazione della Reportistica.
Esiste ancora e si chiama SQL Server Reporting Services (sigla SSRS) perché è uno dei Motori interni a MS SQL Server.
Ora che tutti usano il Sistema Power BI che fine ha fatto l’ottimo SSRS?
E’ meglio chiarire subito il fatto che i due (Power BI e SSRS) sono complementari insomma non si pestano i piedi.
  • Power BI produce Report interattivi che vanno “navigati” via Web
  • SSRS produce Report più adatti alla Stampa diretta su più Pagine oppure ad una conversione in PDF
Indico per Punti sia le Caratteristiche di SSRS, prima prescindendo da Power BI, poi i suoi rapporti con Power BI.

SSRS (SQL Server Reporting Services) prescindendo da Power BI

  • Il Prodotto MS SQL Server in fase di installazione propone anche SSRS
  • SSRS mette disposizione un Tool per la Configurazione guidata passo passo
  • In fase di Configurazione viene creato un Database di servizio (non ha nulla a che vedere con i DB con i Dati Aziendali)
  • In fase di Configurazione vengono creati due Siti Web (Intranet se OnPremises)
    • Il primo che funge da Repository per i Report e le Basi Dati e che copre gli aspetti di configurazione (gestione delle permissions lato Dati e lato Report, policies di aggiornamento, conservazione delle versioni precedenti, ecc.)
    • Il Secondo è l'Entry Point di Base per "vedere" il Singolo Report
  • Per il Passaggio di Comando o di Parametri al Report (es. Filtri o Modalità di Pubblicazione) si usano codice nel Query Editor
  • Sempre in fase di installazione vengono creati dei Web Service SOAP con i quali un programmatore può inserire un Report in una normale pagina HTML/ASPX.
  • Ecc.

SSRS rapporti con Power BI soluzione tutta OnPremises

  • In questo caso l’ambiente di Pubblicazione, sia per i Report Paginati che per i Report Power BI è quello di SSRS
  • Esiste una Versione di Power BI Desktop specifica per SSRS allineata in termini di funzionalità a quella Cloud ma cambia ovviamente la modalità di pubblicazione.
  • Ecc.

Programma SSRS In pratica

  • Per chi vede un Report Paginato basta una licenza Pro, chi lo produce deve avere una Premium
  • Un Report Paginato può usare un Dataset di Power BI pubblicato sul Cloud
  • Un Report Power BI dispone di un Visualizzatore che può ospitare un Report Paginato
  • Ecc.

Programma SSRS e Power BI Cloud

  • Scaricamento del Web dell’Editor Report Builder
  • Lato Dati
    • Concetti lato Dati: DataSource, tipologie di vario tipo
    • Concetti lato Dati: DataSet, da connettere al DataSource
    • Concetti lato Dati: passi per la parametrizzazione del DataSet, creazione di Filtri ed uso dei Filtri
    • Ecc.
  • Lato creazione del Report
    • Tipologie di Report
    • Report Tabellare
    • Gestione dei Raggruppamenti e dei Calcoli
    • Gestione della Paginazione (salti Pagina, Gestione dei numeri di Pagina, ecc.)
    • Inserimento di Formule per Calcolo a livello Report (es. Ripartizione Percentuale)
    • Abbellimenti e formattazioni di vario Tipo
    • Ecc.
  • Lato Pubblicazione del Report
    • Organizzazione in Cartelle e Classificazione con creazione di Metadati
    • Impostazione delle varie Permissions (lato Dati e lato Report)
    • Impostazione della Schedulazione degli Aggiornamenti
    • Ecc.
  • Programma SSRS e Power BI Cloud
    • Da Report Builder collegamento a Basi Dati Power BI
    • In Report Power BI inserimento di un Report RDL
    • Ottimizzazione dei DataSet per un uso condiviso
    • Ecc.

Programma di massima

Trattandosi di Corsi a Commessa il Programma viene concordato con il cliente preventivamente.

Programma Prima Giornata

  • Una serie di esercitazioni suggerite dal Docente su Basi Dati del Cliente

Programma Seconda Giornata

  • Una serie di esercitazioni richieste dai Partecipanti sulle Basi Dati del Docente
  • Una serie di esercitazioni richieste dai Partecipanti sulle Basi Dati proprie

C34 MONOTEMATICO - Tutte le Mappe di Power BI

Solo a Commessa durata 2gg. (preventivo accordo con il Cliente su argomenti ed esercitazioni di interesse)
Ampliamento a 3gg. (con aggiunta del Corso C3A che riguarda argomenti trasversali tra i vari monotematici)
Se la BaseDati contiene entità Geografiche l’uso di un Visualizzatore di tipo Mappa, i disponibili sono almeno una mezza dozzina, può essere utile per una migliore comprensione dei Dati.
Potrebbe non essere neanche necessario spiegarne il funzionamento.
Le Mappe di Power BI proposte da Microsoft e su tecnologie Microsoft (es. Bing) sono 3 (I 3 rispettivi Visualizzatori si chiamano in inglese Map, Filled Map, Shape Map) alle quali se ne possono aggiungere altre sempre in forma di Visualizzatori e che usano altre Tecnologie (es. Google Map o ArcGis).

In caso di Visualizzatori di tipo Mappe le varianti in gioco sono:

  • Il tipo di identificazione dei luoghi: Punti oppure Aree
  • La modalità con la quale il luogo viene Identificato (Longititudine e Latitudine oppure Città, Via e Numero per i Punti) oppure (Nome o Codice ISO per le Aree)
  • Le funzionalità di base lato servizio che offrono in più (es. StreetView di Google Map)
  • Eventuali funzionalità "a pagamento" lato servizio che offrono in più
  • Altre funzionalità interne (es. Zoom di vario tipo) (es. ToolTip do vario tipo)
  • Più tutte le altre caratteristiche operative ed estetiche
  • Ecc.

Il Visualizzatore MAPPA deve rispettare le caratteristiche degli altri visualizzatori

  • Deve essere “filtrabile”
  • Deve a sua volta potersi “comportare da filtro”
  • Deve permettere l’associazione a ToolTip di tipo Finestra
  • Più tutte le altre caratteristiche operative ed estetiche
  • Ecc.

Inoltre:

  • Alcune Mappe prendono dati dal Web (es. Google Maps, Bing, ecc.) altre da files da Caricare (es. Shape, Map)
  • Lato Dati potrebbe essere necessario costruire o scaricare dal Web, per aggiungerle al Data Model, Tabelle di scodifica che intermediano tra le Tabelle con i Dati da posizionare in Mappa e i Codici con che servono alla Mappa scelta per identificare i Luoghi
  • Una Mappa deve permettere l’associazione a ToolTip di tipo Finestra
  • Il rapporto tra Mappa e Filtri o ToolTip deve essere reciproco. Da una Tabella posso dettagliare i dati in una Mappa e viceversa ma anche in una Mappa delle Regioni passando il Mouse sulla Toscana posso visualizzare le Province della Toscana.
  • Più tutte le altre caratteristiche operative ed estetiche
  • Ecc.

Programma di massima

Trattandosi di Corsi a Commessa il Programma viene concordato con il cliente preventivamente.

Programma Prima Giornata

  • Una serie di esercitazioni suggerite dal Docente su Basi Dati del Cliente

Programma Seconda Giornata

  • Una serie di esercitazioni richieste dai Partecipanti sulle Basi Dati del Docente
  • Una serie di esercitazioni richieste dai Partecipanti sulle Basi Dati proprie

C35 MONOTEMATICO - Tutta la Time Intelligence di Power BI

Solo a Commessa durata 2gg. (preventivo accordo con il Cliente su argomenti ed esercitazioni di interesse)
Ampliamento a 3gg. (con aggiunta del Corso C3A che riguarda argomenti trasversali tra i vari monotematici)
Se i Dati da elaborare sono anche riferiti a Entità Temporali (anno, trimestre, mese, settimana, giorno, ora, minuto, secondo di un Calendario normale o fiscale o personalizzato) si possono utilizzare le funzionalità di Time Intelligence che il linguaggio DAX di Power BI mette a disposizione.
Sono tantissime e di tante categorie.
Sono quasi SEMPRE basate sul concetto di Misura.
Per la Time Intelligence (TI) è sufficiente che la struttura Dati che si sta analizzando contenga un campo di tipo Data o di tipo Data/Ora.
Siccome una Data prevede di suo una Gerarchia si può sempre usare come modalità di Navigazione la Gerarchia.
Le funzioni TI che mettono a confronto periodi (qualsiasi calcolo, qualsiasi confronto) hanno bisogno di un Calendario. (es. vendite ad oggi anno corrente versus anno meno 1)
Se nei vostri Dati non c'è un Calendario DAX lo crea con la funzione Calendar che a sua volta propone alcune varianti per coprire qualsiasi necessità.
Rientrano nella Categoria Time Intelligence le funzioni che calcolano Cumoli, oppure che analizzano andamenti di valori nel tempo, e tanto altro ancora.
Alcune di queste non hanno bisogno di un Calendario.

Alcune, anzi 10, caratteristiche della Time Intelligence di Power BI

  1. Quando nei Dati c’è una Data o più Date la Time Intelligence di Power BI ... vi salva la vita
  2. Per Time Intelligence in Power BI si intendono una serie di Funzioni DAX o Espressioni DAX che hanno a che fare con le Date
  3. Le Funzioni DAX di TI possono essere sia funzioni vere e proprie sia Filtri da applicare ad altre Funzioni es. Calculate
  4. Siccome in Excel non esistono funzioni di Time Intelligence in questo caso nessun vantaggio per chi “viene da Excel”
  5. L’utilizzo della Time Intelligence prevede SEMPRE la creazione di MISURE
  6. Alcune delle Funzioni DAX di TI non hanno bisogno di un Calendario. Altre quelle più importanti invece pretendono un Calendario
  7. Anche le Misure TI che non necessitano di uno Calendario (nel senso che la sintassi DAX vuole una Data “qualsiasi”, diventano più espressive se usano il Calendario)
  8. Se nei DB Aziendali non c’è un calendario adatto alle necessità del nostro Report si utilizza la funzione DAX Calendar che crea una Tabella di Dati e quindi in ogni caso la questione di disporre di una Calendario è risolta
  9. Il Calendario creato e quindi inserito nel Data Model e messo in Relazione con le Tabelle con i Dati è una Tabella come un’altra. Può ospitare Colonne di Calcolo che potrebbe essere comodo riportare sulla Data.
  10. In una Base Dati complessa (es. Ordini, Consegne, Fatture, ecc.) possono esserci decine di Date.
    Anche in questo caso un Calendario può semplificare la situazione.
    Tutte le Dati in giro tra le varie Tabelle vanno collegate alla Data del Calendario che diventa quella di riferimento ed in cui, ad esempio, ci sono anche le Date in cui non sono arrivati Ordini, non ci sono state Consegne e non è stata Emessa Fattura.

Uso Evoluto delle Date

  1. Campo Data campo Data/Ora
  2. Capire con esempi di Colonne e di Misure come Power BI tratta le Date e gli Orari (lo stesso vale per Excel e per Windows)
  3. Funzioni DAX per la Formattazione dei Campi Data/Ora
  4. Funzioni DAX per la Manipolazione di Data/Ora
  5. Uso del Campo Data/Ora come Filtro. Data Secca e DataDal data DataAl
  6. Misure DAX che utilizzano le Data (come dato da Manipolare o come Filtro)
  7. Ecc. Ecc. Ecc.

Costruzione di un Calendario

    Per utilizzare molte funzioni DAX di Time Intelligence serve un Calendario.
    Serve perché contiene tutte le Date che interessano (senza buchi) e la singola Data c’è una sola volta (senza doppioni).
  • Varianti d’uso della Funzione Calendar
  • Calendario Statico
  • Calendario Dinamico
  • Aspetti relativi all'arrotondamento (un qualsiasi Calendario dovrebbe finire sempre il 31 dicembre)
  • Calendario Fiscali: altra possibile complicazione
  • Gestione dei Cumuli senza o con il Calendario
  • Ecc. Ecc. Ecc.

Misure di Time Intelligence

  • Funzioni DAX di tipo Previous
  • Filtri DAX di tipo Paralleperiod, SamePeriodLastYear, ecc.
  • Filtri DAX di tipo DatesBetween, DatesInPeriod, ecc
  • Ecc.

Date e Visualizzatori

    In molte situazioni occorre visualizzare le Date o uno o più dei suoi componenti
  • Dati in Visualizzatori Tabella o Matrice
  • Dati in Visualizzatori di Tipo Chart
  • Chart a Colonne o a Barre
  • Chart di tipo Waterfall
  • Gestione evoluta dell’Asse X (Zoom)
  • Uso delle Funzioni Statistiche associate ai Chart Lineari
  • Uso di Visualizzatori di Terze parte (es. Chart di tipo HighLow per i valori di borsa)
  • Ecc.

Advanced

  • Come affrontare le Settimane. Formule di Base e Filtri per Settimana
  • Come risolvere le Date presenti nel Calendario ma non presenti nelle Tabelle con i Dati (es. Natale)
  • Uso dei ToolTip che sfruttano le Date (es. Dettaglio per Mese)
  • Come Rendere i Fondi Scala dinamici
  • Ecc.

Programma di massima

Trattandosi di Corsi a Commessa il Programma viene concordato con il cliente preventivamente.

Programma Prima Giornata

  • Una serie di esercitazioni suggerite dal Docente su Basi Dati del Cliente

Programma Seconda Giornata

  • Una serie di esercitazioni richieste dai Partecipanti sulle Basi Dati del Docente
  • Una serie di esercitazioni richieste dai Partecipanti sulle Basi Dati proprie

C36 MONOTEMATICO - Power BI con i dati dal Web

Solo a Commessa durata 2gg. (preventivo accordo con il Cliente su argomenti ed esercitazioni di interesse)
Ampliamento a 3gg. (con aggiunta del Corso C3A che riguarda argomenti trasversali tra i vari monotematici)

************** Il Web è la più grande Base Dati del mondo **************

Una cosa è collegarsi anche in modo diretto ad un DB Server, tutt’altra cose è collegarsi o caricarsi Dati presi dal Web.
L’aspetto principale è che sul Web possono viaggiare solo alcuni tipi di Dati (es. XML, jSON, CSV, HTML) che in fondo sono semplici stringhe di caratteri non tipizzati (anche una Data è una stringa di caratteri (es. 25/12/2022 oppure Dic.25-15)) che all’arrivo chi li riceve, nel nostro caso Power BI potrebbe “fare fatica” a capire che è una Data per poterla trattare come tale.
In quali casi Power BI dovrebbe prendere dati dal Web.
Ne citiamo alcuni tutti disponibili quando in Power BI sfogliate le possibili fonti Dati.

Aspetti da considerare riguardo al Web in generale e all’uso dei Dati dal Web in particolare

  • Una qualsiasi operazione sul Web, anche una semplice ricerca su Google, è comunque una operazione Client Server
  • Una qualsiasi operazione sul Web prevede una comunicazione asincrona, parte una richiesta, non si sa da dove, non si sa quando e non si sa se si riceverà una risposta.
    E nel frattempo non si ha la possibilità di sapere cosa sta succedendo dall’altra parte.
  • La richiesta DEVE usare le semplici tecniche di base del Web, come Query String oppure Form Submit.
    Questo anche quando compiliamo ed inviamo un F24 con il nostro Home Banking
  • Altro componente tecnico da citare, del tutto sconosciuto da tutti, è l’oggetto XMLHttpRequest con il quale si chiedono dati ad un Server “a pagina ferma”.
    Se non ci fosse tutti i Tecnici Informatici .. sarebbero a spasso.

Riguardo i formati dei dati trasportati

    Ne citiamo alcuni tutti sono disponibili quando in Power BI sfogliate le possibili fonti Dati:
  • Dal Web per sorgenti tipo XML (eXtensible Markup Language)
  • Dal Web per sorgenti tipo jSON (JavaScript Object Notation)
  • Dal Web per sorgenti tipo CSV (Valori separati da virgola)
  • Dal Web per sorgenti HTML (HyperText Markup Language) è il linguaggio del codice con il quale viene creata la pagina e che in qualche caso potrebbe contenere Dati
  • Attenzione: XML, jSON, CSV possono essere anche caricati come file via File System, in questo caso non c'entra nulla il Web.

Altre cose che è bene sapere riguardo questi formati se si intende usarli con Power BI

  • Quelli citati sono i formati con i quali di dati sono Trasportati
    • XML può essere gerarchico e dispone di propri linguaggi di servizio
    • XSLT Extensible Stylesheet Language Transformations che serve per trasformare XML, che non è tanto bello, in qualcosa di leggibile
  • DTD (extended display identification data) che serve a descrivere la struttura e la tipologia dei singoli campi
  • jSON può essere gerarchico e contiene al suo interno anche la struttura dei campi
  • I famosi DB No SQL, usano internamente il formato jSON
  • Altro discorso riguarda come vengono preparati i dati (dal server che li produce, li prepara e li invia)
  • Altro discorso riguarda come vengono ricevuti i dati (dal client che potrebbe essere il Browser che li riceve e li impagina)

Produzione dei Dati per il Web

  • E’ sicuramente escluso che li scriva qualcuno a mano
  • Possono essere prodotti direttamente dal DB (es. Select * from Prodotti for XML Auto)
  • Possono essere costruiti con Programmi eseguiti lato Web Server
  • Della trasmissione dal Server Web se ne occupa il comando Response

Altri Dati “nobilitati” per il Web

    La diffusione del Web ma soprattutto la diffusione del Cloud hanno spinto tutte le tecnologie connesse.
    Nuovi standard, nuovi prodotti, nuovi servizi. Ne citiamo qualcuni scelti tra i cento che si “vedono” anche da Power BI.
  • oData Feed. Standard per la produzione e la trasmissione dei dati via Servizi Web. Tipizzati e Relazionali
  • Azure. Il Cloud “tecnico” di Microsoft. Per quanto riguarda i Dati mette a disposizione i vari Servizi MS SQL attraverso il Cloud
  • Data.World e World.Bank esempi di Servizi che vendono dati distribuiti via Web già preparati per un uso con Power BI
  • Google Analytics. Google traccia tutti gli accessi ai singoli Siti Web e conserva queste informazioni in Database disponibili (in varie forme di contratto ) per i proprietari dei Sito. Stesso servizio Facebook, Twitter e altri social.
  • Google.BigData. Altro Servizio di Google. Pubblica set di Dati di varia origine e natura utili soprattutto per cominciare a muoversi in nel mondo dei Big.Data.
  • Ecc. Ecc. Ecc.

Programma di massima

Trattandosi di Corsi a Commessa il Programma viene concordato con il cliente preventivamente.

Programma Prima Giornata

  • Una serie di esercitazioni suggerite dal Docente su Basi Dati del Cliente

Programma Seconda Giornata

  • Una serie di esercitazioni richieste dai Partecipanti sulle Basi Dati del Docente
  • Una serie di esercitazioni richieste dai Partecipanti sulle Basi Dati proprie

C3A MONOTEMATICO - Power BI Navigazione e Interazione evoluta

Solo a Commessa durata 2gg. (preventivo accordo con il Cliente su argomenti ed esercitazioni di interesse)
Ampliamento a 3gg. (con aggiunta del Corso C3A che riguarda argomenti trasversali)

L’importanza della Interattività

  • Sono disponibili Visualizzatori di tipo Filtro mentre tutti gli altri Visualizzatori possono comportarsi da Filtro
  • Ciascun filtro permette varie modalitià anche in funzione dal Campo che si sta usando come Filtro. Es.
    • Filtro singolo (es. Vendite Italia)
    • Flitro multi (es. vendite Francia e Italia)
    • Molte Funzioni di DAX prevedono la possibilità di inserire dei filtri (es. AND e OR: Francia a Italia oppure Francia o Italia)
    • Filtri su Date (Data DA e Data A) oppure Funzioni DAX (es. Datesbeetween)
    • Ecc.
  • Sono disponibili filtri di Pagina che imposta il creatore del Report ma che il Destinatario del Report potrebbe non Vedere. Possono agire a livello di singolo Visualizzatore, o di singola Pagina o di tutte le Pagine (e in sostanza di tutto il Report). Ad utilizzatore del Report si può dare in fase di Pubblicazione la possibilità di accedere a questi filtri.
  • DAX legge i valori dei Filtri e quindi si possono creare dei Testi (ad esempio dei Titoli) che indicano il contenuto di un Visualizzatore
  • Ci sono visualizzatori che dispongono i Filtri Interni (primo tra tutti il Albero di Decomposizioni, ma anche la Matrice)
  • La funzionalità Descrizione Comando (inspiegabile traduzione di ToolTip) permette di realizzare Pagine Volanti che mostrano Dettagli di Visualizzatori sottostanti (es una Mappa dell’Europa) che in questo caso si comportano da Filtro per il ToolTip
  • E’ anche possibile creare Pagine che mostrano dettagli di una Pagina chiamante. Nella seconda Pagina va messo un pulsante Back.
  • Power BI dipone di Bottoni che vanno associati ad Azioni. Sia per Navigare tra una Pagina e un’altra, sia per Accendere o Spegnere Visualizzatori nella stessa Pagina. E’ necessario attivare dei BookMark. Funzionalità semplici da capire ma un po’ meno semplici da attivare.
  • L’unico modo per “inserire a mano” dati in un Report Power BI, a parte lo scrivere una Data nei Filtri che chiedono Date, è attraverso la Funzionalità Simulazione (in inglese What-If) che genera una serie di numeri interi tra due valori, min e max, scelto da noi e mette a disposizione una Misura con quel valore Numerico. Con un po' di fantasia si può adattare a qualsiasi tipi di Report per creare altri tipi di Interattività.
  • Attenzione : quando si realizza una Pagina Complessa, una Dashboard con svariati oggetti è importante la loro sincronizzazione per evitare situazioni in cui si vedono dati incongrui oppure addirittura sbagliati.

Interattività Lato Dati

    A monte di tutto dobbiamo posizionare le funzionalità che filtrano i dati a monte del caricamento in Power BI.
    E’ inutile caricare dati che non servono, non fosse altro che per alleggerire la fase di caricamento.
  • Se ci si collega ad un DB Server è possibile gestire dei Parametri che filtrano a monte i Dati in arrivo usando Viste Parametrizzate oppure, ed è meglio, delle Stored Procedures. Quindi “Lato Dati”.
  • E’ possibile “lato” dati creare dei Parametri che filtrano i Dati in funzione dell’Utente che vede il Report.
    La funzionalità è Filtro per Ruolo e quindi il processo diventa: Ruolo SoloItalia – Filtro associato Paese=”ITALIA” – Associazione Pippo Baudo al Ruolo SoloItalia.
    Quindi il Report è lo stesso, ma il contenuto in Dati è quello di competenza dell’Utente che appartiene al Ruolo. /li>
  • Altro tipo di interattività riguarda la Schedualazione degli Aggiornamenti dei Dati.
    Questo aspetto non può essere attivata da chi crea il Report ma da chi lo Pubblica, che potrebbe essere una altra persona.

Programma Prima Giornata

  • Panoramica sul Processo di Creazione e di Pubblicazione del Report
  • Panoramica sulle Funzionalità, di vario tipo e di varia complessità, che concernono l’interattività.
  • Una serie di esercitazioni suggerite dal Docente su Basi Dati del Cliente

Programma Seconda Giornata

  • Una serie di esercitazioni richieste dai Partecipanti sulle Basi Dati del Docente
  • Una serie di esercitazioni richieste dai Partecipanti sulle Basi Dati proprie

 eMail PCS


roma@pcsnet.it

 eMail Francesco


francescop@pcs.it

 Telefono PCS


(039) 06 6781739
06 6790066

 Indirizzo PCS


Via Valadier, 33
00193 Roma Italy