SELECT
Beschreibung
Wählt Daten aus einem Arbeitsmappenbereich, einem definierten Namen oder einem Workday-Bericht aus. Die SELECT-Funktion ähnelt einer SQL-SELECT-Anweisung. Die wichtigsten Regeln für das Schreiben einer SELECT-Anweisung sind: Daten, auf die Sie in einer SELECT-Anweisung verweisen, müssen einen Header-Namen haben. Schließen Sie die SELECT-Anweisung in doppelte Anführungszeichen ein. Schließen Sie Zeichenfolgen mit einfachen Anführungszeichen ein. Wenn Sie auf eine Spaltenüberschrift oder einen Tabellennamen verweisen, die Leerzeichen oder Sonderzeichen enthalten, schließen Sie diese in Backticks ein. Verwenden Sie Fragezeichen für Parameter. Wenn die SELECT-Formel die Berechnung nicht innerhalb von 30 Minuten abschließt, wird #ERROR zurückgegeben. SELECT kann bis zu 5 Millionen Zeilen verarbeiten, aber die Anzahl der verarbeiteten Zeilen stimmt aufgrund der Aggregation, die SELECT durchführt, möglicherweise nicht genau mit der Anzahl der zurückgebbaren Zeilen überein. Arbeitsbeispiele für die SELECT-Funktion finden Sie auf der Seite „Worksheets Function Example Workbooks“ in der Community oder fügen Sie den folgenden Link in Ihren Browser ein: https://community.workday.com/node/408872.
Beachten Sie, dass die SELECT-Funktion nicht als Ersatz für den Datenassistenten gedacht ist.
Syntax
SELECT(
select_statement
, [ parameter
], ...) - select_statement: Die SELECT-Anweisung. Die Anweisung ähnelt einer SQL-Select-Anweisung. Schließen Sie die SELECT-Anweisung in doppelte Anführungszeichen ein. Das grundlegende Format ist wie folgt:"SELECT column1, [column2], ... FROM table"wobeicolumnsind die Daten, die zurückgegeben werden sollentableist die Datenquelle, aus der ausgewählt werden soll.Sie können Funktionen wie COUNT, AVG, SUM, LIMIT usw. in die SELECT-Anweisung einbetten. Die vollständige Liste der Funktionen, die SELECT unterstützt, finden Sie unten.Wenn Sie einen Vorgang für Datumswerte in Ihren SELECT-Formeln ausführen, beachten Sie, dass Worksheets anders als die SQL-Syntax funktioniert. Bei Worksheets-Berechnungen werden Datumsangaben als Seriennummern behandelt. Beispiel: Das Datum 20. März 2023 wird als Seriennummer 45005 dargestellt. Außerdem konvertiert SQL automatisch Zeichenfolgendaten für Berechnungen, Worksheets jedoch nicht.Wenn die Zeichenfolgefromoderwherein einem Spaltennamen vorhanden ist, müssen Sie sie in Anführungszeichen setzen, da dies reservierte Wörter in SQL sind.In der FROM-Klausel der Anweisung können Sie folgende Werte verwenden:
- Workday-Bericht.
- Parameter, den Sie als Argument angeben.
- parameter: Ein Anweisungsparameter.
Beispiele
Wir verwenden die folgende Tabelle für ein paar einfache Beispiele:
header1 | header2 | header3 |
|---|---|---|
1 | a | red |
2 | b | orange |
3 | c | orange |
4 | d | red |
5 | e | red |
Die Formel:
=SELECT("SELECT header1,header3 FROM ? WHERE header3 = ?",A1:C6,"red")
hat folgendes Ergebnis:
header1 | header3 |
|---|---|
1 | red |
4 | red |
5 | red |
Automatische Neuberechnung und Parameterargument
: Wir empfehlen, das Parameterargument der Funktion zu verwenden, um auf Daten zu verweisen. Worksheets betrachtet diese Bezüge als Datenabhängigkeiten, sodass die SELECT-Formel automatisch ausgeführt wird, wenn Sie die Daten in den referenzierten Zellen ändern. Wenn Sie stattdessen die SELECT-Anweisung verwenden, um auf Daten zu verweisen, wird die Formel nicht automatisch erneut ausgeführt, wenn sich die Daten ändern, auch nicht wenn Sie „Daten“ > „Neu berechnen“ auswählen.In der folgenden Formel verwenden wir das Parameterargument, um auf die Daten zu verweisen. Wenn sich die Daten im Bereich A1:C6 ändern, berechnet Worksheets das Ergebnis automatisch neu und aktualisiert es:
=SELECT("SELECT header1,header3 FROM ?",A1:C6)
Definierter Name
: In diesem Beispiel hat ein Bereich den definierten Namen all_employees:- =SELECT("SELECT employeeName FROM ?", all_employees)
Spalte, Zeile oder Bereich
: Sie können auf eine Spalte, Zeile oder einen Bereich im selben Blatt, einem anderen Blatt oder in einer anderen Arbeitsmappe verweisen. Wenn Sie kein Blatt angeben, muss sich der Bereich im aktuellen Blatt befinden.- =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)
Weitere Beispiele und Ergebnisse
Formel | Ergebnis |
|---|---|
SELECT("SELECT employeeID, employeeName FROM ?", AllEmployeesSheet!$A:$G) | Gibt employeeID und employeeName aus den Spalten A bis G des Blattes „AllEmployeesSheet“ zurück. |
SELECT("SELECT COUNT(employeeLastName) FROM ?", AllEmployeesSheet) | Gibt die Anzahl der Zeilen in der Spalte „employeeLastName“ im Blatt „AllEmployeesSheet“ zurück. |
SELECT("SELECT EmployeeFirstName, EmployeeLastName, EmployeeRating FROM ? ORDER BY Mitarbeiterbewertung DESC LIMIT 3", AlleMitarbeiterBlatt!$A:$G) | Gibt den Vornamen, den Nachnamen und die Bewertung der 3 bestbewerteten Mitarbeiter zurück. |
Workday-Bericht
: Daten aus einem Workday-Bericht abfragen.- =SELECT("SELECT employeeName FROM WorkdayReports.AllEmployees") where the report name is AllEmployees.
- =SELECT("SELECT employeeName FROM WorkdayReports.`All Employees`") where the report name is All Employees.
- =SELECT("SELECT * from WorkdayReports.`All Employees`") selects all rows from the report.
Anmerkungen
- Wir empfehlen, den Parameterabschnitt der Funktion zu verwenden, um auf Daten zu verweisen. Worksheets betrachtet diese Bezüge als Datenabhängigkeiten, sodass die SELECT-Formel immer ausgeführt wird, wenn ausgewählt wird. Die Daten, auf die Sie sich im SELECT-Anweisungsteil der Formel beziehen, werden nicht als abhängige Daten betrachtet. führt also nicht dazu, dass die Formel erneut ausgeführt wird, auch wenn sich die zugrunde liegenden Daten geändert haben.
- Diese Funktion ist für die Verwendung in Array-Formeln vorgesehen.
SELECT-Funktionen: Konstanten
TRUE | CURRENT_DATE |
FALSE | CURRENT_TIME |
NULL | CURRENT_TIMESTAMP |
SELECT-Funktionen: Operatoren und logische Werte
UNION | JOIN | INTERSECT | INNER JOIN |
UNION ALL | LEFT JOIN | EXCEPT | BETWEEN |
NOT BETWEEN | IN | * | <= |
|| (Verkettung von Zeichenfolgen) | NOT IN | / | <> |
% (modulo) | () (Klammer) | + | != |
<< (Bitverschiebung nach links) | IF | - (Minus) | >= |
>> (Bitverschiebung nach rechts) | + (einfach positiv) | - (einfach negativ) | ~ (Bit-Inversion) |
EXISTS | ! (logisch nicht) | | | LIKE |
NOT EXISTS | NOT | < | NOT LIKE |
IS NULL | AND | > | CASE 1
|
IS NOT NULL | OR | = | & |
IFNULL | ISNULL | POW | " |
1
Einschließlich der Schlüsselwörter WHEN, THEN, ELSE und ENDSELECT-Funktionen: Skalar, Teilzeichenfolge
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 und Beschreibung) |
SECOND | LENGTH | TRIM | DATEDIF |
REPLICATE | STUFF | LOCATE | INSTR |
SELECT-Funktionen: Mathematik, Finanzen, Statistik
ABS | COUNT | LOG10 | Q (Quartal) |
AVG | FLOOR | MAX | SQRT |
CEIL | LOG | MIN | SUM |
LIMIT | ASC | DESC |