SELECT
説明
ワークブックの範囲、定義名、または Workday レポートからデータを選択します。SELECT 関数は SQL の SELECT ステートメントに似ています。SELECT ステートメントを記述するための主なルールには、次のようなものがあります。SELECT ステートメントで参照するデータには、必ずヘッダー名が必要です。SELECT ステートメントは二重引用符で囲みます。文字列はシングル クォートで囲みます。スペースや特殊文字を含む列見出しまたはテーブル名を参照する場合は、バッククォートで囲みます。パラメータにはクエスチョン マークを使用します。SELECT 数式の計算が 30 分以内に終了しない場合、#ERROR が返されます。SELECT は最大 500 万行を処理できますが、SELECT が実行する集計が原因で、返すことが可能な行数と処理した行数が正確に一致しない場合があります。SELECT 関数の使用例を確認するには、Community の "Worksheets Function Example Workbooks" ページを検索するか、次のリンクをブラウザに貼り付けてください: https://community.workday.com/node/408872。
SELECT 関数は、データ ウィザードの代わりとして意図されていないことに注意してください。
構文
SELECT(
select_statement
, [ parameter
], ...) - select_statement: SELECT ステートメント。このステートメントは SQL の SELECT ステートメントに似ています。SELECT ステートメントは二重引用符で囲みます。基本的な形式は次のとおりです。"SELECT column1, [column2], ... FROM table"で、columnは返されるデータであり、tableは選択元のデータ ソースです。COUNT、AVG、SUM、LIMIT などの関数を SELECT ステートメントに埋め込むことができます。SELECT がサポートしている関数の完全なリストを以下に示します。SELECT 数式で日付値を操作する場合、Worksheets は SQL 構文と動作が異なることに注意してください。Worksheets の計算では、日付がシリアル番号として扱われます。例: 2023 年 3 月 20 日の日付は、シリアル番号 45005 として表されます。また、SQL では計算のために文字列の日付が自動的に変換されますが、Worksheets では変換されません。from および where は SQL の予約語であるため、文字列 from または where が列名に存在する場合は、引用符で囲む必要があります。ステートメントの FROM 句では、以下のような値を使用できます。
- Workday レポート。
- 引数として指定するパラメータ。
- parameter: ステートメントのパラメータ。
例
次の表を使用して、いくつかの簡単な例を示します。
header1 | header2 | header3 |
|---|---|---|
1 | a | red |
2 | b | orange |
3 | c | orange |
4 | d | red |
5 | e | red |
計算式:
=SELECT("SELECT header1,header3 FROM ?WHERE header3 = ?",A1:C6,"red")
結果は次のようになります。
header1 | header3 |
|---|---|
1 | red |
4 | red |
5 | red |
自動再計算とパラメータ引数。
関数のパラメータ引数を使用してデータを参照することをお勧めします。Worksheets では、これらの参照はデータの依存関係とみなされるため、参照先のセルのデータを変更すると、SELECT 数式が自動的に実行されます。代わりに SELECT ステートメントを使用してデータを参照した場合、データが変更されても数式は自動的に再実行されず、"データ" > "再計算" を選択しても数式は再実行されません。次の数式では、パラメータ引数を使用してデータを参照しています。A1:C6 の範囲でデータが変更された場合、自動的に再計算され、結果が更新されます。
=SELECT("SELECT header1,header3 FROM ?",A1:C6)
定義名
。この例では、領域に「all_employees」という定義名が付けられています。- =SELECT("SELECT employeeName FROM ?", all_employees)
列、行、または範囲
。同じシート、別のシート、または別のワークブックの列、行、領域を参照できます。シートを指定しない場合、範囲は現在のシート上にある必要があります。- =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)
その他の例と結果
数式 | 結果 |
|---|---|
SELECT("SELECT employeeID, employeeName FROM ?”, AllEmployeesSheet!$A:$G) | "AllEmployeesSheet" という名前のシートの列 A ~ G から社員 ID と employeeName を返します。 |
SELECT("SELECT COUNT(employeeLastName) FROM ?”, AllEmployeesSheet) | "AllEmployeesSheet" という名前のシートにある "employeeLastName" 列の行数を返します。 |
SELECT("SELECT employeeFirstName, employeeLastName, employeeRating FROM ?ORDER BY employeeRating DESC LIMIT 3",AllEmployeesSheet!$A:$G) | 最も評価の高い社員 3 名の姓、名、レーティングを返します。 |
Workday レポート
。Workday レポートのデータに対してクエリを実行します。- =SELECT("SELECT employeeName FROM WorkdayReports.AllEmployees")。ここで、レポート名は「AllEmployees」です。
- =SELECT("SELECT employeeName FROM WorkdayReports.`All Employees`")。ここで、レポート名は「All Employees」です。
- =SELECT("SELECT * from WorkdayReports.`All Employees")。該当するレポートのすべての行を選択します。
ノート
- データを参照するには、関数のパラメータ セクションを使用することをお勧めします。 Worksheets ではこれらの参照をデータの依存関係とみなすため、選択するたびに SELECT 数式が実行されます。数式の SELECT ステートメント部分で参照するデータは依存データとはみなされないため、基になるデータが変更されても、 選択した場合に数式は再実行されません。
- この関数は、配列数式で使用するためのものです。
SELECT 関数: 定数
TRUE | CURRENT_DATE |
FALSE | CURRENT_TIME |
NULL | CURRENT_TIMESTAMP |
SELECT 関数: 演算子と論理演算子
UNION | JOIN | INTERSECT | INNER JOIN |
UNION ALL | LEFT JOIN | EXCEPT | BETWEEN |
NOT BETWEEN | IN | * | <= |
|| (文字列連結) | NOT IN | / | <> |
% (モジュロ) | () (かっこ) | + | != |
< (ビットシフト - 左) | IF | - (引く) | >= |
>> (右シフト) | + (正の方向) | - (負の単数) | ~ (ビット反転) |
EXISTS | ! (論理否定) | | | LIKE |
NOT EXISTS | NOT | < | NOT LIKE |
IS NULL | AND | > | CASE 1
|
IS NOT NULL | OR | = | & |
IFNULL | ISNULL | POW | " |
1
WHEN、THEN、ELSE、END のキーワードを含むSELECT 関数: スカラー、部分文字列
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 および説明) |
SECOND | LENGTH | TRIM | DATEDIF |
REPLICATE | STUFF | LOCATE | INSTR |
SELECT 関数: 数学、財務、統計
ABS | COUNT | LOG10 | Q (四半期) |
AVG | FLOOR | MAX | SQRT |
CEIL | LOG | MIN | SUM |
LIMIT | ASC | DESC |