Creare una tabella calcolata

Si applica a: SQL Server Analysis Services Azure Analysis Services Power BI Premium

Una tabella calcolata è un oggetto calcolato, basato su una query o un'espressione DAX, derivato per intero o in parte da altre tabelle nello stesso modello.

Un problema di progettazione comune che possono risolvere le tabelle calcolate è esporre una dimensione con ruoli multipli in un contesto specifico in modo che sia possibile esporla come struttura di query nelle applicazioni client. Si ricorderà che una dimensione con ruoli multipli è semplicemente una tabella esposta in più contesti. Un esempio classico è la tabella Data, esposta come DataOrdine, DataSpedizione o DataScadenza, in base alla relazione di chiave esterna. Creando una tabella calcolata per ShipDate in modo esplicito, è possibile ottenere una tabella autonoma disponibile per le query, perfettamente utilizzabile come qualsiasi altra tabella. Un altro uso include la configurazione di un set di righe filtrato, di un subset o di un superset di colonne di altre tabelle esistenti. Ciò consente di mantenere intatta la tabella originale durante la creazione di varianti della tabella per supportare scenari specifici.

Per un uso ottimale delle tabelle calcolate è necessario conoscere i principi di base delle espressioni DAX. Quando si lavora con le espressioni per la tabella, può essere utile sapere che una tabella calcolata contiene una singola partizione con daXSource, dove l'espressione è un'espressione DAX.
Esiste una sola CalculatedTableColumn per ogni colonna restituita dall'espressione, dove SourceColumn è il nome della colonna restituita (in modo analogo a DataColumn nelle tabelle non calcolate).

Prima di poter creare una tabella calcolata, è necessario che sia già presente almeno una tabella. Se si crea una tabella calcolata come oggetto tabella calcolata autonoma, è prima possibile creare una tabella importando da un'origine dati file (csv, xls, xml). Il file da cui si importa può avere una singola colonna e un singolo valore. È quindi possibile nascondere la tabella.

Come creare una tabella calcolata

  1. Verificare innanzitutto che il livello di compatibilità del modello tabulare sia 1200 o superiore. È possibile controllare la proprietà Livello di compatibilità nel modello in SSDT.

  2. Passare alla vista dati. Non è possibile creare una tabella calcolata nelle vista diagramma.

  3. Selezionare Tabella > Nuova tabella calcolata.

  4. Digitare o incollare un'espressione DAX (vedere di seguito per alcune idee).

  5. Assegnare un nome alla tabella.

  6. Creare relazioni con altre tabelle nel modello. Per informazioni su questo passaggio, vedere Creare una relazione tra due tabelle.

  7. Fare riferimento alla tabella nei calcoli o nelle espressioni nel modello o usare la funzionalità Analizza in Excel per l'esplorazione dei dati ad hoc.

Replicare una dimensione con ruoli multipli

Nella barra della formula immettere una formula DAX che recupera una copia di un'altra tabella. Dopo il popolamento della tabella calcolata, assegnarle un nome descrittivo e quindi impostare una relazione che usa la chiave esterna specifica per il ruolo. Nel database Adventure Works, ad esempio, si potrebbe creare una tabella calcolata per Due Date e usare DueDateKey come base per una relazione con la tabella dei fatti.

=DimDate  

Set di dati riepilogato o filtrato

Nella barra della formula immettere un'espressione DAX che consente di filtrare, riepilogare e modificare in altri modi un set di dati in modo che contenga le righe desiderate. Questo esempio raggruppa le vendite per colore e valuta.

=SUMMARIZECOLUMNS(DimProduct[Color]  
, DimCurrency[CurrencyName]   
, "Sales" , SUM(FactInternetSales[SalesAmount])  
)  

Superset che usa le colonne da più tabelle

Nella barra della formula immettere un'espressione DAX che combina le colonne da più tabelle. In questo caso, l'output della query elenca la categoria di prodotto per ogni valuta.

=CROSSJOIN(DimProductCategory, DimCurrency)  

Vedi anche

Livello di compatibilità
Espressioni di analisi dei (DAX) in Analysis Services
Informazioni su DAX nei modelli tabulari