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

Differenze tra Dashboard e Report: educba.com

Installazione con premesse

Premesse (in base alle richieste minime di sviluppo completo)

  • .Net framework (su Windows 10 Pro è necessario uno sblocco da impostare sul registro di sistema)
  • Aggiunta al SW di SO l'IIS con aggiunta di SSL
  • Installazione di SSRS ovvero SQL Server Reporting Server
  • Installazione di SSIS
  • Installazione del SSDT
  • Installazione del Desktop
  • Installazione del Gateway
  • Installazione del Power BI Reporting Server (on-premise)
  • Installazione del Desktop ottimizzato per il Power BI Reporting Server (on-premise)

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. ATTENZIONE esiste anche un'altra versione per la versione on-premise del Server che si chiama "Power BI Desktop RS" (ovvero Power BI Desktop Report Server edition).
  • 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.

ATTENZIONE, è possibile UNO ed UN SOLO Gateway con unica utenza applicativa questo perché sulla macchina dove è installato abbiamo un unico servizio chiamato "PBIEgwService".

  • 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

Gateway

In merito al Gateway (GW) ne abbiamo due versioni: On-Premise data Gateway e Personal.
In un ambiente professionale è il primo ad essere usato e sarà collegato ad una utenza\licenza Power BI Pro infatti all'avvio del servizio si effettuerà un login\sign in.
ATTENZIONE poiché il GW è un servizio, su una macchina ci sarà al più una istanza funzionante e associata ad uno ed un solo account.

On-premises data gateway SingIn account.png

Servizio in esecuzione

Servizio Power BI Gateway.png

Account:

Servizio Power BI Gateway 2.png

LOG
Il log dei test di connessione etc è nella cartella:
C:\Users\<utenteCorrente>\AppData\Local\Microsoft\On-premises data gateway

Report Server

Oggi, 28/06/2019, nella versione di SQL Server 2017 Enterprise edition è inclusa la possibilità di installare il Server di Power BI in locale (on-premise).

PowerBI Report Server OnPremise InstallRemove.png

Servizio

Servizio Power BI Report Server.png

Caratteristiche della 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

Ci si riferisce chiamandolo: "Power BI Report Server". (Qualche info qui)
Disponendo della versione di SQL Server Enterprise è possibile installare il server di reporting on premise qui
Microssoft
prima di procedere se si vogliono usare connessioni HTTPS occorre prima installare i certificati SSL, leggi qui:
SSL
Scaricabile qui: [1].
Esistono due versioni dell'applicazione Desktop per la produzione di progetti di Report\Dashboard:

  • quella propriamente detta destinata al "service" ovvero verso l'applicazione sul cloud Azure
  • quella per il "Power BI Report Server" chiamata "Power BI Desktop report server edition".

Alcuni (es. qui) sostengono che dalla versione on-premise si possono aprire quelli della versione on-line, "You can even open a report developed with normal Power BI Desktop in the Power BI Desktop Report Server", ma non sembra vero!

Licenza

Come citato qui
Power BI Report Server comes in only two types of licensing:

  • Power BI Premium
  • SQL Server Enterprise License with Software Assurance. Come trovare la licenza qui .

Comparazione tra Power BI Report Server e Power BI Service

Ovvero le differenze dei report per l'on-premise e quelle per il cloud sul WEB.

Power BI Report Server (On-premise)

Power BI - Report Server.png

Power BI Service (On cloud)

Power BI - Service.png

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: [2]

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

    Report Server config

    Impossibile connettersi al provider WMI

    Errore dal "Report Server Configuration Manager" di Power BI, "Impossibile connettersi al provider WMI. Non si dispone dell'autorizzazione o il server è irraggiungibile":
    support.microsoft.com
    Digitare il comando:

    mofcomp "C:\Program Files (x86)\Microsoft SQL Server\140\Shared\sqlmgmproviderxpsp2up.mof"
    

    You are not allowed to view this folder

    community.powerbi.com

    Gateway

    Se installato in ambiente non aperto ad intrnet leggersi le aperture necessarie sotto in codesta guida.

    Proxy

    Se il Gateway deve essere installato su una rete con Proxy, leggere questo articolo microsoft.com !!! approfondimento: community.powerbi.com
    In pratica va esplicitamente indicata la presenza del Proxy in 3 files di configurazione del Gateway nella cartella C:\Program Files\On-premises data gateway: Microsoft.PowerBI.EnterpriseGateway.exe.config, enterprisegatewayconfigurator.exe.config, Microsoft.Mashup.Container.NetFX45.exe.config.

        <defaultProxy useDefaultCredentials="true">
            <proxy  
                autoDetect="false"  
                proxyaddress="http://192.168.1.10:3128"  
                bypassonlocal="false"  
                usesystemdefault="true"
            />  
        </defaultProxy>
    

    Visuals - gadget

    Best Practices

    Gateway

    Best practices in a company

    • When running a gateway in a machine for reports that use on-premise databases as a data source, should it be under the account of whom?
      • Yes, the data gateway also need the power bi account. When you install the data gateway, you need to sign in your account. However, in power bi service, you can click "Manage gateway" then select a gateway cluster and assign other users in your group as a gateway admin, after that, other people can also configure data source in the same domain(using gateway, we can connect to data source in your company domain).

    Audit Logs

    Cloud Azure

    Azure Audit logs è una applicazione che consente di acquisire i dati di accesso al portale Azure, occorre però essere abilitati a queste analisi ovvero essere utenti con ruolo di "Audit Logs" o "View-Only Audit Logs role in Exchange Online".
    Risorse:

    ReportServer on-premise

    Il log degli accessi è sul DB del Report server dedicato (definito in fase di installazione) e la vista utile allo scopo è la "ExecutionLog3" che è basata sulle tabelle: "ExecutionLogStorage" e "Catalog".
    Risorse:

    Tools

    Microsoft Flow

    Introduzione:

    Tips

    Impostare filtro data su oggi

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

    Modello

    Modello con Import e Direct query

    Da docs.microsoft.com doc sul refresh dei dati per Report e Dashboard.

    PowerBI storage-modes-dataset-types-diagram.png

    Sarebbe il "Data connectivity mode", da PowerBI Desktop andare sul menu principale: Get data\SQL Server

    PowerBI connectivity mode.png

    Da Direct Query si può passare ad Import ma il viceversa è sconsigliabile ma sembra si possa fare.

    Da Import a Direct Query

    Vedi community.powerbi.com

    Aperture necessarie

    Gateway

    The gateway creates an outbound connection to Azure Service Bus. It communicates on outbound ports: TCP 443 (default), 5671, 5672, 9350 through 9354. The gateway does not require inbound ports.

    Lista aggiornata al 26-11-2019

    .microsoftonline-p.com:443
    .msftncsi.com:443
    .msftncsi.com:80
    .powerbi.com:443
    .download.microsoft.com:80
    .analysis.windows.net:443
    .login.windows.net:443
    login.live.com:443
    aadcdn.msauth.net:443
    .servicebus.windows.net:443
    .servicebus.windows.net:5671
    .servicebus.windows.net:5672
    .servicebus.windows.net:9350
    .servicebus.windows.net:9351
    .servicebus.windows.net:9352
    .servicebus.windows.net:9353
    .servicebus.windows.net:9354
    .frontend.clouddatahub.net:443
    .core.windows.net:443
    login.microsoftonline.com:443
    .msftncsi.com:443
    dc.services.visualstudio.com
    13.95.158.123:443
    .cloudapp.net:443
    .azureedge.net:443
    .live.com:443
    .microsoft.com:443
    .microsoftonline.com:443
    .msauth.com:443
    .msauth.net:443
    .msedge.com:443
    .msfauth.net:443
    .msftauth.com:443
    .msocdn.com:443
    .office365.com:443
    .office.com:443
    .powerbi.cn:443
    .powerbi.de:443
    .powerbi.us:443
    .powerbigov.us:443
    .sharepoint.com:443
    .visualstudio.com:443
    .windows-int.net:443
    .windows.net:443
    app.powerbi.com:443
    app.powerbi.com:80
    .microsoft.com:80
    .msftncsi.com:80
    .windows.net:80
    .windowsupdate.com:80
    ---- altro
    digicert.com:80
    ----
    corp-sts-prod.vodafone.com:443
    corp-sts-prod.vodafone.com:80
    tsl.vodafone.com:443
    tsl.vodafone.com:80
    ----
    symantec.com:443
    symantec.com:80
    

    Mappa e Link


    MS SQL | SSRS - Reporting Server


    C# | Visual Studio | Dizionario IT | SISENSE


    Parole chiave:

Author