È possibile aggiungere nuovi campi al dataset utilizzando la finestra Tabella dati. La tabella dei dati ti permette di aggiungere campi come i tassi di crescita, la perdita percentuale e il cambiamento nel tempo scegliendo i campi dal tuo set di dati e applicando operatori e funzioni.
Nota:
- La tabella dei dati fornisce una vista rappresentativa dei tuoi dati e ha un limite di visualizzazione di 2.000 righe. Ordinare la tua tabella in ordine ascendente e discendente ti permette di visualizzare le prime 2.000 righe e le ultime 2.000 righe. Tutti i calcoli verranno eseguiti sul dataset completo.
- Il nuovo campo calcolato compare solo nella cartella di lavoro, non nel dataset originale. Ad esempio, dopo aver aggiunto un campo calcolato di percentchange a un dataset CommodityPrices aggiunto da Microsoft Excel, il campo percentchange è disponibile nella cartella di lavoro ma non viene aggiunto al file di Excel originale. Qualora si desideri conservare il campo calcolato al di fuori della cartella di lavoro, è possibile creare un nuovo Feature Layer condividendo il dataset.
- È anche possibile calcolare i campi da una mappa utilizzando gli strumenti Calcola % Cambio, Calcolare rapporto e Calcola Z-score in Trova risposte.
Suggerimento:
Utilizzare la tabella dati per aggiungere dati normalizzati al dataset per mappe, grafici e tabelle. Dopo che i dati vengono calcolati e aggiunti al dataset, cambiare il tipo di campo per identificarlo come campo frequenza/rapporto . Per ulteriori informazioni sulla normalizzazione dei dati, consultare Mappe coropletiche.
Aggiungere un campo al dataset
Per aggiungere un campo al set di dati, completate i seguenti passi:
- Dal riquadro dati, fare clic sul pulsante Opzioni dataset accanto al dataset dove si desidera aggiungere un campo calcolato.
- Fare clic su Visualizza tabella dati.
- Fare clic su + Campo.
Una colonna chiamata Nuovo campo viene aggiunta alla tabella.
Nota:
È possibile ridimensionare e riordinare le colonne, ma queste modifiche non vengono salvate.
- Fare clic sull'intestazione della nuova colonna e fornire un nome più descrittivo.
- Fare clic su fx o su Immettere funzione di calcolo per visualizzare un menu con le funzioni, i nomi del campo e gli operatori per costruire la propria formula. È inoltre possibile utilizzare comandi di tastiera equivalente per sostituire i pulsanti dal menu fx.
- Utilizzare funzioni, campi e operatori per completare il calcolo, se necessario.
- Fare clic su Esegui. Se il pulsante Esegui non è abilitato, c'è un errore nella sintassi del tuo calcolo.
Operatori
Il calcolo di un campo può richiedere operatori matematici e logici. I seguenti operatori sono disponibili per il calcolo dei campi:
Operatori | Usare |
---|---|
+ | Aggiunta. |
- | Sottrazione. |
× | Moltiplicazione. Il comando di tastiera equivalente è *. |
÷ | Divisione. Il comando di tastiera equivalente è /. |
xy | Funzione di potenza. Il comando di tastiera equivalente è ^. |
< | Minore di. |
> | Maggiore di. |
= | Uguale a. |
<= | Inferiore o uguale a. |
>= | Maggiore o uguale a. |
<> | Non uguale a. |
, | Virgola, utilizzata come separatore tra i componenti della sintassi nelle funzioni. |
( | Staffa sinistra. |
) | Staffa destra. |
AND | Operatore logico in cui devono essere soddisfatte tutte le condizioni. |
OR | Operatore logico in cui deve essere soddisfatta una condizione. |
IS NULL | Un operatore binario che testa se i valori in un campo sono nulli. Un valore di uscita di 0 è assegnato quando il valore testato non è nullo, e un valore di uscita di 1 è assegnato quando il valore testato è nullo. |
IS NOT NULL | Un operatore binario che testa se i valori in un campo non sono nulli. Un valore di uscita di 0 è assegnato quando il valore testato è nullo, e un valore di uscita di 1 è assegnato quando il valore testato non è nullo. |
Nota:
Gli operatori matematici come +, -, > e = sono compatibili con i campi numerici e frequenza/rapporto. Le funzioni, come CONCATENATE() e DATEDIF() possono essere usate al posto di certi operatori matematici per i campi stringa e i campi data/ora, rispettivamente.
Gli operatori IS NULL e IS NOT NULL sono compatibili con tutti i tipi di campi (stringa, numero, frequenza/raggio e data/ora) eccetto le posizioni. Alcuni campi stringa con valori nulli potrebbero essere configurati come stringe vuote. In questi casi, IS NULL e IS NOT NULL non riporteranno i risultati previsti. Invece, le espressioni field="" e field<>"" dovrebbero essere utilizzati in luoghi di field IS NULL e field IS NOT NULL, rispettivamente.
Gli operatori AND e OR possono essere utilizzati per condizioni di join con sintassi differente rispetto alle funzioni logiche corrispondenti. I seguenti esempi mostrano calcoli equivalenti usando le funzioni e gli operatori:
Nota:
Quando si calcolano i campi, AND e OR devono essere all'interno della IF() funzione.
Funzione | Operatore |
---|---|
IF(AND(MeanAge>=18, MeanAge<=33),"Millennial","Other") | IF(MeanAge>=18 AND MeanAge<=33,"Millennial","Other") |
IF(OR(Crime="Theft", Crime="Theft from vehicle", Crime="Shoplifting"), "Larceny", "Other") | IF(Crime="Theft" OR Crime="Theft from vehicle" OR Crime="Shoplifting", "Larceny", "Other") |
Funzioni
È possibile accedere alle funzioni utilizzando il pulsante fx o il campo Immettere funzione di calcolo nella tabella dati. Esistono quattro tipi di funzioni: stringa, numerica, data elogica.
Quando aggiungi una funzione al tuo calcolo, un pop-up mostra la sintassi della funzione. Puoi rimuovere il pop-up usando il pulsante di chiusura , o visualizzare nuovamente il pop-up cliccando la funzione nel campo Inserisci funzione di calcolo.
Funzioni stringa
La maggior parte delle funzioni stringa utilizza input stringa per produrre output stringa. Le due eccezioni sono la funzione VALUE() e la funzione FIND(), che utilizzano entrambe input stringa per produrre output numerici.
Testo di input nelle funzioni stringa può essere letterale (testo racchiuso tra virgolette) o valori di campo categoria. Le seguenti tabelle utilizzano campi categoria per i relativi esempi, insieme a valori di esempio che possono essere trovati in tali campi. Le virgolette vengono utilizzate nei valori di campo per dimostrare che i campi contengono dati di categoria.
Sintassi | Descrizione | Esempio |
---|---|---|
CONCATENATE(text1, [text2], ... ) | Concatena due o più valori stringa. | Un dataset delle scuole in California contiene campi per indirizzo, città e CAP. Un singolo campo di indirizzi di posta può essere creato utilizzando la funzione CONCATENATE():
|
FIND(find_text, within_text, [start_num]) | Fornisce la posizione del testo specificato (carattere o caratteri) all'interno di un campo stringa o testo. La funzione FIND() può essere più utile quando utilizzata in combinazione con altre funzioni, ad esempio MID(), LEFT() o RIGHT(). | Un dataset contiene un campo con indirizzi stradali (incluso numero e nome della via). Per classificare i dati per via, il nome della via deve essere rimosso dal resto dell'indirizzo usando la funzione funzione MID(). Tuttavia, ogni numero ha una lunghezza diversa, pertanto start_num sarà diverso per ciascuna riga. start_num può essere trovato utilizzando la funzione FIND():
|
LEFT(text, [num_chars]) | Restituisce parte del campo di testo.
| Un dataset di incidenti stradali include un campo categoria con il giorno dell'incidente, compreso il giorno della settimana, la data e l'anno. Per studiare gli incidenti in base al giorno della settimana, si può calcolare un nuovo campo per mostrare i primi tre caratteri del campo (a partire dal giorno della settimana) utilizzando la funzione LEFT():
|
LOWER(text) | Restituisce un'espressione di caratteri con tutti i dati convertiti in minuscolo. | Un reparto di un ente pubblico sta compilando un elenco di segnali stradali che devono essere sostituiti. Poiché nuove voci vengono aggiunte all'elenco, il formato del campo Status non è più standard rendendo difficile la visualizzazione dei segnali con valori univoci. Il campo StatusLOWER() può essere standardizzato in modo che tutte le lettere siano minuscole utilizzando la funzione :
|
MID(text, start_num, [num_chars]) | Restituisce parte del campo di testo.
| Un dataset delle scuole in California contiene campi per indirizzo, città e CAP. Il nome della via può essere isolato dall'indirizzo utilizzando la funzione MID():
|
RIGHT(text, [num_chars]) | Restituisce parte del campo di testo.
| Un set di dati dei parchi nazionali include un campo con il nome del parco e il codice a due cifre dello stato. Per rappresentare i parchi per stato, un nuovo campo può essere aggiunto e calcolato utilizzando la funzione RIGHT():
|
SUBSTITUTE(source_text, old_text, new_text) | Sostituisce il vecchio testo in una stringa con il nuovo testo specificato.
| Un dataset con posizioni delle buche contiene un campo con nomi delle strade. Il dataset deve essere aggiornato quando Via Roma viene rinominata Via Romani. Il campo street_name può essere aggiornato utilizzando la funzione SUBSTITUTE():
Nota:La funzione SUBSTITUTE() sostituirà tutte le occorrenze di old_text con new_text. Per esempio, nella funzione SUBSTITUTE("aba", "a", "c") il testo del risultato è "cbc". |
TRIM(text) | Restituisce la stringa con spazi aggiuntivi rimossi dalle estremità. | Un Feature Service contiene campi di testo con spazi aggiuntivi all'inizio e alla fine dei valori. Gli spazi extra possono essere rimossi usando la funzione TRIM():
|
UPPER(text) | Restituisce un'espressione di caratteri con tutti i dati convertiti in maiuscolo. | Un dataset con le posizioni delle sedi dell'ONG contiene un campo con i nomi completi dell'organizzazione e i relativi acronimi quando applicabile. Gli acronimi possono essere standardizzati in modo che tutte le lettere siano maiuscole utilizzando la funzione UPPER():
|
VALUE(text, [format]) | Converte testo in un numero.
Nota:Funzioni annidate all'interno della funzione VALUE() possono fornire risultati imprevisti se non è fornito un format. Pertanto, si consiglia di specificare un format quando si utilizza la funzione VALUE(). La funzione VALUE() non supporta attualmente la conversione del testo in numero negativi. | Un dataset di negozi al dettaglio dispone di un campo categoria con gli importi dei redditi. Il campo Revenue può essere convertito in valori numerici utilizzando la funzioneVALUE().
|
Funzioni numeriche
Funzioni numeriche utilizzano input numerici per produrre output numerici. Le funzioni numeriche sono molto probabilmente usate in combinazione con altre funzioni o come metodo di trasformazione dei dati.
I numeri di input possono essere numeri lettera o campi numerici. Alcuni degli esempi sottostanti utilizzano numeri come input anziché campi per meglio visualizzare l'uso di ciascuna funzione.
Sintassi | Descrizione | Esempio |
---|---|---|
ABS(number) | Restituisce il valore assoluto. |
|
AVG(number) | Restituisce il valore medio. |
|
CEILING(number) | Arrotonda un numero al multiplo di 1 superiore più vicino. |
|
COS(number) | Il coseno trigonometrico dell'angolo specificato, in radianti. La seguente formula può essere utilizzata per convertire gradi in radianti:
|
|
FLOOR(number) | Arrotonda un numero al multiplo di 1 inferiore più vicino. |
|
LN(number) | Il logaritmo naturale dell'espressione float specificata. Il logaritmo naturale utilizza la costante e come il valore di base (circa 2,72) |
|
LOG(number) | Il logaritmo di un numero in una base specifica. Il valore predefinito è base 10. |
|
MAX(number) o MAX(date) | Restituisce il valore massimo. |
|
MIN(number) o MIN(date) | Restituisce il valore minimo. |
|
POWER(number, power) | Il valore dell'espressione elevata alla potenza specificata. |
|
ROUND(number, num_digits) | Arrotonda i valori numerici al numero di cifre specificato.
|
|
SIN(number) | Il seno trigonometrico dell'angolo specificato, in radianti. La seguente formula può essere utilizzata per convertire gradi in radianti:
|
|
STDEV(number) | La deviazione standard di un campo numerico. |
|
SUM(number) | Restituisce il valore totale. |
|
TAN(number) | Restituisce la tangente dell'espressione di input. La seguente formula può essere utilizzata per convertire gradi in radianti:
|
|
Funzioni data
Funzioni data possono utilizzare campi data, testo o nessun input, a seconda della funzione in uso. La funzione DATEVALUE() può essere utilizzata per sostituire un campo data nella funzione DATEDIF() o TIMEDIF().
Nota:
I campi data/ora usati in DATEDIF() e DATEADD() devono essere in un formato che includa una data (in altre parole, o data e ora o solo data). I campi data/ora con solo l'ora non saranno accettati.
I campi data/ora usati in TIMEDIF() devono essere in un formato che includa un'ora (in altre parole, o data e ora o solo ora). I campi data/ora con solo la data non saranno accettati.
Sintassi | Descrizione | Esempio |
---|---|---|
DATE(year, month, day, [hour, minute, second], [AM/PM]) | Crea un campo data/ora utilizzando tre o più campi o valori separati. Sono accettate le seguenti specifiche:
Nota:Tutti i campi di input possono essere numeri o stringhe, tranne il parametro AM/PM. I numeri devono essere valori interi. Gli anni a due cifre devono essere stringhe. Se si utilizza la funzione DATE() con un dataset di database ed è stato specificato un parametro temporale qualsiasi (hour, minute o second), è necessario immettere un valore di input per tutti i parametri temporali. | Un dataset di ristoranti include campi stringa con la data e l'ora delle ispezioni sanitarie più recenti. Un campo data per le ispezioni può essere creato utilizzando la funzione DATE():
Nota:Le date risultanti in questo esempio saranno formattate utilizzando un formato orario di 24 ore. Per utilizzare un formato orario di 12, è necessario specificare AM o PM. La stessa funzione di esempio può essere scritta come DATE(2016, Month, Day, Hour, Min, 00, "AM"). |
TIME(hour, minute, second) | Crea un campo data/ora utilizzando tre campi o valori separati. Sono accettate le seguenti specifiche:
Nota:Tutti i campi di input possono essere numeri o stringhe, tranne il parametro AM/PM. I numeri devono essere valori interi. | Un dataset di cartelle cliniche include gli orari di arrivo dei pazienti. Un campo di ora per le cartelle può essere creato utilizzando la funzione TIME():
Nota:Le ore risultanti in questo esempio saranno formattate utilizzando un formato orario di 24 ore. Per utilizzare un formato orario di 12, è necessario specificare AM o PM. La stessa funzione di esempio può essere scritta come TIME(Hour, Min, 00, "AM"). |
DATEADD(date, integer, [unit]) | Aggiunge una quantità specificata di tempo alle date nel campo di input.
Se non viene fornita nessuna unità, verrà utilizzato "D". Quando i mesi vengono aggiunti a un campo data/ora, l'output sarà lo stesso giorno del mese, indipendentemente dal numero di giorni nel mese. Se il giorno del mese corrispondente non è valido nel nuovo mese, viene utilizzato l'ultimo giorno del mese. Per esempio, se un calcolo aggiunge tre mesi al campo di input, e una delle date originali è il 30 novembre 2021, il valore di output del 30 febbraio 2022 non è valido. Il risultato sarà registrato come 28 febbraio 2022, poiché il 2022 non è un anno bisestile. | Un'unità di salute pubblica è responsabile della conservazione dei registri dei vaccini per i pazienti all'interno del distretto sanitario. Un vaccino specifico ha due dosi che devono essere prese a distanza di almeno 60 giorni e non più di 180 giorni. DATEADD() può essere usato per creare campi con la prima data in cui i pazienti sono idonei per la loro seconda dose e la scadenza per la dose finale. Data di ammissibilità:
Data finale:
|
TIMEADD(time, integer, unit) | Aggiunge una quantità di tempo specificata ai tempi nel campo di input.
| Un set di dati ha date e orari registrati in tempo universale coordinato (UTC) e deve essere convertito in tempo standard centrale (CST). Un campo data/ora con tempi in CST può essere creato usando la TIMEADD() funzione:
|
DATEDIF(start_date, end_date, [unit]) | Calcola il tempo trascorso tra due date. Il start_date deve avvenire prima del end_date altrimenti l'uscita sarà un valore negativo.
Se non viene fornita nessuna unità, verrà utilizzato "D". L'arrotondamento viene eseguito sui risultati per ogni unità come segue:
| Un dataset di ristoranti include le date delle ispezioni sanitarie più recenti. Il numero di giorni trascorsi tra le ispezioni sanitarie può essere calcolato utilizzando la funzione DATEDIF(): Esempio 1:
Esempio 2:
Esempio 3:
|
TIMEDIF(start_time, end_time, [unit]) | Calcola il tempo trascorso tra due valori di data/ora. Il start_time deve avvenire prima del end_time altrimenti l'uscita sarà un valore negativo.
Se non viene fornita nessuna unità, verrà utilizzato "ss". L'arrotondamento viene eseguito sui risultati per ogni unità come segue:
| Un dataset di record di operazioni chirurgiche include l'ora di inizio e fine degli interventi chirurgici. Il tempo in cui ogni paziente viene sottoposto ad un intervento chirurgico può essere calcolato utilizzando la funzione TIMEDIF():
|
DATEVALUE(date_text, [format]) | Converte testo in una data.
Nota:Funzioni annidate all'interno della funzione DATEVALUE() possono fornire risultati imprevisti se non è fornito un format. Pertanto, si consiglia di specificare un format quando si nidificano funzioni all'interno di DATEVALUE(). Le date specificate senza separatori (ad esempio, "10312016") verranno gestite come millisecondi se non viene fornito alcun format. Pertanto, si consiglia di specificare un formato quando si inseriscono date senza separatori. Per date specificate con separatori ma senza un format, il formato verrà dedotto. Se il formato non può essere dedotto, verrà applicato il formato "MM-DD-YY" predefinito. La funzione DATEVALUE() può leggere solo testo inserito tra virgolette o campi di stringhe. Un campo data/ora non può essere utilizzato come input per la funzione DATEVALUE(). | Un dataset di ristoranti include le date delle ispezioni sanitarie più recenti. Il numero di giorni trascorsi dall'ultima ispezione può essere calcolato utilizzando la funzione DATEVALUE() per specificare la data corrente:
La data e l'ora possono avere formati diversi. Di seguito ne sono riportati alcuni esempi:
|
NOW() | Restituisce data e ora correnti nel formato data/ora. L'ora è registrata in base al tempo universale coordinato (UTC). | Un dataset di ristoranti include le date delle ispezioni sanitarie più recenti. Il numero di giorni trascorsi dall'ultima ispezione può essere calcolato utilizzando la funzione NOW() per specificare la data corrente:
|
Funzione logiche
Funzioni logiche utilizzano input stringa o numerici per produrre output stringa o numerici. Gli input possono essere letterali (testo racchiuso tra virgolette o numeri costanti) o valori di campo. Le seguenti tabelle utilizzano una combinazione di valori di campo e letterali per i relativi esempi, insieme a valori di esempio che possono essere trovati in tali campi.
Sintassi | Descrizione | Esempio |
---|---|---|
AND(condition,condition, ...) | Verifica due o più condizioni e restituisce TRUE se tutte le condizioni sono soddisfatte. AND() dovrebbe essere utilizzato all'interno del parametro condition della funzione IF().
| Un dataset contiene l'età media della popolazione che vive all'interno di ciascun gruppo di sezione. Un addetto all'analisi del mercato desidera conoscere quali gruppi di sezione contengono la maggior parte della generazione Y. I gruppi di sezione con un'età media interna all'intervallo di età della generazione Y possono essere trovati utilizzando una combinazione delle funzioni IF() e AND():
|
IF(condition, TRUE_expression, [FALSE_expression]) | Verifica una condizione e restituisce un valore TRUE o FALSE in base al risultato.
TRUE_expression e FALSE_expression possono essere qualsiasi espressione valida, inclusa una funzione IF() nidificata. Il tipo di dati per TRUE_expression e FALSE_expression deve essere identico (ad esempio, entrambi stringhe o numeri). | Un dataset contiene campi con ricavi dei negozi e spese, che possono essere usati per trovare lo stato dei negozi (che abbiano pubblicato un utile netto o una perdita netta). Lo stato di ciascun negozio può essere trovato utilizzando la funzione IF():
|
ISNULL(field)* | Testa se i valori in un campo sono null. Un valore di uscita di 0 è assegnato quando il valore testato non è nullo, e un valore di uscita di 1 è assegnato quando il valore testato è nullo.
ISNULL() può essere utilizzato singolarmente o all'interno del parametro condition della funzione IF(). | Un dataset contiene le posizioni di incidenti stradali che coinvolgono ciclisti, nonché il tipo di pista ciclabile presente sulla strada dove è avvenuta la collisione. Per le collisioni avvenute su una strada sprovvista di pista ciclabile, il campo RouteType viene lasciato vuoto. Il dataset può essere aggiornato per riempire i valori null utilizzando una combinazione di IF() e di funzioni ISNULL():
|
ISNOTNULL(field)* | Testa se i valori in un campo non sono null. Un valore di uscita di 0 è assegnato quando il valore testato è nullo, e un valore di uscita di 1 è assegnato quando il valore testato non è nullo.
ISNOTNULL() può essere utilizzato singolarmente o all'interno del parametro condition della funzione IF(). | Un dataset contiene le posizioni di incidenti stradali che coinvolgono ciclisti, nonché il tipo di pista ciclabile presente sulla strada dove è avvenuta la collisione. Per le collisioni avvenute su una strada sprovvista di pista ciclabile, il campo RouteType viene lasciato vuoto. Il dataset può essere aggiornato per riempire i valori null utilizzando una combinazione di IF() e di funzioni ISNOTNULL():
|
OR(condition,condition, ...) | Verifica due o più condizioni e restituisce TRUE se almeno una condizione è soddisfatta. Utilizzare OR() dovrebbe essere utilizzato all'interno del parametro condition della funzione IF().
| Un dataset contiene posizioni dei reati in tutta la città. Un criminologo desidera analizzare lo schema dei furti rispetto ad altri crimini simili. Per confrontare furti con altri crimini, l'analista deve prima determinare se ciascun crimine è stato considerato un furto. Il tipo di crimine può essere determinato utilizzando una combinazione delle funzioni IF() e OR():
|
*Alcuni campi senza dati possono essere configurati come vuoti piuttosto che nulli. In questi casi, ISNULL() e ISNOTNULL() non riporteranno i risultati previsti. Invece, le espressioni field="" e field<>"" dovrebbero essere utilizzati in luoghi di ISNULL(field) e ISNOTNULL(field), rispettivamente.