Tipi di dati in Power BI Desktop

Questo articolo descrive i tipi di dati supportati da 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 ha valori frazionari, Power BI Desktop converte la colonna di dati in un tipo di dati Numero intero, più adatta per l'archiviazione di numeri interi.

Questo concetto è importante perché alcune funzioni DAX hanno requisiti speciali per i tipi di dati. In molti casi DAX converte in modo implicito i tipi di dati, ma in alcuni casi non lo è. Ad esempio, se una funzione DAX richiede un tipo di dati Date , ma il tipo di dati per la colonna è Text, 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 nella editor di Power Query, nella visualizzazione dati o nella visualizzazione report:

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

    Screenshot of the Power Query Editor, showing the Data type dropdown selection.

  • 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 of Data View, showing the Data type dropdown selection.

L'elenco a discesa Tipo di dati in 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 Duration viene convertita in un tipo di dati Numero decimale.

Il tipo di dati Binary non è supportato all'esterno del editor di Power Query. Nella editor di Power Query è possibile usare il tipo di dati Binary quando si caricano file binari se si esegue la conversione in altri tipi di dati prima di caricarli nel modello di Power BI. La selezione binaria è disponibile 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 di numeri

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

È possibile utilizzare la proprietà Column DataType Tabular Object Model (TOM) per specificare le DataType Enumerazioni 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 compresi tra -1,79E +308e -2,23E -308, valori positivi compresi tra 2,23E -308e 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ò verificarsi in qualsiasi punto del numero. Questo tipo corrisponde al modo in cui Excel archivia i numeri e TOM specifica questo tipo come DataType.Double Enum.

Numero decimale fisso

Il tipo di dati Numero decimale fisso ha una posizione fissa per il separatore decimale. Il separatore decimale ha sempre quattro cifre a destra e consente 19 cifre di significato. 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 Decimal (19,4) di SQL Server o al tipo di dati Currency in Analysis Services e PowerPivot in Excel. TOM specifica questo tipo come DataType.Decimal Enum.

Numero intero

Numero intero rappresenta un valore intero a 64 bit (otto byte). Poiché si tratta di un numero intero, il 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 DataType.Int64 Enum.

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 I edizione Enterprise E 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 asimmetriare 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 di data/ora

Power BI Desktop supporta cinque tipi di dati di data/ora in 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.

  • Date/Time rappresenta sia un valore di data che 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.

  • La 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 Time viene convertito nel modello come valore di data/ora senza cifre a sinistra del separatore decimale.

  • Date/Time/Timezone 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 intervallo di tempo e la conversione in un tipo numero decimale quando viene caricata nel modello. Come 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 Text è 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 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 situazioni comuni che possono causare la modifica dell'aspetto dei dati di testo tra l'esecuzione di query sui dati in 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 maiuscole diverse come lo stesso valore. "A" è uguale a "a". Tuttavia, Power Query fa distinzione tra maiuscole e minuscole, in cui "A" non è uguale a "a". La differenza nel caso in cui la distinzione tra maiuscole e 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 Addressee che mostra il nome dell'indirizzo immesso manualmente all'ora dell'ordine. editor di Power Query mostra diversi ordini con lo stesso Nomi degli indirizzi immessi nel sistema con maiuscole e minuscole variabili.

Screenshot of textual data with various capitalizations 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 in una delle varianti di maiuscole e minuscole.

Screenshot that shows the textual data with changed capitalization after loading into Power BI.

Questa modifica si verifica perché 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 Addressee, 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 Addressee 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:

Diagram that shows the data load process and mapping text values to a dictionary of unique values.

Nell'esempio precedente il motore di Power BI carica la prima riga di dati, crea il dizionario Addressee e aggiunge Taina Hasu . Il motore aggiunge anche un riferimento a tale valore nella colonna Addressee 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 in 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 Name contenente il nome del cliente e una colonna Index 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

In editor di Power Query i dati risultanti vengono visualizzati nel modo seguente.

Screenshot of textual data with various leading and trailing spaces in Power Query Editor.

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.

Screenshot of the same textual data after loading into Power BI returns the same number of rows as before.

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

Screenshot of a table visual based on the same data returning just two lines of data.

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 of an error message about duplicate values.

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

Screenshot of the relationship dialog showing a 'the cardinality you selected isn't valid for this relationship' error, which is related to duplicate values being detected.

È possibile tracciare questi errori in spazi iniziali o finali e risolverli usando Text.Trim o Trim in Trasforma per rimuovere gli spazi in 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 FAL edizione Standard indica che il cliente non ha effettuato l'iscrizione.

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

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

Screenshot that shows columns set to Boolean.

Il tipo di dati della colonna Newsletter sottoscritta è impostato su Any e, di conseguenza, Power BI carica i dati nel modello come Testo.

Screenshot showing the data loaded into 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 of a visual that shows the data appearing as expected.

Tuttavia, quando si aggiorna il modello semantico nella servizio Power BI, la colonna Newsletter sottoscritta negli oggetti visivi visualizza i valori come -1 e 0, anziché visualizzarli come TRUE o FAL edizione Standard:

Screenshot of a visual that shows data appearing in an unexpected format after refresh.

Se si ripubblica il report da Power BI Desktop, la colonna Newsletter sottoscritta mostra di nuovo TRUE o FAL edizione Standard come previsto, ma una volta che si verifica un aggiornamento nel servizio Power BI, i valori cambiano di nuovo per mostrare -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 of changing the data type of the column to True/False.

Quando si apporta la modifica, la visualizzazione mostra i valori nella colonna Newsletter sottoscritta leggermente diversamente. 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 of values appearing differently when you change the data type.

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 that shows true or false values that use the True/false data type appear as expected after refresh.

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

Blank è un tipo di dati DAX che rappresenta e sostituisce i valori Null SQL. È possibile creare un valore vuoto usando la funzione BLANK e testare gli spazi vuoti usando la funzione logica ISBLANK .

Tipo binario

È possibile utilizzare il tipo di dati Binary per rappresentare tutti i dati con un formato binario. Nella 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 è disponibile 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, il tentativo di aggiornare i dati tramite un gateway può causare errori. È consigliabile rimuovere in modo esplicito tutte le colonne binarie come ultimo passaggio delle query.

Tipo di tabella

DAX usa un tipo di dati di tabella in molte funzioni, ad esempio aggregazioni e calcoli 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 Le informazioni di riferimento sulle 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. Tuttavia, laddove possibile, DAX tenta di convertire in modo implicito i 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 e esegue l'operazione 1+1.
  • Se si aggiungono valori in due colonne con un valore rappresentato come testo ("12") e l'altro come numero (12), DAX converte in modo implicito la stringa in un numero e quindi esegue l'aggiunta per 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 di conversioni di dati implicite

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 Text . Quando un numero è rappresentato in un formato di testo, in alcuni casi Power BI tenta di determinare il tipo di numero e rappresentare i dati come numero.

Addizione (+)

INTEGER CURRENCY REAL Data/ora
INTEGER INTEGER CURRENCY REAL Data/ora
VALUTA 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 è minuend (lato sinistro) e l'intestazione di colonna è il sottrazione (lato destro).

INTEGER CURRENCY REAL Data/ora
INTEGER INTEGER CURRENCY REAL REAL
VALUTA 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, - (negativo), ma questo operatore non modifica il tipo di dati dell'operando.

Moltiplicazione (*)

INTEGER CURRENCY REAL Data/ora
INTEGER INTEGER CURRENCY REAL INTEGER
VALUTA 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 è il numeratore e l'intestazione di colonna è il denominatore.

INTEGER CURRENCY REAL Data/ora
INTEGER REAL CURRENCY REAL REAL
VALUTA 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 "Expression is true".

  • =IF("12">12,"Expression is true", "Expression is false") restituisce "Expression is true".

  • =IF("12"=12,"Expression is true", "Expression is false") restituisce "Expression is false".

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
VALUTA 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.

Expression 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

È possibile eseguire tutte le operazioni con Power BI Desktop e i dati. Per altre informazioni sulle funzionalità di Power BI, vedere le risorse seguenti: