SELECT
Descrizione
Questa funzione seleziona i dati da un intervallo di cartelle di lavoro, da un nome definito o da un report di Workday. La funzione SELECT è simile a un'istruzione SELECT di SQL. Le regole principali per scrivere un'istruzione SELECT sono le seguenti: i dati a cui si fa riferimento in un'istruzione di SELECT devono avere un nome di intestazione. Racchiudere l'istruzione SELECT tra virgolette doppie. Racchiudere le stringhe tra virgolette singole. Se si fa riferimento a un'intestazione di colonna o a un nome di tabella che contiene spazi o caratteri speciali, racchiuderlo tra virgolette. Per i parametri, utilizzare i punti interrogativi. Se la formula SELECT non termina il calcolo entro 30 minuti, restituirà #ERROR. SELECT può elaborare fino a 5 milioni di righe, ma il numero di righe elaborate potrebbe non corrispondere esattamente al numero di righe restituibili a causa dell'aggregazione eseguita da SELECT. Per vedere gli esempi di funzionamento della funzione SELECT, consultare la pagina "Worksheets Function Example Workbooks" nella community oppure incollare nel browser il seguente collegamento: https://community.workday.com/node/408872.
Tenere presente che la funzione SELECT non sostituisce l'assistente dati.
Sintassi
SELECT(
select_statement
, [ parameter
], ...) - select_statement: l'istruzione select. L'istruzione è simile a un'istruzione SELECT di SQL. Racchiudere l'istruzione di selezione tra virgolette doppie. Il formato di base è:"SELECT column1, [column2], ... FROM table"dovecolumnsono i dati da restituire etableè l'origine dati da cui selezionare.È possibile incorporare nell'istruzione di SELECT funzioni come COUNT, AVG, SUM, LIMIT e molte altre. Di seguito è riportato l'elenco completo delle funzioni supportate da SELECT.Quando si esegue un'operazione sui valori di data nelle formule SELECT, tenere presente che Worksheets funziona in modo diverso dalla sintassi SQL. I calcoli di Worksheets considerano le date come numeri di serie. Esempio: la data 20 marzo 2023 è rappresentata dal numero di serie 45005. Inoltre, SQL converte automaticamente le date sotto forma di stringa per i calcoli, a differenza di Worksheets.Se in un nome di colonna è presente la stringafromowhere, è necessario racchiuderla tra virgolette, perché from e where sono parole riservate in SQL.Nel campo FROM dell'istruzione, è possibile utilizzare valori come:
- Un report di Workday.
- Un parametro specificato come argomento.
- parameter: un parametro di istruzione.
Esempi
Useremo la seguente tabella per mostrare alcuni semplici esempi:
header1 | header2 | header3 |
|---|---|---|
1 | a | rosso |
2 | b | arancione |
3 | c | arancione |
4 | d | rosso |
5 | e | rosso |
La formula:
=SELECT("SELECT header1,header3 FROM ? WHERE header3 = ?",A1:C6,"red")
produce il seguente risultato:
header1 | header3 |
|---|---|
1 | rosso |
4 | rosso |
5 | rosso |
Ricalcolo automatico e argomento del parametro
. Per effettuare un riferimento a dati, si consiglia di utilizzare l'argomento del parametro della funzione. Worksheets considera questi riferimenti come variabili dipendenti dai dati, e pertanto, quando si modificano i dati nelle celle di riferimento, la formula SELECT viene eseguita automaticamente. Se invece, per effettuare un riferimento ai dati, si utilizza l'istruzione SELECT, la formula non viene eseguita di nuovo automaticamente in caso di modifica dei dati. Anche selezionando Dati > Ricalcola, la formula non viene eseguita nuovamente.Nella formula seguente si usa l'argomento del parametro per effettuare un riferimento ai dati. Se nell'intervallo A1:C6 i dati cambiano, Worksheets ricalcola e aggiorna automaticamente il risultato:
=SELECT("SELECT header1,header3 FROM ?",A1:C6)
Nome definito
. In questo esempio, a un'area è stato assegnato il nome definito all_employees:- =SELECT("SELECT employeeName FROM ?", all_employees)
Colonna, riga o intervallo
. È possibile fare riferimento a una colonna, riga o area, nello stesso foglio, in un foglio diverso o in un'altra cartella di lavoro. Se non si specifica un foglio, l'intervallo deve essere nel foglio corrente.- =SELECT("SELECT employeeName FROM ?",$A:$G)
- =SELECT("SELECT employeeName FROM ?",'All Employees Sheet'!$A:$G)
- =SELECT("SELECT employeeName FROM ?",All_Employees_Sheet!$A:$G)
- =SELECT("SELECT employeeName FROM ?", !'Other Workbook Name'!'All Employees Sheet'!A:G)
Altri esempi e risultati
Formula | Risultato |
|---|---|
SELECT("SELECT employeeID, employeeName FROM ?", AllEmployeesSheet!$A:$G) | Restituisce employeeID e employeeName dalle colonne da A a G del foglio denominato AllEmployeesSheet. |
SELECT("SELECT COUNT(employeeLastName) FROM ?", AllEmployeesSheet) | Restituisce il numero di righe contenuto nella colonna employeeLastName del foglio denominato AllEmployeesSheet. |
SELECT("SELECT employeeFirstName, employeeLastName, employeeRating FROM ? ORDER BY employeeRating DESC LIMIT 3", AllEmployeesSheet!$A:$G) | Restituisce il nome, il cognome e la valutazione dei tre dipendenti con la valutazione più alta. |
Report di Workday
. Eseguire query sui dati da un report di Workday.- =SELECT("SELECT employeeName FROM WorkdayReports.AllEmployees") in cui il nome del report è AllEmployees.
- =SELECT("SELECT employeeName FROM WorkdayReports.`All Employees`") in cui il nome del report è AllEmployees.
- =SELECT("SELECT * from WorkdayReports.`All Employees`") seleziona tutte le righe del report.
Note
- È consigliabile utilizzare la sezione dei parametri della funzione per fare riferimento ai dati; Worksheets considera questi riferimenti come dipendenze di dati, quindi la formula SELECT viene eseguita ogni volta che si seleziona . I dati a cui si fa riferimento nella parte dell'istruzione SELECT della formula non sono considerati dati dipendenti, quindi la selezione di non comporta la riesecuzione della formula anche se i dati sottostanti sono stati modificati.
- Questa funzione è utilizzata nelle formule di matrice.
Funzioni SELECT: costanti
TRUE | CURRENT_DATE |
FALSE | CURRENT_TIME |
NULL | CURRENT_TIMESTAMP |
Funzioni SELECT: operatori e logica
UNION | JOIN | INTERSECT | INNER JOIN |
UNION ALL | LEFT JOIN | EXCEPT | BETWEEN |
NOT BETWEEN | IN | * | <= |
|| (concatenazione di stringhe) | NOT IN | / | <> |
% (modulo) | () (parentesi) | + | != |
<< (bitshift a sinistra) | IF | - (meno) | >= |
>> (spostamento bit a destra) | + (positivo unario) | - (negativo unario) | ~ (inversione di bit) |
EXISTS | ! (logico non) | | | LIKE |
NOT EXISTS | NOT | < | NOT LIKE |
IS NULL | AND | > | CASE 1
|
IS NOT NULL | OR | = | & |
IFNULL | ISNULL | POW | " |
1
Incluse le parole chiave WHEN THEN ELSE ENDFunzioni SELECT: scalare, sottostringa
DAYOFMONTH | YEAR | LOWER | UPPER |
HOUROFDAY | COALESCE | LTRIM | DATE Y M D |
MINUTE | NULLIF | RTRIM | DATETIME Y M D H M S |
MONTH | ROUND | SUBSTRING | INSTANCE (ID e descrizione) |
SECOND | LENGTH | TRIM | DATEDIF |
REPLICATE | STUFF | LOCATE | INSTR |
Funzioni SELECT: matematica, finanza, statistica
ABS | COUNT | LOG10 | Q (trimestre) |
AVG | FLOOR | MAX | SQRT |
CEIL | LOG | MIN | SUM |
LIMIT | ASC | DESC |