Login Login
MORE

WIDGETS

Widgets

Wanted articles
Who is online?
Article tools

MSSQL:PowerBI

From Aino Wiki

Jump to: navigation, search

Introduzione

Esistono due licenze per PowerBI:

  • Licenza Pro, per singolo utente. Ha la limitazione che gli utenti a cui si rivolgono i report e dashboard devono essere della stessa organizzazione, l'email di registrazione devono essere sotto stesso dominio.
  • Licenza Premium, che consiste nell'acquisto di funzionalità specifiche, include la possibilità dell'installazione del Report Server eventualmente necessario per una installazione on-premise. Ogni utente censito dal sistema deve comunque avere una licenza Pro nel caso debba creare report e dashboard o compiere altre funzioni di gestione. Questa versione non ha limitazioni su chi può ricevere i report che potranno essere fuori dell'organizzazione. Include l'acquisto obbligatorio di un "nodo" P1 usato per gestire sino a 1650 utenze Pro.

Entrambe possono essere acquistate solo se si dispone già di una licenza Office365.
Prezzi: Pricing

Componenti

Fondamentalmente l'installazione comprende:

  • Il PowerBI desktop, che è l'applicativo che consente di creare i report dal proprio PC; esso consente di pubblicare i report sul cloud.
  • Il Gateway, che è l'applicativo usato per creare la connessione tra i report pubblicati. E' usato anche per la configurazione della schedulazione degli aggiornamenti. E' possibile fruire dei report sia in modalità full cloud oppure mediante direct-query, in quest'ultima ipotesi la query dal cloud, sarà fatta direttamente sulla sorgente dati (quindi ciò è valido anche in possesso di sola licenza Pro). FAQ Microsoft. Può usare connessioni HTTPS e i dati sono criptati durante il trasporto.
  • Report Server, sarebbe il cloud locale nella soluzione on-premise ottenibile solo se si acquista una licenza Premium.

I report son fruibili dal WEB mediante il cloud, alla seguente pagina chiamata "Power BI Service"
https://app.powerbi.com/home
oppure nel caso di possesso di licenza Premium, essi son resi disponibili attraverso il Report Server installato on-premise.
Tutti i componenti software del pacchetto Power BI ovvero il Desktop, Gateway, Report Builder, Publisher for Excel etc sono scaricabili direttamente dal proprio portale web (..PowerBI Service) come da seguente immagine:

PowerBI 01.png

Caratteristiche condivisione PowerBI PRO

Consumer user role Shared type Shared available features
PRO. Belonging the same tenant Inside "My Workspace"

Only "read only" access.
It's possible to set re-share ability when the owner share the item.
Items can be shared with a prefixed filter that is changeble or not depending the choise made by owner when he share.
It's possible to define Roles for people to filter at row level.
It's possible to make self service fileters.
User can subscribe items to get update via email but only with no Role defined. Daily or weekly frequency; he will receive al least an email at 2 AM not depending by refresh scheduled on dataset.
There is the ability to refresh 8 time a day the dataset for intems not in direct query (it can be made on dataset from user that produce the report). For items in direct query the dataset cache can be refreshed from 15' to 30', 1h, 2h, 3h, daily, weekly. In each case the feature to receive emails about data update depends by the actionm of cunsumer user, to subscrive the items.

Inside "Workspace"

It's possible to define the following user access: read only (guest users), read & write (default) and owner. Those grant may be shared to every user of not. It's always possible to add or remove users or change grant.
It's possible to define Roles for users to filter at row level.
The users that have read & write access to an item (report, dashboard, etc), can add new pages, add charts.
User can subscribe items to get update via email but only with no Role defined. Daily or weekly frequency; he will receive al least an email at 2 AM not depending by refresh scheduled on dataset.
There is the ability to refresh 8 time a day the dataset for intems not in direct query (it can be made on dataset from user that produce the report). For items in direct query the dataset cache can be refreshed from 15' to 30', 1h, 2h, 3h, daily, weekly. In each case the feature to receive emails about data update depends by the actionm of cunsumer user, to subscrive the items.

Each user that receive a shared item can reuse the dataset to make items himself
User not licenced belonging the same tenant It's possible only to send and invitation to subscribe a PRO licence to see the report in the two possible share type
User not licenced inside or outside the tenant 'Receive an email with the *.pbix file but this is a manual action.

Reporting Server On Premise

Disponendo della versione di SQL Server Enterprise è possibile installare il server di reporting on premise Microssoft, prima di procedere se si vogliono usare connessioni HTTPS occorre prima installare i certificati SSL, leggi qui: SSL.

Caratteristiche visuali

Drill down

Doc: Microsoft

Drillthrough

Doc: Microsoft

Programmazione

Linguaggio delle formule

Power Query M

PowerBI usa un linguaggio interno per le composizioni delle formule chiamato: Power Query M: [1]

Seguono lo stesso esempio in due momenti. E' il risultato del "Query Editor" dopo aver aggiunto una colonna con l' "Advanced Editor". Si aggiunge una colonna con la differenza di date, traformata in giorni e con l'aggiunta di 1 (giorno). PURTROPPO però questi cambiamenti non son tollerati dalla "Direct Query" di ciò se ne ha notizia al salvataggio.
Es. 1

let
    Source = Sql.Database("SPXMIW2869", "RS_Plan_ProjectVCVI_Test"),
    dbo_v_Projects = Source{[Schema="dbo",Item="v_Projects"]}[Data],
    #"Added Custom" = Table.AddColumn(dbo_v_Projects, "Days", each [DateTo]-[DateFrom]),
    #"Inserted Days" = Table.AddColumn(#"Added Custom", "Days.1", each Duration.Days([Days]) + 1, Int64.Type),
    #"Removed Columns" = Table.RemoveColumns(#"Inserted Days",{"Days"}),
    #"Reordered Columns" = Table.ReorderColumns(#"Removed Columns",{"IDProject", "IDOwner", "FullName", "Description", "DateFrom", "DateTo", "Days.1", "ProgressPerc"})
in
    #"Reordered Columns"

Es. 2. Stessa funzione di prima ma semplificata

let
    Source = Sql.Database("SPXMIW2869", "RS_Plan_ProjectVCVI_Test"),
    dbo_v_Projects = Source{[Schema="dbo",Item="v_Projects"]}[Data],
    #"Added Custom" = Table.AddColumn(dbo_v_Projects, "Days", each Duration.Days([DateTo]-[DateFrom]) + 1)
in
    #"Added Custom"

DAX

Tutorial:

Varie

Riferimento a tabelle:
'Table Name'[ColumnName] caso in cui nel nome della tabella ci siano spazi TableName[ColumnName] caso in cui nel nome della tabella NON ci siano spazi

Funzioni tipiche

Es.: NOW()

Date
  • DATE
  • HOUR
  • NOW() restituisce la data di oggi ma CON orario
  • TODAY() restituisce la data di oggi ma SENZA orario
  • EOMONTH
  • WEEKDAY
Calcolo
  • CALCULATE(<expression>,<filter1>,<filter2>…) Valuta una espressione nel contesto di dati filtrati. Il primo parametro, l'espressione, è essenzialmente una 'measure'. Il valore restituito è il risultato dell'espressione fornita Dettagli
Filtraggio
  • ALL( [ | <column>[, <column>[, <column>[,…]]]] )</code>, il primo parametro è la tabella da cui rimuovere i filtri ed il secondo è la colonna. SCOPO: Restituisce una tabella o una colonna senza i filtri. Dettagli
  • ALLSELECTED([<tableName> | <columnName>[, <columnName>[, <columnName>[,…]]]] ), il primo parametro (opzionale) è il nome di una tabella esistente, il secondo parametro (opzionale) è il nome del campo della tabella di prima. SCOPO: Restituisce il contesto della query CON i filtri. Dettagli
  • Variabili

    Calendar è una tabella col campo [Date]

    IsToday = 
    	var currentRowDate = FORMAT(Calendar[Date], "dd/MM/yyyy")  
    	
    	var isToday= FORMAT(NOW(), "dd/MM/yyyy") 
    	
    	return 
    		IF(isToday= currentRowDate
    			, "yes"
    			, "no")
    

    Altro

    Selected DateFrom = CALCULATE (IF(FORMAT(MIN(Calendar[Date]), "dd/MM/yyyy") = FORMAT(TODAY(), "dd/MM/yyyy")
    				, MIN(Calendar[Date])-20
    				, MIN(Calendar[Date]))
    				, ALLSELECTED(Calendar[Date]) )
    

    Risorse

    Risoluzione problemi

    Visuals - gadget

    Tips

    Impostare filtro data su oggi

    Power BI Desktop seting TODAY filter on a calendar table.png

    Aperture necessarie

    Gateway

    azureedge.net:443
    frontend.clouddatahub.net:443
    live.com:443
    microsoft.com:443
    microsoft.com:80
    microsoftonline-p.com:443
    microsoftonline.com:443
    msauth.com:443
    msauth.net:443
    msedge.com:443
    msfauth.net:443
    msftauth.com:443
    msftncsi.com:443
    msftncsi.com:80
    msocdn.com:443
    office365.com:443
    office.com:443
    powerbi.cn:443
    powerbi.com:443
    powerbi.de:443
    powerbi.us:443
    powerbigov.us:443
    sharepoint.com:443
    symantec.com:443
    symantec.com:80
    symcb.com:80
    visualstudio.com:443
    windows-int.net:443
    windows.net:443
    windows.net:80
    windowsupdate.com:80
    52.138.150.165:443
    app.powerbi.com:443
    app.powerbi.com:80
    digicert.com:80
    

    Mappa e Link


    MS SQL | SSRS - Reporting Server


    C# | Visual Studio | Dizionario IT | SISENSE


    Parole chiave:

Author