メインコンテンツにスキップ
Workday User Guide
最終更新: 2024-06-28
Prism 式クイック リファレンス

Prism 式クイック リファレンス

変換関数

関数
説明
"" から "通貨" フィールドを構成
NUMERIC
値と
TEXT
または
INSTANCE
有効な通貨コードを含む 値。通貨コードが有効でない場合、この関数は NULL を返します。
BUILD_CURRENCY([Sale Price], [Currency Code])
データ値をあるフィールド型 (データ タイプ) から別のフィールド型に変換します。
CAST([Region] AS Instance(eecb565181284b6a8ae8b45dc3ed1451))
CAST(99.99 AS decimal(10,3))
返品
99.990
CAST(99.99 AS decimal(20,2))
返品
99.99
CAST(99.999 AS decimal(10,2))
返品
100.00
転換
LONG
DATE
値。ここで、入力数字は紀元以降のミリ秒数を表します。
EPOCH_MS_TO_DATE(1360260240000) returns
2013-02-07T18:04:00:000Z
通貨の値を受け取り、数値を として抽出します。
NUMERIC
値。
EXTRACT_AMOUNT([Salary])
取得
CURRENCY
値、通貨コードを の値として抽出
INSTANCE
値。
EXTRACT_CODE([Salary])
取得
CURRENCY
値、通貨コードを として抽出
TEXT
値。
EXTRACT_CODE_TEXT([Salary])
転換
TEXT
BOOLEAN
INTEGER
LONG
、または
NUMERIC
BOOLEAN
TO_BOOLEAN([is_contingent])
転換
TEXT
に対する有効な通貨形式データを含む値
CURRENCY
値。
TO_CURRENCY("1234.56 USD")
TO_CURRENCY(CONCAT(TO_STRING([Grant Price]), [Grant Code]))
転換
TEXT
DATE
値。文字列内の日付と時刻の要素の形式を指定します。
TO_DATE([order_date],"yyyy.MM.dd 'at' HH:mm:ss z")
転換
TEXT
BOOLEAN
INTEGER
LONG
DOUBLE
、または
NUMERIC
NUMERIC
小数点前後のデフォルト桁数を使った値。
TO_DECIMAL([average_rating])
転換
TEXT
BOOLEAN
INTEGER
LONG
、または
DOUBLE
DOUBLE
(数字のタイプ) 値。
TO_DOUBLE([average_rating])
転換
TEXT
BOOLEAN
INTEGER
LONG
、または
DOUBLE
INTEGER
(整数) 値。変換時
DOUBLE
小数点以下が の値の場合、小数点以下は切り捨てられます (四捨五入はされません)。
TO_INT([average_rating])
転換
TEXT
BOOLEAN
INTEGER
LONG
DECIMAL
DATE
、または
DOUBLE
Long
(整数) 値。変換時
Decimal
または
DOUBLE
小数点以下が の値の場合、小数点以下は切り捨てられます (四捨五入はされません)。
TO_LONG([average_rating])
他のデータ型の値を次のように変換します
TEXT
(文字) 値。
TO_STRING([sku_number])

日付関数

関数
説明
指定された間隔期間を加算します
DATE
値。
DATE_ADD([invoice_date], 45, "day")
2 の間の時間を計算します
DATE
値 (
value1
-
value2
) 日単位に切り捨てられます (夏中の会計処理)。
DAYS_BETWEEN([ship_date], [order_date])
タイプの指定された部分を返します
DATE
値。
EXTRACT("hour",[order_date])
次の 2 つの間の時間数 (分、秒、ミリ秒の単位は無視) を計算します
DATE
値 (
value1
-
value2
)。
HOURS_BETWEEN([ship_date],[order_date])
2 つの間のミリ秒数を計算します
DATE
値 (
value1
-
value2
)。
MILLISECONDS_BETWEEN([request_timestamp], [response_timestamp])
次の値の間の分数 (秒とミリ秒の単位は無視) を計算します
DATE
値 (
value1
-
value2
)。
MINUTES_BETWEEN([impression_timestamp], [conversion_timestamp])
2 つの間の整数 (ミリ秒の単位は無視) を計算します
DATE
値 (
value1
-
value2
)。
SECONDS_BETWEEN([impression_timestamp], [conversion_timestamp])
現在のシステム日時を として返します。
DATE
の値 (時間情報なし)。関連する他の式で使用できます。
DATE
型フィールド、以下のようなものがあります。
YEAR_DIFF
。の値が
TODAY
"" は、データセットがパブリッシュされるときにのみ評価されます (クエリーごとに再評価されることはありません)。
YEAR_DIFF(TODAY(), [birthdate])
切り捨て
DATE
値を指定の形式にします。
TRUNC(TO_DATE([order_date], "MM/dd/yyyy HH:mm:ss"), "day")
この 2 つの間の年数 (端数を含む) を計算します
DATE
値 (
value1
-
value2
)。
YEAR_DIFF(TODAY(), [birthdate])

情報関数

関数
説明
返品
0
戻り値が次の場合
NULL
、および
1
戻り値が次の場合
NOT NULL
。これは、NULL 値を除外したい他の計算を計算するのに便利です (平均を計算する場合など)。
IS_VALID([sale_amount])

インスタンス関数

関数
説明
1 つ以上の指定された複数インスタンスまたはインスタンス フィールドから複数インスタンス フィールドを構成します。
CREATE_MULTI_INSTANCE([Journal1], [Journal2], [Journal3])
複数インスタンスまたはインスタンス フィールドを、複数インスタンス フィールド、インスタンス フィールド、またはインスタンス値のリストと比較し、最初の引数にインスタンス値が少なくとも 1 つ存在する場合は真を、存在しない場合は偽を返します。 。
INSTANCE_CONTAINS_ANY([Worktags], [Cost Center 1], [Cost Center 2])
複数インスタンスまたはインスタンスのフィールド内のインスタンス値の総数を返します。フィールドが空の場合、この関数は 0 を返します。
INSTANCE_COUNT([Journal Lines])
複数インスタンスまたはインスタンス フィールドを、複数インスタンス フィールド、インスタンス フィールド、またはインスタンス値のリストと比較し、最初の引数が他の引数で指定されたインスタンス値と完全に一致するかどうかをチェックします。
INSTANCE_EQUALS([Worktags], [Cost Center 1], [Cost Center 2])
複数インスタンス フィールドを、複数インスタンス フィールド、インスタンス フィールド、またはインスタンス値のリストと比較し、最初の引数にすべてのインスタンス値が存在する場合は True を、少なくとも 1 つ存在しない場合は False を返します。
INSTANCE_IS_SUPERSET_OF([Worktags], [Cost Center 1], [Cost Center 2])

論理関数

関数
説明
データセットの各行を 1 つ以上の入力条件に従って評価し、入力条件が満たされた場合に指定された結果を出力します。
CASE WHEN [gender] = "M" THEN "Male" WHEN [gender] = "F" THEN "Female" ELSE "Unknown" END
最初の有効な値 () を返します
NOT NULL
value) をカンマで区切った式のリストから。
COALESCE([hourly_wage] * 40 * 52, [salary])

数学関数

関数
説明
DIV
2 で割る
LONG
値を設定し、 型の商値を返します
LONG
(結果は小数点以下 0 桁に切り捨てられます)。
DIV(TO_LONG([file_size]), 1024)
EXP
数学定数を昇給します
e
数値の累乗 (指数) で、 型の値を返します
DOUBLE
EXP([Value])
入力引数以下の最大の整数を返します。
FLOOR(32.6789) returns
32.0
データ値を指定された数のバケットに均等に分割します。入力値のハッシュを作成し、その値にバケット番号を割り当てます。等しい値は、常に同じバケット番号にハッシュされます。
HASH([username],20)
LN
数値の自然対数を返します。自然対数は 2 桁に対する対数
e
で、
e
(EUR の数) は、約 2.718281828 になる数学定数です。数値の自然対数
x
は定数の累乗です
e
と等しいためには、 の引き上げが必要です
x
LN(2.718281828) returns
1
MOD
分割 2
LONG
または
INTEGER
型の残余値を返します
LONG
または
INTEGER
(結果は小数点以下 0 桁に切り捨てられます)。
MOD(TO_LONG([file_size]), 1024)
POW
a 数値を別の数値 (指数) でべき乗し、 型の値を返します
DOUBLE
100 * POW([end_value]/[start_value], 0.2) - 1
数値を指定の小数点以下の桁数に丸め、 型の値を返します
DOUBLE
ROUND(32.4678954,2) returns
32.47

テキスト関数

関数
説明
2 つのを比較します
TEXT
CIDR マスクと IP アドレスを表す引数。
1
IP アドレスが指定されたサブネット マスク内にある
0
されていない場合。
CIDR_MATCH("60.145.56.0/24", "60.145.56.246") returns
1
戻り値:
TEXT
複数の結果を連結 (結合) する
TEXT
CONCAT([month], "/", [day], "/", [year])
クッキーのキー/値のペアをセミコロンで区切ったリストから、指定されたクッキー識別子の値を抽出します。この関数は、結合された Web アクセス ログの Cookie 列から特定のクッキー値を抽出するために使用できます。
EXTRACT_COOKIE("SSID=ABC; vID=44", "vID") returns
44
区切られたキー/値のペアを含む文字列から、指定されたキーの値を抽出します。
EXTRACT_VALUE("firstname;daria|lastname;hutch", "lastname", ";", "|") returns
hutch
データが基本データセットからのものである場合、ソース ファイル システムから元のファイル名を返します。 Workday を初めてご利用になる場合は、基本データセットを作成または編集する権限がありません。
TO_DATE(SUBSTRING(FILE_NAME(), 0, 8), "yyyyMMdd")
16 進数エンコードされた値を変換します
TEXT
IP アドレスのテキスト表現に値を限定する。
HEX_TO_IP(AB20FE01) returns
171.32.254.1
部分文字列が出現する最初の文字である文字列内の文字の位置を示す整数を返します。次の基準
INSTR
関数は、最初の文字が位置 0 で、引数の順序が逆になるという点を除き、Excel の FIND 関数と似ています。
INSTR([url], "http://", -1, 1)
Java Unicode 文字のエスケープ シーケンスのエスケープを解除したバージョンを "" として返します。
TEXT
値。
CASE WHEN [currency] == JAVA_STRING("\u00a5") THEN "yes" ELSE "no" END
戻り値:
TEXT
複数の結果を連結 (結合) する
TEXT
ヌルでない値の間に区切り文字を使用した値。
JOIN_STRINGS("/", [month], [day], [year])
抽出します
NUMERIC
JSON オブジェクトのフィールドの値。
JSON_DECIMAL([top_scores], "test_scores.2")
抽出します
DOUBLE
JSON オブジェクトのフィールドの値。
JSON_DOUBLE([top_scores], "test_scores.2")
抽出します
INTEGER
JSON オブジェクトのフィールドの値。
JSON_INTEGER([top_scores], "test_scores.2")
抽出します
LONG
JSON オブジェクトのフィールドの値。
JSON_LONG([top_scores], "test_scores.2")
抽出します
TEXT
JSON オブジェクトのフィールドの値。
JSON_STRING([misc], "hobbies.0")
内の文字数を返します
TEXT
値。
LENGTH([name])
複数の出力値を、キー/値のペアの単一の文字列にまとめて返します。デフォルトのキーとペアの区切り文字で区切られます。返された文字列は、 バージョンで読み取れる形式である
EXTRACT_VALUE
関数。
PACK_VALUES
と同じキーおよびペアの区切り文字の値を使用します
EXTRACT_VALUE
は、(unicode エスケープ シーケンスを使用します)
u0003
および
u0002
、それぞれ )。
PACK_VALUES("ID", [custid], "Age", [age])
が次の値に対して文字列全体の照合を実行する:
TEXT
は、正規表現で返され、正規表現の最初に取得されたグループに一致する文字列の部分を返します。
REGEX([email], "^[a-zA-Z0-9._%+-]+@
([a-zA-Z0-9._-]+)
\.[a-zA-Z]{2,4}$")
評価結果
TEXT
正規表現に対する値が一致するかどうかを判定し、一致した文字列を指定された置換値で置き換える。
REGEX_REPLACE([phone_number], "([0-9]{3})\.([[0-9]]{3})\.([[0-9]]{4})", "\($1\) $2-$3")
文字列値の文字を逆の順序で返します。
REVERSE("123 Main Street")
指定された文字を返します
TEXT
指定された開始位置および任意の終了位置に基づく値。
SUBSTRING([name], 0, 1)
すべてのアルファベットを 1 つのに変換します
TEXT
値を小文字にします。
TO_LOWER("123 Main Street") returns
123 main street
戻り値:
TEXT
各単語の最初の文字を大文字にした値。
TO_PROPER("123 Alameda de las Pulgas, San Mateo CA")
すべてのアルファベットを 1 つのに変換します
TEXT
値を大文字にします。
TO_UPPER("123 Main Street")
"" から先頭と末尾のスペースを削除します
TEXT
値。
TRIM([area_code])
XML を取得し、指定された XPath 式に一致する最初の文字列を返します。
XPATH_STRING([address], "//address[@type='home']/zipcode")

URL 関数

関数
説明
URL 文字列のオーソリティ部分を返します。URL のオーソリティ部分は、サーバーの場所を特定して接続するための情報を持つ部分です。
URL_AUTHORITY("http://user:password@mycompany.com:8012/mypage.html")
URL 文字列のフラグメント部分を返します。
URL_FRAGMENT("http://workday.com/news.php?topic=press#Workday%20News")
URL 文字列のホスト、ドメイン、または IP アドレス部分を返します。
URL_HOST("http://user:password@mycompany.com:8012/mypage.html")
URL 文字列のパス部分を返します。
URL_PATH("http://workday.com/company/contact.html")
URL 文字列のポート部分を返します。
URL_PORT("http://user:password@mycompany.com:8012/mypage.html")
URL 文字列のプロトコル (または URI スキーム名) 部分を返します。
URL_PROTOCOL("http://www.workday.com")
URL 文字列のクエリー部分を返します。
URL_QUERY("http://workday.com/news.php?topic=press&timeframe=today")
デコードします
TEXT
"" でエンコードされた値
application/x-www-form-urlencoded
メディア タイプ。
URLDECODE("N%2FA%20or%20%22not%20applicable%22")

ウィンドウ関数

関数
説明
AVG
行をグループに分割し、フィールドで行を並べ替え、グループ内の有効なすべての数値の平均を返すウィンドウ集計関数です。グループ内のすべての値を合計し、有効な (NOT NULL) 行数で除算します。使用できます
AVG
移動平均を計算するため。
AVG([Sales]) OVER( PARTITION BY [Employee] ORDER BY [SalesDate] DESC ROWS UNBOUNDED PRECEDING)
行をグループに分割し、フィールドで行を並べ替え、グループ内の有効な行の合計数 (NOT NULL) を返すウィンドウ集計関数です。使用できます
COUNT
と他の関数を組み合わせて、累積集計を計算します。
COUNT([Sales]) OVER( PARTITION BY [Employee] ORDER BY [SalesDate] DESC ROWS UNBOUNDED PRECEDING)
行をグループに分割し、フィールドで行を並べ替え、グループ内の最初の行から値を返すウィンドウ集計関数です。
LAG
行をグループに分割し、フィールドで行を並べ替え、グループ内の現在の行より前 (上) の指定のオフセットにある行のフィールド値を返すウィンドウ集計関数です。
[Salary] - (LAG([Salary], 1, [Salary]) OVER( PARTITION BY [Employee_Name] ORDER BY [Eff_Date] ASC) )
行をグループに分割し、フィールドで行を並べ替え、グループ内の最後の行から値を返すウィンドウ集計関数です。
行をグループに分割し、フィールドで行を並べ替え、グループ内の現在の行より後 (下) の指定のオフセットにある行のフィールド値を返すウィンドウ集計関数です。
[Salary] - (LEAD([Salary], 1, [Salary]) OVER( PARTITION BY [Employee_Name] ORDER BY [Eff_Date] DESC) )
MAX
行をグループに分割し、フィールドで行を並べ替え、グループ内の最大値 (最高値) を返すウィンドウ集計関数です。
MAX([Comp Change]) OVER( PARTITION BY [Supervisory Org], [Quarter] ORDER BY [Comp Change] DESC ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING )
MIN
行をグループに分割し、フィールドで行を並べ替え、グループ内の最小値 (最低値) を返すウィンドウ集計関数です。
MIN([Comp Change]) OVER( PARTITION BY [Supervisory Org], [Quarter] ORDER BY [Comp Change] ASC ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING )
グループ内の各行にランキング番号を割り当てるために使用されるウィンドウ集計関数です。複数の行のランキングが同じ (同じである) 場合、同じ順位の行に同じランキング値が割り当てられ、後続のランク付け位置はスキップされます。
RANK() OVER( PARTITION BY [Employee] ORDER BY [Sales] DESC)
行をグループに分割し、フィールドで行を並べ替え、グループ内の各行に一意の連番 (グループ内の最初の行に対する 1 から開始) を割り当てるウィンドウ集計関数です。
ROW_NUMBER
は、常にグループ内の各行に一意の値を割り当てます。以下を使用できます:
ROW_NUMBER
を使用して、データセットの行ごとに一意の ID を作成します。
ROW_NUMBER() OVER( PARTITION BY [Employee] ORDER BY [Sales] DESC)
SUM
行をグループに分割し、フィールドで行を並べ替え、グループ内のすべての値の合計を返すウィンドウ集計関数です。使用できます
SUM
積算合計を計算します。
SUM([fieldA]) OVER( PARTITION BY [fieldB] ORDER BY [Month] RANGE 11 PRECEDING)

算術演算子

演算子
意味
+
追加
[amount] + 10
[amount] フィールドの値に 10 を加算します。
-
減算
[amount] - 10
"[amount]" フィールドの値から 10 を減算します。
*
乗算
[amount] * 100
"[amount]" フィールドの値を 100 で乗算します。
/
部門
[bytes] / 1024
"[byds]" フィールドの値を 1024 で除算し、商を返します。

比較演算子

演算子
意味
=
または
==
次の値と等しい
[order_date] = "12/22/2016"
>
[age] > 18
!>
次の値以下 ( =)
<
)
[age] !> 8
<
次の値より小さい
[age] < 30
!<
次の値以上 (次の値と等しい)
>=
)
[age] !< 12
>=
次の値以上
[age] >= 20
<=
次の値以下
[age] <= 29
<>
または
!=
または
^=
次の値と等しくない
[age] <> 30
BETWEEN
min_value
AND
max_value
日付または数値が
最小値
最大
値 (含む) 内にあるかどうかをテストします。
[year] BETWEEN 2014 AND 2016
IN(
list
)
値がセット内にあるかどうかをテストします。
[product_type] IN("tablet","phone","laptop")
LIKE("
pattern
")
大文字と小文字を区別しない、単純な文字パターン マッチング。次の基準
*
の文字は、任意の文字数に一致します。次の基準
?
文字は 1 文字のみに一致します。
[last_name] LIKE("?utch*")
クォート () に
は一致
する
が、
クラスタ ()
または
それ以外の
カードには一致しない
[company_name] LIKE("workday")
Workday
または
Workday
と一致します
value
IS NULL
フィールド値または式がヌル(空) かどうかを確認します。
[ship_date] IS NULL
出荷先の日付
フィールドが空の場合は
と評価します

論理演算子

演算子
意味
AND
2 つの条件が真かどうかをテストします。
OR
2 つの条件のいずれかが真であるかをテストします。
NOT
他の演算子の値を逆にします。
  • year
    NOT
    BETWEEN 2013 AND 2016
  • first_name
    NOT
    LIKE("Jo?n*")
    John
    jony
    は除外されるが、
    Jon
    または
    Joann は
    除外される
  • Weekday
    NOT
    IN("Saturday", "Sunday")
  • purchase_date IS
    NOT
    NULL
    Purchase_date
    フィールドが空でない場合は
    と評価する