Tipi di dati in Power BI Desktop

Questo articolo descrive i tipi di dati supportati in Power BI Desktop e Data Analysis Expressions (DAX).

Quando Power BI carica i dati, tenta di convertire i tipi di dati delle colonne di origine in tipi di dati che supportano archiviazione, calcoli e visualizzazione dei dati più efficienti. Ad esempio, se una colonna di valori importati da Excel non include valori frazionari, Power BI Desktop converte la colonna di dati in un tipo di dati numero intero, più adatto per l'archiviazione di numeri interi.

Questo aspetto è importante perché alcune funzioni DAX hanno speciali requisiti per i tipi di dati. In molti casi DAX converte in modo implicito i tipi di dati, ma in alcuni casi no. Ad esempio, se una funzione DAX richiede un tipo di dati Data, ma il tipo di dati per la colonna è Testo, la funzione DAX non funzionerà correttamente. È quindi importante e utile usare i tipi di dati corretti per le colonne.

Determinare e specificare il tipo di dati di una colonna

In Power BI Desktop è possibile determinare e specificare il tipo di dati di una colonna nell'editor di Power Query, nella visualizzazione dati o nella visualizzazione report:

  • Nell'editor di Power Query selezionare la colonna e quindi selezionare Tipo di dati nel gruppo Trasforma della barra multifunzione.

    Screenshot dell'editor di Power Query che mostra la selezione a discesa Tipo di dati.

  • In Visualizzazione dati o Visualizzazione report selezionare la colonna e quindi selezionare la freccia a discesa accanto a Tipo di dati nella scheda Strumenti colonna della barra multifunzione.

    Screenshot della visualizzazione dati, che mostra la selezione dell'elenco a discesa Tipo di dati.

L'elenco a discesa Tipo di dati nell'editor di Power Query include due tipi di dati non presenti in Visualizzazione dati o Visualizzazione report: Data/Ora/Fuso orario e Durata. Quando si carica una colonna con questi tipi di dati nel modello di Power BI, una colonna data/ora/fuso orario viene convertita in un tipo di dati Data/ora e una colonna Durata viene convertita in un tipo di dati Numero decimale.

Il tipo di dati Binario non è supportato all'esterno dell'editor di Power Query. Nell'editor di Power Query è possibile usare il tipo di dati Binario quando si caricano file binari se vengono convertiti in altri tipi di dati prima di caricarli nel modello di Power BI. La selezione binaria esiste nei menu Visualizzazione dati e Visualizzazione report per motivi legacy, ma se si tenta di caricare colonne binarie nel modello di Power BI, è possibile che si verifichino errori.

Tipi numerici

Power BI Desktop supporta tre tipi di numero: numero decimale, numero decimale fisso e numero intero.

È possibile utilizzare la proprietà DataType Modello a oggetti tabulare (TOM) per specificare le Enumerazioni DataType per i tipi di numero. Per altre informazioni sulla modifica a livello di codice di oggetti in Power BI, vedere Programmare modelli semantici di Power BI con il modello a oggetti tabulare.

Numero decimale

Il numero decimale è il tipo di numero più comune e può gestire i numeri con valori frazionari e numeri interi. Il numero decimale rappresenta numeri a virgola mobile a 64 bit (otto byte) con valori negativi da -1,79E +308 fino a -2,2 3E -308, valori positivi da 2,23E -308 fino a 1,79E +308, e 0. I numeri come 34, 34.01 e 34.000367063 sono numeri decimali validi.

La precisione più elevata che il tipo di numero decimale può rappresentare è di 15 cifre. Il separatore decimale può essere inserito in qualsiasi punto del numero. Questo tipo corrisponde al modo in cui Excel archivia i numeri e TOM specifica questo tipo come Enum DataType.Double.

Numero decimale fisso

Il tipo di dati numero decimale fisso dispone di una posizione fissa per il separatore decimale. Il separatore decimale ha sempre quattro cifre a destra e consente 19 cifre significative. Il valore più grande che il numero decimale fisso può rappresentare è positivo o negativo 922.337.203.685.477.5807.

Il tipo Numero decimale fisso è utile nei casi in cui l'arrotondamento potrebbe introdurre errori. I numeri con valori frazionari piccoli possono talvolta accumularsi e forzare un numero in modo leggermente impreciso. Il tipo Numero decimale fisso consente di evitare questi tipi di errori troncando i valori oltre le quattro cifre a destra del separatore decimale.

Questo tipo di dati corrisponde al tipo di dati Decimale (19,4) di SQL Server o al tipo di dati Valuta in Analysis Services e PowerPivot in Excel. TOM specifica questo tipo come Enum DataType.Decimal.

Numero intero

Numero intero rappresenta un valore intero a 64 bit (otto byte). Poiché si tratta di un numero intero, Numero intero non ha cifre a destra della posizione decimale. Questo tipo consente 19 cifre di numeri interi positivi o negativi tra -9.223.372.036.854.775.807 ( -2^63+1) e 9.223.372.036.854.775.806 (2^63-2), quindi possono rappresentare il maggior numero possibile dei tipi di dati numerici.

Come per il tipo decimale fisso, il tipo Numero intero può essere utile quando è necessario controllare l'arrotondamento. TOM rappresenta il tipo di dati Numero intero come Enum DataType.Int64.

Nota

Il modello di dati di Power BI Desktop supporta valori integer a 64 bit, ma a causa delle limitazioni di JavaScript, il numero massimo di oggetti visivi di Power BI può essere espresso in modo sicuro è 9.007.199.254.740.991 (2^53-1). Se il modello di dati ha numeri maggiori, è possibile ridurre le dimensioni tramite calcoli prima di aggiungerli agli oggetti visivi.

Accuratezza dei calcoli dei tipi di numero

I valori di colonna del tipo di dati Numero decimale vengono archiviati come tipi di dati approssimativi, in base allo standard IEEE 754 per i numeri a virgola mobile. I tipi di dati approssimativi presentano limitazioni di precisione intrinseche, perché invece di archiviare valori numerici esatti, possono archiviare approssimazioni estremamente vicine o arrotondate.

La perdita di precisione o l'imprecisione possono verificarsi se il valore a virgola mobile non può quantificare in modo affidabile il numero di cifre a virgola mobile. L'imprecisione può essere potenzialmente visualizzata come risultato di calcolo imprevisto o impreciso in alcuni scenari di creazione di report.

I calcoli di confronto correlati all'uguaglianza tra i valori del tipo di dati Numero decimale possono restituire risultati imprevisti. I confronti di uguaglianza includono uguale a =, maggiore di >, minore di <, maggiore o uguale a >= e minore o uguale a <=.

Questo problema è più evidente quando si usa la funzione RANKX in un'espressione DAX, che calcola il risultato due volte, ottenendo numeri leggermente diversi. Gli utenti del report potrebbero non notare la differenza tra i due numeri, ma il risultato della classificazione può essere notevolmente impreciso. Per evitare risultati imprevisti, è possibile modificare il tipo di dati della colonna da Numero decimale a Numero decimale fisso o Numero intero oppure eseguire un arrotondamento forzato tramite ROUND. Il tipo di dati Numero decimale fisso ha maggiore precisione, perché il separatore decimale ha sempre quattro cifre a destra.

Raramente, i calcoli che sommano i valori di una colonna di tipo di dati Numero decimale possono restituire risultati imprevisti. Questo risultato è molto probabile con colonne con grandi quantità di numeri positivi e numeri negativi. Il risultato della somma è influenzato dalla distribuzione dei valori tra le righe della colonna.

Se un calcolo obbligatorio somma la maggior parte dei numeri positivi prima di sommare la maggior parte dei numeri negativi, la grande somma parziale positiva all'inizio può potenzialmente falsare i risultati. Se il calcolo si verifica per aggiungere numeri positivi e negativi bilanciati, la query mantiene una maggiore precisione e restituisce quindi risultati più accurati. Per evitare risultati imprevisti, è possibile modificare il tipo di dati della colonna da Numero decimale a Numero decimale fisso o Numero intero.

Tipi Data/Ora

Power BI Desktop supporta cinque tipi di dati data/ora nell'editor di Power Query. Sia data/ora/fuso orario che durata vengono convertite durante il caricamento nel modello di dati di Power BI Desktop. Il modello supporta Data/Ora oppure è possibile formattare i valori come Data o Ora in modo indipendente.

  • Data/Ora: rappresenta un valore di data e di ora. Il valore data/ora sottostante viene archiviato come tipo di numero decimale, in modo da poter eseguire la conversione tra i due tipi. La parte temporale archivia come frazione i multipli interi di 1/300 secondi (3,33 ms). Il tipo di dati supporta date comprese tra anni 1900 e 9999.

  • Data rappresenta solo una data senza parti temporali. Una data viene convertita nel modello come valore di data/ora con zero per il valore frazionaria.

  • L'ora rappresenta solo un'ora senza parti di data. Un valore Ora viene convertito nel modello come valore di data/ora senza cifre a sinistra del separatore decimale.

  • Data/ora/fuso orario rappresenta una data/ora UTC con un offset di fuso orario e converte in Data/ora quando viene caricato nel modello. Il modello di Power BI non regola il fuso orario in base alla località, alle impostazioni locali o ad altre impostazioni dell'utente. Il valore 09:00 caricato nel modello negli Stati Uniti viene visualizzato come 09:00 ovunque il report venga aperto o visualizzato.

  • La Durata rappresenta un periodo di tempo e si converte in un tipo di numero decimale quando viene caricato nel modello. Come di tipo numero decimale, è possibile aggiungere o sottrarre i valori dai valori di data/ora con risultati corretti, e usare facilmente i valori nelle visualizzazioni che mostrano grandezza.

Tipo di testo

Il tipo di dati Testo è una stringa di dati carattere Unicode, che può essere lettere, numeri o date rappresentate in un formato di testo. Il limite massimo pratico per la lunghezza della stringa è di circa 32.000 caratteri Unicode, in base al motore di Power Query sottostante di Power BI e ai relativi limiti per le lunghezze dei tipi di dati di testo. È probabile che i tipi di dati di testo oltre il limite massimo pratico generino degli errori.

Il modo in cui Power BI archivia i dati di testo può causare la visualizzazione dei dati in modo diverso in determinate situazioni. Le sezioni successive descrivono le situazioni comuni che possono causare la modifica dell'aspetto dei dati di testo tra l'esecuzione di query sui dati nell'editor di Power Query e il caricamento in Power BI.

Distinzione tra maiuscole e minuscole

Il motore che archivia ed esegue query sui dati in Power BI non fa distinzione tra maiuscole e minuscole e considera la combinazione di maiuscole e minuscole diverse come lo stesso valore. "A" è uguale ad "a". Tuttavia, Power Query fa distinzione tra maiuscole e minuscole, dove "A" non è uguale ad "a". La differenza di sensibilità alle maiuscole e alle minuscole può causare situazioni in cui i dati di testo cambiano in modo apparentemente inspiegabile dopo il caricamento in Power BI.

L'esempio seguente mostra i dati dell'ordine: una colonna OrderNo univoca per ogni ordine e una colonna Destinatario che mostra il nome dell'indirizzo immesso manualmente all'ora dell'ordine. L'editor di Power Query mostra diversi ordini con gli stessi nomi Destinatario immessi nel sistema con maiuscole diverse.

Screenshot dei dati testuali con varie maiuscole in Power Query

Dopo che Power BI carica i dati, la combinazione di maiuscole e minuscole dei nomi duplicati nella scheda Dati passa dalla voce originale a una delle varianti di maiuscole e minuscole.

Screenshot che mostra i dati testuali con maiuscole e minuscole modificate dopo il caricamento in Power BI.

Questa modifica si verifica perché l'editor di Power Query fa distinzione tra maiuscole e minuscole, quindi mostra i dati esattamente come archiviati nel sistema di origine. Il motore che archivia i dati in Power BI non fa distinzione tra maiuscole e minuscole, quindi considera le versioni minuscole e maiuscole di un carattere come identiche. I dati di Power Query caricati nel motore di Power BI possono cambiare di conseguenza.

Il motore di Power BI valuta ogni riga singolarmente quando carica i dati, a partire dalla parte superiore. Per ogni colonna di testo, ad esempio Destinatario, il motore archivia un dizionario di valori univoci per migliorare le prestazioni tramite la compressione dei dati. Il motore vede i primi tre valori nella colonna Destinatario come univoci e li archivia nel dizionario. In seguito, poiché il motore non fa distinzione tra maiuscole e minuscole, valuta i nomi come identici.

Il motore vede il nome "Taina Hasu" come identico a "TAINA HASU" e "Taina HASU", quindi non archivia tali varianti, ma fa riferimento alla prima variante archiviata. Il nome "MURALI DAS" viene visualizzato in lettere maiuscole, perché questo è il modo in cui il nome è apparso la prima volta che il motore lo ha valutato durante il caricamento dei dati dall'alto verso il basso.

Questa immagine illustra il processo di valutazione:

Diagramma che mostra il processo di caricamento dei dati e il mapping dei valori di testo a un dizionario di valori univoci.

Nell'esempio precedente il motore di Power BI carica la prima riga di dati, crea il dizionario Destinatario e aggiunge Taina Hasu. Il motore aggiunge anche un riferimento a tale valore nella colonna Destinatario della tabella caricata. Il motore esegue la stessa operazione per la seconda e la terza riga, perché questi nomi non sono equivalenti agli altri quando si ignora la distinzione tra maiuscole e minuscole.

Per la quarta riga, il motore confronta il valore con i nomi nel dizionario e trova il nome. Poiché il motore non fa distinzione tra maiuscole e minuscole, "TAINA HASU" e "Taina Hasu" sono uguali. Il motore non aggiunge un nuovo nome al dizionario, ma fa riferimento al nome esistente. Lo stesso processo avviene per le righe rimanenti.

Nota

Poiché il motore che archivia ed esegue query sui dati in Power BI non fa distinzione tra maiuscole e minuscole, prestare particolare attenzione quando si lavora in modalità DirectQuery con un'origine con distinzione tra maiuscole e minuscole. Power BI presuppone che l'origine abbia eliminato righe duplicate. Poiché Power BI non fa distinzione tra maiuscole e minuscole, considera due valori che differiscono solo per caso come duplicati, mentre l'origine potrebbe non considerarli come tali. In questi casi, il risultato finale non è definito.

Per evitare questa situazione, se si usa la modalità DirectQuery con un'origine dati con distinzione tra maiuscole e minuscole, normalizzare le maiuscole e minuscole nella query di origine o nell'editor di Power Query.

Spazi iniziali e finali

Il motore di Power BI taglia automaticamente tutti gli spazi finali che seguono i dati di testo, ma non rimuove gli spazi iniziali che precedono i dati. Per evitare confusione, quando si usano dati che contengono spazi iniziali o finali, è consigliabile usare la funzione Text.Trim per rimuovere gli spazi all'inizio o alla fine del testo. Se non si rimuovono gli spazi iniziali, una relazione potrebbe non riuscire a creare a causa di valori duplicati o gli oggetti visivi potrebbero restituire risultati imprevisti.

L'esempio seguente mostra i dati relativi ai clienti: una colonna Nome contenente il nome del cliente e una colonna Indice univoca per ogni voce. I nomi vengono visualizzati tra virgolette per maggiore chiarezza. Il nome del cliente si ripete quattro volte, ma ogni volta con combinazioni diverse di spazi iniziali e finali. Queste variazioni possono verificarsi con l'immissione manuale dei dati nel tempo.

Riga Spazio iniziale Spazio finale Nome Indice Text length
1 Numero No "Dylan Williams" 1 14
2 No "Dylan Williams " 10 15
3 No " Dylan Williams" 20 15
4 " Dylan Williams " 40 16

Nell'editor di Power Query i dati risultanti vengono visualizzati come segue.

Screenshot dei dati testuali con vari spazi iniziali e finali nell'editor di Power Query.

Quando si passa alla scheda Dati in Power BI dopo aver caricato i dati, la stessa tabella è simile all'immagine seguente, con lo stesso numero di righe di prima.

Lo screenshot degli stessi dati testuali dopo il caricamento in Power BI restituisce lo stesso numero di righe di prima.

Tuttavia, un oggetto visivo basato su questi dati restituisce solo due righe.

Screenshot di un oggetto visivo tabella basato sugli stessi dati che restituiscono solo due righe di dati.

Nell'immagine precedente la prima riga ha un valore totale pari a 60 per il campo Indice, quindi la prima riga nell'oggetto visivo rappresenta le ultime due righe dei dati caricati. La seconda riga con valore di Indice totale pari a 11 rappresenta le prime due righe. La differenza nel numero di righe tra l'oggetto visivo e la tabella dati è causata dal motore rimuovendo o tagliando automaticamente gli spazi finali, ma non gli spazi iniziali. Il motore valuta quindi le prime e le seconde righe e la terza e la quarta riga, come identica, e l'oggetto visivo restituisce questi risultati.

Questo comportamento può anche causare messaggi di errore correlati alle relazioni, perché vengono rilevati valori duplicati. Ad esempio, a seconda della configurazione delle relazioni, è possibile che venga visualizzato un errore simile all'immagine seguente:

Screenshot di un messaggio di errore relativo ai valori duplicati.

In altre situazioni, potrebbe non essere possibile creare una relazione molti-a-uno o uno-a-uno perché vengono rilevati valori duplicati.

Screenshot della finestra di dialogo della relazione che mostra un errore che indica che la cardinalità selezionata non è valida per questa relazione, correlata al rilevamento di valori duplicati.

È possibile tracciare questi errori in spazi iniziali o finali e risolverli usando Text.Trim o Trim in Trasforma, per rimuovere gli spazi nell'editor di Power Query.

Tipo True/False

Il tipo di dati True/false è un valore booleano true o false. Per ottenere risultati ottimali e più coerenti, quando si carica una colonna contenente informazioni booleane true/false in Power BI, impostare il tipo di colonna su True/False.

Power BI converte e visualizza i dati in modo diverso in determinate situazioni. Questa sezione descrive i casi comuni di conversione di valori booleani e come gestire le conversioni che creano risultati imprevisti in Power BI.

In questo esempio si caricano i dati relativi al fatto che i clienti abbiano effettuato l'iscrizione alla newsletter. Il valore TRUE indica che il cliente ha effettuato l'iscrizione alla newsletter e il valore FALSE indica che il cliente non ha effettuato l'iscrizione.

Tuttavia, quando si pubblica il report nel servizio Power BI, la colonna stato di iscrizione alla newsletter mostra 0 e -1 anziché i valori previsti di TRUE o FALSE. I passaggi seguenti descrivono come si verifica questa conversione e come impedirlo.

La query semplificata per questa tabella viene visualizzata nell'immagine seguente:

Screenshot che mostra le colonne impostate su Boolean.

Il tipo di dati della colonna Sottoscrizione alla newsletter è impostato su Qualsiasi e, di conseguenza, Power BI carica i dati nel modello come Testo.

Screenshot che mostra i dati caricati in Power BI.

Quando si aggiunge una visualizzazione semplice che mostra le informazioni dettagliate per ogni cliente, i dati vengono visualizzati nell'oggetto visivo come previsto, sia in Power BI Desktop che quando vengono pubblicati nel servizio Power BI.

Screenshot di un oggetto visivo che mostra i dati visualizzati come previsto.

Tuttavia, quando si aggiorna il modello semantico nel servizio Power BI, la colonna Sottoscrizione alla newsletter negli oggetti visivi visualizza i valori come -1 e 0, anziché visualizzarli come TRUE o FALSE:

Screenshot di un oggetto visivo che mostra i dati visualizzati in un formato imprevisto dopo l'aggiornamento.

Se si ripubblica il report da Power BI Desktop, la colonna Sottoscrizione alla newsletter mostra di nuovo TRUE o FALSE come previsto, ma quando si verifica un aggiornamento nel servizio Power BI, i valori cambiano nuovamente per visualizzare -1 e 0.

La soluzione per evitare questa situazione consiste nell'impostare qualsiasi colonna booleana sul tipo True/False in Power BI Desktop e ripubblicare il report.

Screenshot della modifica del tipo di dati della colonna in True/False.

Quando si apporta la modifica, la visualizzazione mostra i valori nella colonna Sottoscrizione alla newsletter leggermente diversa. Anziché il testo che contiene tutte le lettere maiuscole immesse nella tabella, solo la prima lettera viene maiuscola. Questa modifica è un risultato della modifica del tipo di dati della colonna.

Screenshot dei valori visualizzati in modo diverso quando si modifica il tipo di dati.

Dopo aver modificato il tipo di dati, ripubblicare il servizio Power BI, e si verifica un aggiornamento, il report visualizza i valori come True o False, come previsto.

Screenshot che mostra valori true o false che usano il tipo di dati True/false vengono visualizzati come previsto dopo l'aggiornamento.

Per riepilogare, quando si utilizzano dati booleani in Power BI, assicurarsi che le colonne siano impostate sul tipo di dati True/False in Power BI Desktop.

Tipo vuoto

Vuoto è un tipo di dati DAX che rappresenta e sostituisce i valori Null SQL. È possibile creare uno spazio vuoto usando la funzione BLANK, nonché verificare la presenza di spazi vuoti usando la funzione logica ISBLANK.

Tipo binario

È possibile utilizzare il tipo di dati Binario per rappresentare tutti i dati con un formato binario. Nell'editor di Power Query è possibile usare questo tipo di dati durante il caricamento di file binari se lo si converte in altri tipi di dati prima di caricarlo nel modello di Power BI.

Le colonne binarie non sono supportate nel modello di dati di Power BI. La selezione binaria esiste nei menu Visualizzazione dati e Visualizzazione report per motivi legacy, ma se si tenta di caricare colonne binarie nel modello di Power BI, è possibile che si verifichino errori.

Nota

Se una colonna binaria è nell'output dei passaggi di una query e si tenta di aggiornare i dati tramite un gateway, potrebbero verificarsi errori. È consigliabile rimuovere in modo esplicito le eventuali colonne binarie come ultimo passaggio nelle query.

Tipo di tabella

DAX usa il tipo di dati tabella in molte funzioni, ad esempio aggregazioni e calcoli della funzionalità di Business Intelligence per le gerarchie temporali. Alcune funzioni richiedono un riferimento a una tabella. Altre funzioni restituiscono una tabella che è quindi possibile usare come input per altre funzioni.

In alcune funzioni che richiedono una tabella come input, è possibile specificare un'espressione che restituisce una tabella. Alcune funzioni richiedono un riferimento a una tabella di base. Per informazioni sui requisiti di funzioni specifiche, vedere il Riferimento alle funzioni DAX.

Conversione implicita ed esplicita del tipo di dati

Ogni funzione DAX ha requisiti specifici per i tipi di dati da usare come input e output. Ad esempio, alcune funzioni richiedono numeri interi per alcuni argomenti e date per altri. Altre funzioni richiedono testo o tabelle.

Se i dati nella colonna specificata come argomento non sono compatibili con il tipo di dati richiesto dalla funzione, DAX potrebbe restituire un errore. Quando possibile, tuttavia, DAX prova a eseguire una conversione implicita dei dati nel tipo di dati richiesto.

Ad esempio:

  • Se si digita una data come stringa, DAX analizza la stringa e tenta di eseguirne il cast come uno dei formati di data e ora di Windows.
  • È possibile aggiungere TRUE + 1 e ottenere il risultato 2, perché DAX converte implicitamente TRUE nel numero 1 ed esegue l'operazione 1+1.
  • Se si aggiungono valori in due colonne con un valore rappresentato come testo ("12"), mentre l'altro come numero (12), DAX converte la stringa in modo implicito in un numero e quindi esegue la somma per ottenere un risultato numerico. L'espressione = "22" + 22 restituisce 44.
  • Se si tenta di concatenare due numeri, DAX li presenta come stringhe e quindi concatena. L'espressione = 12 & 34 restituisce "1234".

Tabelle delle conversioni implicite dei dati

L'operatore determina il tipo di conversione eseguita da DAX eseguendo il cast dei valori necessari prima di eseguire l'operazione richiesta. Nelle tabelle seguenti sono elencati gli operatori e la conversione DAX viene eseguita in ogni tipo di dati quando si associa al tipo di dati nella cella intersecante.

Nota

Queste tabelle non includono il tipo di dati Testo. Quando un numero viene rappresentato in un formato di testo, in alcuni casi PowerPivot prova a determinare il tipo numerico e a rappresentare i dati come numero.

Addizione (+)

INTEGER CURRENCY REAL Data/ora
INTEGER INTEGER CURRENCY REAL Data/ora
CURRENCY CURRENCY CURRENCY REAL Data/ora
REAL REAL REAL REAL Data/ora
Data/ora Data/ora Data/ora Data/ora Data/ora

Ad esempio, se un'operazione di addizione usa un numero reale in combinazione con i dati di valuta, DAX converte entrambi i valori in REAL e restituisce il risultato come REAL.

Sottrazione (-)

Nella tabella seguente l'intestazione di riga rappresenta il minuendo (lato sinistro) mentre l'intestazione di colonna il sottraendo (lato destro).

INTEGER CURRENCY REAL Data/ora
INTEGER INTEGER CURRENCY REAL REAL
CURRENCY CURRENCY CURRENCY REAL REAL
REAL REAL REAL REAL REAL
Data/ora Data/ora Data/ora Data/ora Data/ora

Ad esempio, se un'operazione di sottrazione utilizza una data con qualsiasi altro tipo di dati, DAX converte entrambi i valori in date e il valore restituito è anche una data.

Nota

I modelli di dati supportano l'operatore unario, - (segno negativo), ma questo operatore non modifica il tipo di dati dell'operando.

Moltiplicazione (*)

INTEGER CURRENCY REAL Data/ora
INTEGER INTEGER CURRENCY REAL INTEGER
CURRENCY CURRENCY REAL CURRENCY CURRENCY
REAL REAL CURRENCY REAL REAL

Ad esempio, se un'operazione di moltiplicazione combina un numero intero con un numero reale, DAX converte entrambi i numeri in numeri reali e il valore restituito è anche REAL.

Divisione (/)

Nella tabella seguente l'intestazione di riga rappresenta il numeratore mentre l'intestazione di colonna il denominatore.

INTEGER CURRENCY REAL Data/ora
INTEGER REAL CURRENCY REAL REAL
CURRENCY CURRENCY REAL CURRENCY REAL
REAL REAL REAL REAL REAL
Data/ora REAL REAL REAL REAL

Ad esempio, se un'operazione di divisione combina un numero intero con un valore di valuta, DAX converte entrambi i valori in numeri reali e il risultato è anche un numero reale.

Operatori di confronto

Nelle espressioni di confronto, DAX considera valori booleani maggiori dei valori stringa e valori stringa maggiori di valori numerici o di data/ora. I numeri e i valori di data/ora hanno lo stesso rango.

DAX non esegue conversioni implicite per valori booleani o stringa. BLANK o un valore vuoto viene convertito in 0, "" o False, a seconda del tipo di dati dell'altro valore confrontato.

Nelle espressioni DAX seguenti viene illustrato questo comportamento:

  • =IF(FALSE()>"true","Expression is true", "Expression is false") restituisce "L’espressione è vera".

  • =IF("12">12,"Expression is true", "Expression is false") restituisce "L’espressione è vera".

  • =IF("12"=12,"Expression is true", "Expression is false") restituisce "L’espressione è vera".

DAX esegue conversioni implicite per i tipi numerici o di data/ora come descritto nella tabella seguente:

Confronto
Operatore
INTEGER CURRENCY REAL Data/ora
INTEGER INTEGER CURRENCY REAL REAL
CURRENCY CURRENCY CURRENCY REAL REAL
REAL REAL REAL REAL REAL
Data/ora REAL REAL REAL Data/ora

Spazi vuoti, stringhe vuote e valori zero

DAX rappresenta un valore null, vuoto, una cella vuota o un valore mancante con lo stesso nuovo tipo di valore, un valore BLANK. È inoltre possibile generare tipi blank utilizzando la funzione BLANK, nonché verificare la presenza di tipi blank utilizzando la funzione ISBLANK.

Il modo in cui le operazioni come l'aggiunta o la concatenazione gestiscono spazi vuoti dipende dalla singola funzione. La tabella seguente riepiloga le differenze tra il modo in cui le formule DAX e Microsoft Excel gestiscono gli spazi vuoti.

Espressione DAX Excel
BLANK + BLANK VUOTO 0 (zero)
BLANK +5 5 5
BLANK * 5 VUOTO 0 (zero)
5/BLANK Infinito Error
0/BLANK NaN Error
BLANK/BLANK VUOTO Error
FALSE OR BLANK FALSE FALSE
FALSE AND BLANK FALSE FALSE
TRUE OR BLANK TRUE TRUE
TRUE AND BLANK FALSE TRUE
BLANK OR BLANK VUOTO Error
BLANK AND BLANK VUOTO Error

Power BI Desktop e i dati offrono infinite possibilità. Per altre informazioni sulle funzionalità di Power BI disponibili, vedere le risorse seguenti: