Creare tabelle di date in Power BI Desktop

Questo articolo illustra le procedure di progettazione consigliate per creare tabelle di date nei modelli di dati quando si usa Power BI Desktop.

Per usare le funzionalità di Business Intelligence per le gerarchie temporali di Data Analysis Expressions (DAX), è necessario un requisito del modello. È necessario avere almeno una tabella data nel modello. Una tabella data è una tabella che soddisfa i requisiti seguenti:

  • Deve avere una colonna del tipo di dati data (o data/ora), detta colonna data.
  • La colonna data deve contenere valori univoci.
  • La colonna data non deve contenere valori BLANK.
  • La colonna data non deve avere date mancanti.
  • La colonna data deve estendersi ad anni completi. Un anno non coincide necessariamente con un anno di calendario (gennaio-dicembre).
  • La tabella data deve essere contrassegnata come tabella data.

Per aggiungere una tabella data al modello, è possibile usare una delle numerose tecniche disponibili:

  • L'opzione di data/ora automatica
  • Power Query per connettersi a una tabella delle dimensioni data
  • Power Query per generare una tabella data
  • DAX per generare una tabella data
  • DAX per clonare una tabella data esistente

Suggerimento

Una tabella data è probabilmente la funzionalità più coerente che verrà aggiunta a uno qualsiasi dei modelli. All'interno di un'organizzazione è inoltre necessario che una tabella data sia definita in modo coerente. Qualunque tecnica si decida di usare, è quindi consigliabile creare un modello di Power BI Desktop che includa una tabella data interamente configurata. Condividere il modello con tutti gli autori di modelli nell'organizzazione. Ogni volta che un utente sviluppa un nuovo modello può quindi partire da una tabella data definita in modo coerente.

Usare data/ora automatica

L'opzione Data/ora automatica offre funzionalità di Business Intelligence per le gerarchie temporali pratiche, veloci e facili da usare. Gli autori di report possono usare le funzionalità di Business Intelligence per le gerarchie temporali per l'applicazione di filtri, il raggruppamento e il drill-down in periodi di tempo del calendario.

È consigliabile mantenere attivata l'opzione Data/ora automatica solo quando si lavora con periodi di tempo del calendario e si hanno requisiti di modellazione semplici in termini di tempo. L'uso di questa opzione può risultare pratico anche quando si creano modelli ad hoc o si esegue l'esplorazione dei dati o la profilatura. Questo approccio non supporta tuttavia la progettazione di un'unica tabella data in grado di eseguire la propagazione dei filtri a più tabelle. Per altre informazioni, vedere Linee guida per Data/ora automatica in Power BI Desktop.

Connettersi con Power Query

Quando l'origine dati contiene già una tabella data, è consigliabile usarla come origine della tabella data del modello. Questo scenario si ha in genere quando si stabilisce la connessione a un data warehouse, che avrà una tabella delle dimensioni data. In questo modo, il modello sfrutta un'unica origine di dati reali per le gerarchie temporali nell'organizzazione.

Se si sta sviluppando un modello DirectQuery e l'origine dati non include una tabella data, è consigliabile aggiungere una tabella data all'origine dati, che deve soddisfare tutti i requisiti di modellazione di una tabella data. È quindi possibile usare Power Query per connettersi alla tabella data. In questo modo, i calcoli del modello possono sfruttare le funzionalità di Business Intelligence per le gerarchie temporali DAX.

Generare con Power Query

È possibile generare una tabella data usando Power Query. Per altre informazioni, vedere il post di blog di Chris Webb Generating A Date Dimension Table In Power Query.

Suggerimento

Se non si ha un data warehouse o un'altra definizione coerente per le gerarchie temporali nell'organizzazione, è consigliabile usare Power Query per pubblicare un flusso di dati. Fare in modo che tutti gli autori di modelli di dati si connettano al flusso di dati per aggiungere tabelle di date ai modelli. Il flusso di dati diventa l'unica origine di dati reali per le gerarchie temporali nell'organizzazione.

Se è necessario generare una tabella data, provare a usare DAX. L'operazione potrebbe risultare più semplice, oltre che più pratica, poiché DAX include alcune funzionalità di intelligence predefinite per semplificare la creazione e la gestione delle tabelle di date.

Generare con DAX

Per generare una tabella data nel modello, è possibile creare una tabella calcolata tramite le funzioni DAX CALENDAR o CALENDARAUTO. Ogni funzione restituisce una tabella a colonna singola di date. È quindi possibile estendere la tabella calcolata con le colonne calcolate per supportare i requisiti di raggruppamento e filtro dell'intervallo di date.

  • Usare la funzione CALENDAR per definire un intervallo di date. Si passano due valori: la data di inizio e la data di fine. Questi valori possono essere definiti da altre funzioni DAX, ad esempio MIN(Sales[OrderDate]) o MAX(Sales[OrderDate]).
  • Usare la funzione CALENDARAUTO quando si vuole che l'intervallo di date includa automaticamente tutte le date archiviate nel modello. È possibile passare un singolo parametro facoltativo che è il mese di fine dell'anno (se l'anno è un anno di calendario, che termina a dicembre, non è necessario passare alcun valore). Si tratta di una funzione utile, perché assicura la restituzione degli anni completi delle date, che è un requisito per una tabella data contrassegnata. Inoltre, non è necessario gestire l'estensione della tabella agli anni futuri: al termine di un aggiornamento dati, viene attivato il ricalcolo della tabella. Un ricalcolo estenderà automaticamente l'intervallo di date della tabella quando verranno caricate nel modello le date per un nuovo anno.

Suggerimento

Per altre informazioni sulla creazione di tabelle calcolate, e per vedere un esempio di come creare una tabella data, usare il modulo di apprendimento Aggiungere tabelle e colonne calcolate ai modelli di Power BI Desktop.

Clonare con DAX

Quando il modello ha già una tabella data ed è necessaria una tabella data aggiuntiva, è possibile clonare facilmente la tabella data esistente. Ciò avviene quando la data è una dimensione con ruolo. È possibile clonare una tabella creando una tabella calcolata. L'espressione tabella calcolata è semplicemente il nome della tabella data esistente.

Per altre informazioni correlate a questo articolo, vedere le risorse seguenti: