Condividi tramite


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 numero intero tipo di dati, più adatto 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 nell'editor di Power Query, nella visualizzazione Tabella o nella visualizzazione Report:

  • Nell'Editor di Power Query, selezionare la colonna e quindi selezionare Tipo di Dati nel gruppo Trasformazione della barra multifunzione.

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

  • In Visualizzazione Tabella 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 tabella, che mostra la selezione a discesa del tipo di dati.

L'elenco a discesa Tipo di dati nell'editor di Power Query include due tipi di dati non presenti nella visualizzazione Tabella o nella 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 converte in un tipo di dati numero decimale.

Il tipo di dati binary non è supportato all'esterno dell'Editor di Power Query. Nell'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 esiste nei menu Visualizzazione tabella e Visualizzazione report per motivi di compatibilità, ma se si tenta di caricare colonne binarie nel modello di Power BI, potrebbero verificarsi errori.

Tipi di numeri

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

È possibile utilizzare la proprietà Tabular Object Model (TOM) Column DataType 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

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

La massima precisione 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 formato con cui Excel memorizza i numeri e TOM specifica questo tipo come DataType.Double enumerazione.

Numero decimale fisso

Il numero decimale fisso tipo di dati 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 maggiore numero decimale fisso può rappresentare è positivo o negativo 922.337.203.685.477.5807.

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

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

Numero intero

Il 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 del punto 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), in modo da rappresentare il maggior numero possibile di 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 enumerazione .

Nota

Il modello di dati di Power BI Desktop supporta valori interi a 64 bit, ma a causa delle limitazioni di JavaScript, il numero massimo che i visivi di Power BI possono esprimere 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 numeri

I valori di colonna di numero decimale tipo di dati 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, potrebbero archiviare approssimazioni estremamente vicine o arrotondate.

La perdita di precisione, o imprecisione, può verificarsi se il valore a virgola mobile non può quantificare in modo affidabile il numero di cifre a virgola mobile. L'imprecisione può manifestarsi come risultati di calcolo inaspettati o imprecisi in alcuni scenari di reportistica.

I calcoli di confronto correlati all'uguaglianza tra valori di numero decimale tipo di dati possono potenzialmente restituire risultati imprevisti. I confronti di uguaglianza comprendono 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, generando 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 interooppure eseguire un arrotondamento forzato usando ROUND. Il Numero decimale fisso tipo di dati ha maggiore precisione, perché il separatore decimale ha sempre quattro cifre a destra.

Raramente, i calcoli che sommano i valori di una colonna di numero decimale tipo di dati 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 alterare i risultati. Se il calcolo include l'aggiunta di 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 data/ora nell'editor di Power Query. Sia data/ora/fuso orario che durata si convertono 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 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 viene memorizzata come frazione di multipli interi di 1/300 di secondo (3,33 ms). Il tipo di dati supporta date comprese tra anni 1900 e 9999.

  • Data rappresenta solo una data senza parti temporali. Un Date viene convertito nel modello come valore data/ora con zero per il valore frazionario.

  • Time rappresenta solo un'ora senza parti di data. Un di ora viene convertito nel modello come valore 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 posizione o alle impostazioni locali di un utente. Il valore 09:00 caricato nel modello negli Stati Uniti viene visualizzato come 09:00 ovunque il report venga aperto o visualizzato.

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

Tipo di testo

Il tipo di dati Text è una stringa di dati con caratteri Unicode, che può essere lettere, numeri o data rappresentata in formato testo. Il limite massimo pratico per la lunghezza della stringa è di circa 32.000 caratteri Unicode, basato sul motore sottostante Power Query di Power BI e sui 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 le situazioni comuni che possono causare la modifica dell'aspetto dei dati testo quando si esegue una 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 è senza distinzione tra maiuscole e minuscolee considera maiuscole diverse come lo stesso valore. "A" è uguale a "a". Tuttavia, Power Query fa distinzione tra maiuscole e minuscole, dove "A" non è uguale a "a". La differenza nella sensibilità al maiuscolo/minuscolo può causare situazioni in cui i dati di testo cambiano maiuscole/minuscole in modo 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. L'editor di Power Query mostra diversi ordini con gli stessi Addressee nomi immessi nel sistema con variabili in maiuscole e minuscole.

Screenshot dei dati testuali con varie maiuscole in Power Query

Dopo che Power BI carica i dati, la capitalizzazione dei nomi duplicati nella scheda Dati cambia dalla voce originale a una delle varianti di capitalizzazione.

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 Addressee, il motore archivia un dizionario di valori univoci per migliorare le prestazioni tramite la compressione dei dati. Il motore visualizza 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:

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 Addressee e vi aggiunge Taina Hasu. Il motore di elaborazione aggiunge anche un riferimento a tale valore nella colonna Addressee della tabella che viene caricata. Il motore esegue la stessa operazione per la seconda e la terza riga, perché questi nomi non sono equivalenti agli altri ignorando la capitalizzazione.

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 sensibile alla 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 la distinzione tra 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 essere creata a causa dei valori duplicati, o le visualizzazioni potrebbero restituire risultati imprevisti.

L'esempio seguente mostra i dati relativi ai clienti: una colonna Name, che contiene il nome del cliente, e una colonna Index, che è 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.

Fila Spazio iniziale Spazio finale Nome Indice Lunghezza del testo
1 No 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 Tabella in Power BI dopo il caricamento dei dati, la stessa tabella è simile all'immagine seguente, con lo stesso numero di righe di prima.

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

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

Screenshot della visualizzazione di una tabella basata sugli stessi dati che restituisce 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 nel visuale rappresenta le ultime due righe dei dati caricati. La seconda riga con valore indice totale pari a 11 rappresenta le prime due righe. La differenza nel numero di righe tra il visual e la tabella dati è causata dal motore che rimuove o taglia automaticamente gli spazi finali, ma non gli spazi iniziali. Il motore valuta quindi le prime e le seconde righe, così come la terza e la quarta, come identiche, 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 di cardinalità non valida per questa relazione, correlato al rilevamento di valori duplicati.

È possibile rintracciare questi errori fino a spazi iniziali o finali residui e risolverli utilizzando Text.Trimo Format>Trim sotto Transform, per rimuovere gli spazi nell'editor di Power Query.

Tipo vero/falso

Il tipo di dati True/false è un valore booleano di 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 Iscritto alla newsletter è impostato su Anye, 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 elemento visivo che mostra i dati visualizzati come previsto.

Tuttavia, quando si aggiorna il modello semantico nel servizio Power BI, la colonna Sottoscritta Alla Newsletter nelle visualizzazioni mostra i valori come -1 e 0, anziché visualizzarli come TRUE o FALSE.

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

Se ripubblichi il report da Power BI Desktop, la colonna Iscritto alla newsletter mostra di nuovo TRUE o FALSE come ci si aspetta, ma una volta che 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 per digitare True/False in Power BI Desktop e ripubblicare il report.

Screenshot della modifica del tipo di dati della colonna a Vero/Falso.

Quando si apporta la modifica, la visualizzazione mostra i valori nella colonna Subscribed To Newsletter leggermente diversa. Anziché il testo sia scritto tutto in maiuscolo come inserito nella tabella, solo la prima lettera è 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 al servizio Power BI e dopo 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 vero/falso in Power BI Desktop.

Tipo di modulo vuoto

Blank è un tipo di dati DAX che rappresenta e sostituisce i valori Null SQL. È possibile creare un BLANK usando la funzione BLANK e verificare se è vuoto usando la funzione logica ISBLANK.

Tipo binario

È possibile usare il tipo di dati binary per rappresentare qualsiasi dato 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 di Visualizzazione tabella e Visualizzazione report per ragioni di legacy, ma se si tenta di caricare colonne binarie nel modello di Power BI, potrebbero verificarsi 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 tabella in molte funzioni, come aggregazioni e calcoli di intelligenza temporale. 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, consulta il 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.

Per esempio:

  • Se si digita una data come stringa, DAX analizza la stringa e tenta di convertirla in uno dei formati di data e ora di Windows.
  • È possibile aggiungere TRUE + 1 e ottenere il risultato 2, perché DAX converte in modo implicito TRUE nel numero 1e 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 che DAX effettua convertendo i valori richiesti prima di compiere l'operazione richiesta. Nelle tabelle seguenti sono elencati gli operatori e la conversione che DAX esegue su ciascun tipo di dati quando si abbina 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 (+)

NUMERO INTERO VALUTA REALE Data/ora
INTEGER NUMERO INTERO VALUTA REALE Data/ora
VALUTA VALUTA VALUTA REALE Data/ora
Real REALE REALE REALE 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 è il minuendo (lato sinistro) e l'intestazione di colonna è il sottraendo (lato destro).

NUMERO INTERO VALUTA REALE Data/ora
INTEGER NUMERO INTERO VALUTA REALE REALE
VALUTA VALUTA VALUTA REALE REALE
reale REALE REALE REALE REALE
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 (*)

NUMERO INTERO VALUTA REALE Data/ora
INTEGER NUMERO INTERO VALUTA REALE NUMERO INTERO
VALUTA VALUTA REALE VALUTA VALUTA
Real REALE VALUTA REALE REALE

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.

NUMERO INTERO VALUTA REALE Data/ora
INTEGER REALE VALUTA REALE REALE
VALUTA VALUTA REALE VALUTA REALE
reale REALE REALE REALE REALE
data/ora REALE REALE REALE REALE

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.

Le espressioni DAX seguenti illustrano 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 è falsa".

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

Confronto
Operatore
NUMERO INTERO VALUTA REALE Data/ora
INTEGER NUMERO INTERO VALUTA REALE REALE
VALUTA VALUTA VALUTA REALE REALE
Real REALE REALE REALE REALE
Data/ora REALE REALE REALE Data/ora

Spazi vuoti, stringhe vuote e valori zero

DAX rappresenta un valore nullo, un valore vuoto, una cella vuota o un valore mancante con lo stesso nuovo tipo di valore, un BLANK. È anche possibile generare spazi vuoti usando la funzione BLANK o testarne gli spazi vuoti usando 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
VUOTO * 5 VUOTO 0 (zero)
5/VUOTO Infinito Errore
0/VUOTO NaN Errore
VUOTO/VUOTO VUOTO Errore
FALSE O VUOTO FALSO FALSO
FALSE E VUOTO FALSO FALSO
VERO O VUOTO VERO VERO
VERO E VUOTO FALSO VERO
VUOTO O VUOTO VUOTO Errore
VUOTO E VUOTO VUOTO. Errore

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