Calcolare un campo

Insights in ArcGIS Online
Insights in ArcGIS Enterprise
Insights desktop

Puoi aggiungere e calcolare nuovi campi per il tuo dataset tramite la tabella dei dati oppure l'ingegneria dei dati. I campi calcolati ti permettono di creare valori, quali tassi di crescita, perdita di percentuale, e cambiamenti nel tempo, selezionando campi dal tuo dataset e applicando operatori e funzioni.

È 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 sono calcolati e aggiunti al tuo dataset, cambia la tipologia di campo per identificarlo come un campo frequenza/rapporto Campo frequenza/rapporto. Per ulteriori informazioni sulla normalizzazione dei dati, consultare Mappe coropletiche.

Calcola un campo nella tabella dei dati

I campi calcolati nella tabella dati appaiono solo nella cartella di lavoro e non sono aggiunti al dataset originale. Se desideri conservare il campo calcolato al di fuori della cartella di lavoro, puoi creare un nuovo feature layer condividendo il dataset oppure utilizzando l'ingegneria dei dati.

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 vengono effettuati sul dataset completo.

Completa i seguenti passaggi per calcolare un campo nella tabella dati:

  1. Aprire una cartella di lavoro e aggiungere dati, se necessario.
  2. Dal riquadro dati, fare clic sul pulsante Opzioni dataset Opzioni dataset accanto al dataset dove si desidera aggiungere un campo calcolato.
  3. Fare clic su Visualizza tabella dati.
  4. 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.

  5. Fare clic sull'intestazione della nuova colonna e fornire un nome più descrittivo.
  6. Fai clic su fx o su Immettere funzione di calcolo per visualizzare un menu con funzioni, nomi di campi e operatori per generare tua propria formula.

    È inoltre possibile utilizzare comandi di tastiera equivalente per sostituire i pulsanti dal menu fx.

  7. Utilizzare funzioni, campi e operatori per completare il calcolo, se necessario.
  8. Fare clic su Esegui.

    Se il pulsante Esegui non è abilitato, c'è un errore nella sintassi del tuo calcolo.

Il nuovo campo calcolato appare alla fine del dataset. È possibile rimuovere un campo calcolato selezionandolo e facendo clic sul pulsante Cancella campo calcolato Elimina campo calcolato.

Calcola una colonna tramite l'ingegneria dei dati

Insights desktop
Nota:

Ingegneria dei Dati disponibile in Insights desktop. Tutti Insights in ArcGIS Online e Insights in ArcGIS Enterprise utenti hanno accesso a Insights desktop. Per ulteriori informazioni, vedere Panoramica di ArcGIS Insights.

L'ingegneria dati è al momento in anteprima.

Lo strumento Calcola colonna può essere aggiunto a un modello dati e utilizzato per aggiungere colonne al dataset di output. Le colonne calcolate in una cartella di lavoro dei dati verranno aggiunte permanentemente al dataset di output, invece di esistere solo nella cartella di lavoro.

Completa i seguenti passaggi per calcolare una colonna tramite l'ingegneria dati:

  1. Aprire una cartella di lavora dei dati in Insights desktop e aggiungere dati, se necessario.
  2. Nella barra degli strumenti laterale, fai clic sul pulsante Calcola colonnaCalcolo colonna.
  3. Per il parametro Nuovo nome della colonna , immetti il nome della nuova colonna.
    Nota:

    I database supportati in Insights supportano solo lettere, numeri e il carattere di sottolineatura. I caratteri non supportati nei nomi delle colonne vengono convertiti in caratteri di sottolineatura durante il salvataggio in un database (ad esempio, population/sq mile viene convertito in population_sq_mile). Per risultati migliori, applicare alla colonna un nome che usa solamente caratteri supportati, poi aggiornare l'alias della colonna con altri caratteri, se necessario.

  4. Nella casella Espressione colonna, utilizza le funzioni, i nomi delle colonne e gli operatori per completare il calcolo come richiesto.

    I comandi di tastiera equivalenti possono essere utilizzati anche per sostituire qualsiasi tasto.

    Nota:

    Se la cartella di lavoro dei dati contiene più dataset, le opzioni di input si basano sulla tabella attiva.

  5. Fare clic su Esegui.

    Se il pulsante Esegui non è abilitato, c'è un errore nella sintassi del tuo calcolo.

La nuova colonna calcolata viene aggiunta alla tabella e lo strumento Calcola colonna viene aggiunto al modello dati.

Operatori

Il calcolo di un campo può richiedere operatori matematici e logici. I seguenti operatori sono disponibili per il calcolo dei campi:

OperatoreUsare

+

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.

FunzioneOperatore

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 Chiudi, 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.

SintassiDescrizioneEsempio

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():

  • Sintassi funzione: CONCATENATE(Address,", ", City," , CA, ",ZIP)
  • Esempio di valori di campo:
    • Address = "380 New York St"
    • City = "Redlands"
    • ZIP = "92373"
  • Testo risultante: "380 New York St, Redlands, CA, 92373"

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():

  • Sintassi funzione: FIND(" ", Address)
  • Esempio di valori di campo:
    • Address = "380 New York St"
  • Numero risultante: 4

LEFT(text, [num_chars])

Restituisce parte del campo di testo.

  • num_chars specifica in che modo molti caratteri dell'espressione verranno restituiti e deve essere un intero. Il numero di caratteri verrà conteggiato da sinistra a destra, a partire dalla prima posizione. Se non viene fornito num_chars, il predefinito sarà un carattere.

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():

  • Sintassi funzione: LEFT(Accident_Date, 3)
  • Esempio di valori di campo:
    • Accident_Date = "Lunedì 14 novembre 2016"
  • Testo risultante: "Lun"

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 :

  • Sintassi funzione: LOWER(Status)
  • Esempio di valori di campo:
    • Status = "Installato"
  • Testo risultante: "installato"

MID(text, start_num, [num_chars])

Restituisce parte del campo di testo.

  • start_num specifica la posizione del primo carattere (a partire da 1). start_num deve essere un intero.
  • num_chars specifica in che modo molti caratteri dell'espressione verranno restituiti e deve essere un intero. Se il valore num_chars è maggiore della lunghezza della stringa non vengono restituiti caratteri vuoti. Se non viene fornito un num_chars, l’impostazione predefinita prevede che vi siano tutti i caratteri dopo il carattere iniziale.

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():

  • Sintassi funzione: MID(Address, 5, 20)
  • Esempio di valori di campo:
    • Address = "380 New York St"
  • Testo risultante: "New York St"

RIGHT(text, [num_chars])

Restituisce parte del campo di testo.

  • num_chars specifica in che modo molti caratteri dell'espressione verranno restituiti e deve essere un intero. Il numero di caratteri verrà conteggiato da destra a sinistra, a partire dall'ultima posizione. Se non viene fornito num_chars, il predefinito sarà un carattere.

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():

  • Sintassi funzione: RIGHT(Park, 2)
  • Esempio di valori di campo:
    • Park = Parco Nazionale Vulcani "Hawai'i, HI"
  • Testo risultante: "HI"

SUBSTITUTE(source_text, old_text, new_text)

Sostituisce il vecchio testo in una stringa con il nuovo testo specificato.

  • source_text: il testo originale o il campo con testo.
  • old_text: il testo all'interno del source_text che si desidera sostituire.
  • new_text: il testo per sostituire il old_text.

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():

  • Sintassi funzione: SUBSTITUTE(street_name, "Main", "5th")

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():

  • Sintassi funzione: TRIM(City)
  • Esempio di valori di campo:
    • City = " Redlands "
  • Testo risultante: "Redlands"

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():

  • Sintassi funzione: UPPER(Org)
  • Esempio di valori di campo:
    • Org = "Nasa"
  • Testo del risultato: "NASA"

VALUE(text, [format])

Converte testo in un numero.

  • :format specifica il carattere utilizzato come un separatore decimale nel numero. IL format potrebbe essere una virgola decimale (",") oppure un punto decimale ("."). Se non si fornisce un format, il separatore di default sarà un punto decimale.

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().

  • Sintassi funzione: VALUE(Revenue, ".")
  • Esempio di valori di campo:
    • Revenue = "1.000,00”
  • Result number: 1000,00

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.

SintassiDescrizioneEsempio

ABS(number)

Restituisce il valore assoluto.

  • Sintassi funzione: ABS(-350)
  • Numero risultante: 350

AVG(number)

Restituisce il valore medio.

  • Sintassi funzione: AVG(field)
  • Esempio di valori numerici per field: 4, 5, 11, 6,5
  • Risultato: 6,63

CEILING(number)

Arrotonda un numero al multiplo di 1 superiore più vicino.

  • Sintassi funzione: CEILING(7.8)
  • Numero risultante: 8

COS(number)

Il coseno trigonometrico dell'angolo specificato, in radianti.

La seguente formula può essere utilizzata per convertire gradi in radianti:

radianti = θπ/180 dove: θ = l'angolo in gradi π ≈ 3,14

  • Sintassi funzione: COS(0.35)
  • Numero risultante: 0,94

FLOOR(number)

Arrotonda un numero al multiplo di 1 inferiore più vicino.

  • Sintassi funzione: FLOOR(7.8)
  • Numero risultante: 7

LN(number)

Il logaritmo naturale dell'espressione float specificata. Il logaritmo naturale utilizza la costante e come il valore di base (circa 2,72)

  • Sintassi funzione: LN(16)
  • Numero risultante: 2,77

LOG(number)

Il logaritmo di un numero in una base specifica. Il valore predefinito è base 10.

  • Sintassi funzione: LOG(16, 2)
  • Numero risultante: 4

MAX(number) o MAX(date)

Restituisce il valore massimo.

  • Sintassi funzione: MAX(num_field)
  • Esempio di valori numerici per num_field: 4, 5, 11, 6,5
  • Risultato: 11

MIN(number) o MIN(date)

Restituisce il valore minimo.

  • Sintassi funzione: MIN(date_field)
  • Esempio di valori per date_field: 03/17/2018, 02/14/2019, 10/31/2020
  • Risultato: 03/17/2018

PERCENTTOTAL(number)

Calcola la percentuale di ogni campo valore utilizzando il totale campo.

  • Sintassi funzione: PERCENTTOTAL(num_field)
  • Esempio di valori numerici per num_field: 4, 5, 11, 6,5
  • Risultati: 0,1509, 0,1887, 0,4151, 0,2453

POWER(number, power)

Il valore dell'espressione elevata alla potenza specificata.

  • Sintassi funzione: POWER(2, 4)
  • Numero risultante: 16

ROUND(number, num_digits)

Arrotonda i valori numerici al numero di cifre specificato.

  • num_digits = numero di posizioni decimali nell'output
    • Se num_digits è positivo, il numero viene arrotondato al numero corrispondente di posizioni decimali
    • Se num_digits è zero, il numero viene arrotondato all'intero più vicino
    • Se num_digits è negativo, il numero viene arrotondato al numero specificato di cifre a sinistra del punto decimale

  • Sintassi funzione: ROUND(54.854827, 2)
  • Numero risultante: 54,85
  • Sintassi funzione: ROUND(54.854827, -1)
  • Numero risultante: 50

SIN(number)

Il seno trigonometrico dell'angolo specificato, in radianti.

La seguente formula può essere utilizzata per convertire gradi in radianti:

radianti = θπ/180 dove: θ = l'angolo in gradi π ≈ 3,14

  • Sintassi funzione: SIN(0.79)
  • Numero risultante: 0,71

STDEV(number)

La deviazione standard di un campo numerico.

  • Sintassi funzione: STDEV(field)
  • Esempio di valori numerici per field: 4, 5, 11, 6,5
  • Risultato: 3,09

SUM(number)

Restituisce il valore totale.

  • Sintassi funzione: SUM(field)
  • Esempio di valori numerici per field: 4, 5, 11, 6,5
  • Risultato: 26,5

TAN(number)

Restituisce la tangente dell'espressione di input.

La seguente formula può essere utilizzata per convertire gradi in radianti:

radianti = θπ/180 dove: θ = l'angolo in gradi π ≈ 3,14

  • Sintassi funzione: TAN(1.05)
  • Numero risultante: 1,74

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.

Sono supportati i seguenti separatori di data: punto (.), trattino (-) e barra (/).

SintassiDescrizioneEsempio

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:

  • year:"YY" (anno a due cifre) o"YYYY" (anno a quattro cifre)
  • month: "MM" (1–12)
  • day: "DD" (1–31)
  • hour: "HH" (0–23) or "hh" (1–12)
  • minute: "mm" (0–59)
  • second: "ss" (0–59)
  • AM/PM: "AM"/"PM" (non sensibile alle maiuscole)

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():

  • Sintassi funzione: DATE(2016, Month, Day, Hour, Min, 00)
  • Esempio di valori di campo:
    • Month = 8
    • Day = 15
    • Hour = 11
    • Minute = 30
  • Data risultante: 8/15/2016, 11:30:00

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:

  • hour: "HH" (0–23) or "hh" (1–12)
  • minute: "mm" (0–59)
  • second: "ss" (0–59)
  • AM/PM: "AM"/"PM" (non sensibile alle maiuscole)

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():

  • Sintassi funzione: TIME(Hour, Min, 00)
  • Esempio di valori di campo:
    • Hour = 11
    • Minute = 30
  • Ora risultante: 11:30:00

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.

  • date deve essere un campo data/ora. Il campo deve 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.
  • integer:il numero da aggiungere alla data inserita. Se si usa una costante, il numero deve essere un intero e può essere positivo o negativo. Se viene usato un campo numerico, i decimali saranno ignorati. Pertanto, è meglio usare un campo che contiene solo numeri interi o calcolare un nuovo campo con numeri interi (per esempio, usando la funzione ROUND()).
  • unit: l'unità di tempo da aggiungere. I valori di unità supportati sono i seguenti:
    • "ss" = secondi
    • "mm" = minuti
    • "h" = ore
    • "D" = giorni (predefinito)
    • "M" = mesi
    • "Y" = anni

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à:

  • Sintassi funzione: DATEADD(first_dose_date, 60, "D")
  • Esempio di valori di campo:
    • first_dose_date = 7/11/2021
  • Data del risultato: 9/9/2021

Data finale:

  • Sintassi funzione: DATEADD(first_dose_date, 180, "D")
  • Esempio di valori di campo:
    • first_dose_date = 7/11/2021
  • Data di risultato: 1/7/2022

TIMEADD(time, integer, unit)

Aggiunge una quantità di tempo specificata ai tempi nel campo di input.

  • time deve essere un campo data/ora. Il tempo può essere aggiunto a tutti i campi data/ora, compresi i campi che non includono già una componente temporale.
  • integer il numero da aggiungere al tempo di ingresso. Se si usa una costante, il numero deve essere un intero e può essere positivo o negativo. Se viene usato un campo numerico, i decimali saranno ignorati. Pertanto, è meglio usare un campo che contiene solo numeri interi o calcolare un nuovo campo con numeri interi (per esempio, usando la funzione ROUND()).
  • unit: l'unità di tempo da aggiungere. I valori di unità supportati sono i seguenti:
    • "ss" = secondi
    • "mm" = minuti
    • "h" = ore

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:

  • Sintassi funzione: TIMEADD(UTC_date, -6, "h")
  • Esempio di valori di campo:
    • UTC_date = 7/11/2021 2:30:00 PM
  • Data del risultato: 7/11/2021 8:30:00 AM

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.

  • start_date e end_date possono essere campi data/ora o una funzione DATEVALUE(). Se si usano campi data/ora, il campo deve 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.
  • unit: l’unita di tempo da restituire. I valori di unità supportati sono i seguenti:
    • "ss" = secondi
    • "mm" = minuti
    • "h" = ore
    • "D" = giorni (predefinito)
    • "M" = mesi
    • "Y" = anni

Se non viene fornita nessuna unità, verrà utilizzato "D".

L'arrotondamento viene eseguito sui risultati per ogni unità come segue:

  • Secondi—L'arrotondamento non viene eseguito per i secondi.
  • Minuti: un minuto viene contato quando tra una data e l'altra intercorrono 60 secondi interi. I risultati saranno arrotondati per difetto per i minuti parziali.
  • Ore - Un'ora è contata quando un'intera durata di 60 minuti ha luogo tra le date. I risultati saranno arrotondati per difetto per le ore parziali.
  • Giorni—Un giorno viene contato quando tra una data e l'altra passano 24 ore intere. I risultati saranno arrotondati per difetto per i giorni parziali.
  • Mesi—Un mese viene contato quando tra una data e l'altra passa un intero mese (ad esempio dall'1 gennaio all'1 febbraio) indipendentemente da quanti giorni ci sono nei mesi specifici. I risultati saranno arrotondati per difetto per i mesi parziali. Le componenti del tempo, come ad esempio le ore, non vengono considerate nel calcolo.
  • Anno—Un anno viene contato quando tra una data e l'altra passano 183 giorni (metà anno). I risultati saranno arrotondati per difetto per gli anni parziali composti da meno di 183 giorni completi.

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:

  • Sintassi funzione: DATEDIF(Inspection1, Inspection2, "D")
  • Esempio di valori di campo:
    • Inspection1 = 15/8/2016, 11:30:00
    • Inspection2 = 31/10/2016 14:30:00
  • Tempo dei risultati (giorni): 77

Esempio 2:

  • Sintassi funzione: DATEDIF(Inspection1, Inspection2, "D")
  • Esempio di valori di campo:
    • Inspection1 = 15/8/2016, 11:30:00
    • Inspection2 = 16/8/2016 8:00:00
  • Tempo dei risultati (giorni): 0

Esempio 3:

  • Sintassi funzione: DATEDIF(Inspection1, Inspection2, "M")
  • Esempio di valori di campo:
    • Inspection1 = 15/8/2016, 11:30:00
    • Inspection2 = 31/10/2016 14:30:00
  • Tempo del risultato (mesi): 2

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.

  • start_time e end_time possono essere campi data/ora o una funzione DATEVALUE(). Se viene usata un'ora (per esempio, hh:mm:ss), entrambi gli elementi start_time e end_time devono essere in un formato solo tempo.
  • unit: l’unita di tempo da restituire. I valori di unità supportati sono i seguenti:
    • "ss" = secondi (impostazione predefinita)
    • "mm" = minuti
    • "h" = ore

Se non viene fornita nessuna unità, verrà utilizzato "ss".

L'arrotondamento viene eseguito sui risultati per ogni unità come segue:

  • Secondi—L'arrotondamento non viene eseguito per i secondi.
  • Minuti: un minuto viene contato quando tra una data e l'altra intercorrono 60 secondi interi. I risultati saranno arrotondati per difetto per i minuti parziali.
  • Ore - Un'ora è contata quando un'intera durata di 60 minuti ha luogo tra le date. I risultati saranno arrotondati per difetto per le ore parziali.

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():

  • Sintassi funzione: TIMEDIF(TimeIn, TimeOut, "mm")
  • Esempio di valori di campo:
    • TimeIn = 11:30:00 AM
    • TimeOut = 14:30:20
  • Tempo risultante (minuti): 180

DATEVALUE(date_text, [format])

Converte testo in una data.

  • date_text può essere un campo di stringa o testo inserito tra virgolette.
  • format(opzionale): il formato della data inserita. Il format è inserito come testo racchiuso tra virgolette. Il format può essere inserito utilizzando le seguenti specifiche di unità:
    • "MM" - Mese (1-12)
    • "DD" - Giorno del mese (1-31)
    • "YY" - Anno a due cifre
    • "YYYY" - Anno a quattro cifre
    • "HH" - Ora (0-23)
    • "hh" - Ora (1-12)
    • "mm" - Minuti (0-59)
    • "ss" - Secondi (0-59)
    • "AM"/"PM" - Senza distinzione maiuscole/minuscole

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:

  • Sintassi funzione: DATEDIF(Inspection_date, DATEVALUE("10/31/2016", "MM/DD/YYYY"), "D")
  • Esempio di valori di campo:
    • Inspection_date = 15/8/2016, 11:30:00
  • Numero risultante: 77

La data e l'ora possono avere formati diversi. Di seguito ne sono riportati alcuni esempi:

  • DATEVALUE("12/25/2016 12:30:25 pm", "MM/DD/YYYY hh:mm:ss pm")
  • DATEVALUE("12/25/2016 14:23:45", "MM/DD/YYYY HH:mm:ss")
  • DATEVALUE("25-08-2008 08:40:13 AM", "DD/MM/YYYY hh:mm:ss AM")

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:

  • Sintassi funzione: DATEDIF(Inspection_date, NOW(), "D")
  • Esempio di valori di campo:
    • Inspection_date= 15/8/2016, 11:30:00
  • Numero risultante: 77

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.

SintassiDescrizioneEsempio

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().

  • condition: qualsiasi espressione che include almeno un operatore condizionale. La condizione può includere valori numerici, stringa o campo. È possibile utilizzare i seguenti operatori condizionali:
    • >: maggiore di
    • <: minore di
    • >=: maggiore o uguale a
    • <=: minore o uguale a
    • =: uguale a
    • <>: diverso da

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():

  • Sintassi funzione: IF(AND(MeanAge>=18, MeanAge<=33),"Millennial","Other")
  • Esempio di valore di campo:
    • MeanAge = 43
  • Testo risultante: "Altro"

IF(condition, TRUE_expression, [FALSE_expression])

Verifica una condizione e restituisce un valore TRUE o FALSE in base al risultato.

  • condition: qualsiasi espressione che include almeno un operatore condizionale. La condizione può includere valori numerici, stringa o campo. È possibile utilizzare i seguenti operatori condizionali:
    • >: maggiore di
    • <: minore di
    • >=: maggiore o uguale a
    • <=: minore o uguale a
    • =: uguale a
    • <>: diverso da
  • TRUE_expression: l'espressione che sarà usata se la condizione è vera. Questo parametro è obbligatorio.
  • FALSE_expression: l'espressione che sarà usata se la condizione è falsa. Se non viene fornito FALSE_expression, l'impostazione predefinita sarà null.

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():

  • Sintassi funzione: IF(Revenue>Expenses, "Profit","Loss")
  • Esempio di valori di campo:
    • Revenue = 400.000
    • Expenses = 350.000
  • Testo risultante: "Profitto"

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.

  • field: supporta i tipi di campo stringhe, numeri, frequenza/rapporto e data/ora.

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():

  • Sintassi funzione: IF(ISNULL(RouteType), "None", RouteType)

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.

  • field: supporta i tipi di campo stringhe, numeri, frequenza/rapporto e data/ora.

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():

  • Sintassi funzione: IF(ISNOTNULL(RouteType), RouteType, "None")

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().

  • condition: qualsiasi espressione che include almeno un operatore condizionale. La condizione può includere valori numerici, stringa o campo. È possibile utilizzare i seguenti operatori condizionali:
    • >: maggiore di
    • <: minore di
    • >=: maggiore o uguale a
    • <=: minore o uguale a
    • =: uguale a
    • <>: diverso da

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():

  • Sintassi funzione: IF(OR(Crime="Theft", Crime="Theft from vehicle", Crime="Shoplifting"), "Larceny", "Other")
  • Testo risultante: "Furto"

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