Prism 表达式快速参考
转换函数
函数 | 描述 | 示例 |
|---|---|---|
根据构建币种字段 NUMERIC 值和 TEXT 或 INSTANCE value 包含有效币种代码。如果币种代码无效,此函数将返回 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
| |
转换 TEXT 将包含有效币种格式数据的值 CURRENCY 值。 | TO_CURRENCY("1234.56 USD")
TO_CURRENCY(CONCAT(TO_STRING([Grant Price]), [Grant Code])) | |
转换 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])
| |
日期函数
函数 | 描述 | 示例 |
|---|---|---|
计算 2 之间的时间 DATE 值 (value1 - value2 ),并将其截断为 天(考虑到夏令时)。 | DAYS_BETWEEN([ship_date], [order_date])
| |
计算两个时间之间的整数小时数(忽略分钟、秒和毫秒) DATE 值 (value1 - value2 )。 | HOURS_BETWEEN([ship_date],[order_date])
| |
计算两个时间点之间的整数毫秒数 DATE 值 (value1 - value2 )。 | MILLISECONDS_BETWEEN([request_timestamp], [response_timestamp])
| |
计算两个时间之间的整数分钟数(忽略秒和毫秒) DATE 值 (value1 - value2 )。 | MINUTES_BETWEEN([impression_timestamp], [conversion_timestamp])
| |
计算两个时间点之间的整数秒数(忽略毫秒数)。 DATE 值 (value1 - value2 )。 | SECONDS_BETWEEN([impression_timestamp], [conversion_timestamp])
| |
返回当前系统日期和时间。 DATE 值(无时间信息)。它可以用于其他涉及以下内容的表达式中: DATE 类型的字段,例如 YEAR_DIFF 。请注意,“”的值 TODAY 仅在发布数据集时评估“”(不会因每次查询而重新评估)。 | YEAR_DIFF(TODAY(), [birthdate])
| |
信息功能
函数 | 描述 | 示例 |
|---|---|---|
退货 0 如果返回值为 NULL 和 1 如果返回值为 NOT NULL 。这对于您要排除 NULL 值的其他计算非常有用(例如计算平均值时)。 | IS_VALID([sale_amount])
|
实例函数
函数 | 描述 | 示例 |
|---|---|---|
根据提供的一个或多个“多实例”或“实例”字段,构造一个多实例字段。 | CREATE_MULTI_INSTANCE([Journal1], [Journal2],
[Journal3])
| |
将多实例或实例字段与多实例字段、实例字段或实例值列表进行比较,如果第一个参数中至少存在一个实例值,则返回“真”,否则返回“假”。 。 | INSTANCE_CONTAINS_ANY([Worktags], [Cost Center 1], [Cost Center 2])
| |
将多实例或实例字段与多实例字段、实例字段或实例值列表进行比较,并检查第一个参数是否与其他参数中提供的实例值完全匹配。 | INSTANCE_EQUALS([Worktags], [Cost Center 1], [Cost Center 2])
| |
将多实例字段与多实例字段、实例字段或实例值列表进行比较,如果每个实例值都存在于第一个参数中,则返回“真”,如果至少有一个实例值不存在,则返回“假”。 | INSTANCE_IS_SUPERSET_OF([Worktags], [Cost Center 1], [Cost Center 2])
|
数学函数
函数 | 描述 | 示例 |
|---|---|---|
返回数字的自然对数。自然对数是以底数表示的对数。 e ,其中 e (Euler's number) 是一个数学常数,约等于 2.718281828。数字的自然对数 x 是常数的幂 e 必须提高才能等于 x 。 | LN(2.718281828) returns
1
| |
除以 2 LONG 或 INTEGER 值,并返回类型为“”的余数值 LONG 或 INTEGER (结果会截断到小数点后保留 0 位)。 | MOD(TO_LONG([file_size]), 1024)
| |
文本函数
函数 | 描述 | 示例 |
|---|---|---|
比较两个值 TEXT 表示 CIDR 掩码和 IP 地址的参数,然后返回 1 如果 IP 地址在指定的子网掩码范围内,或者 0 (如果未自动选中)。 | CIDR_MATCH("60.145.56.0/24", "60.145.56.246") returns
1
| |
从以分号分隔的 Cookie 键/值对列表中,提取给定 Cookie 标识符的值。此函数可用于从组合的 Web 访问日志 Cookie 列中提取特定的 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")
| |
返回一个整数,表明作为子字符串出现位置的第一个字符的字符在字符串内的位置。该 INSTR 函数类似于 Excel 中的 FIND 函数,不同之处在于首字母的位置为 0,并且参数的顺序相反。 | 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])
| |
返回多个输出值,这些输出值打包成单个键/值对字符串,并用默认键分隔符和键值对分隔符分隔。返回的字符串采用的格式可供 EXTRACT_VALUE 函数。 PACK_VALUES 使用与 相同的键和货币对分隔符值。 EXTRACT_VALUE 使用(Unicode 转义序列 u0003 与 u0002 分别)。 | PACK_VALUES("ID", [custid], "Age", [age])
| |
对某个执行整个字符串匹配 TEXT 将 value 与正则表达式匹配,并返回与正则表达式的第一个捕获组相匹配的字符串部分。 | REGEX([email], "^[a-zA-Z0-9._%+-]+@
([a-zA-Z0-9._-]+) \.[a-zA-Z]{2,4}$") | |
评估 TEXT 根据正则表达式对 value 进行排序,以确定是否存在匹配项,并将匹配的字符串替换为指定的替换值。 | REGEX_REPLACE([phone_number], "([0-9]{3})\.([[0-9]]{3})\.([[0-9]]{4})", "\($1\) $2-$3")
| |
获取 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")
| |
解码 TEXT 已使用编码的值 application/x-www-form-urlencoded 媒体文件类型 | URLDECODE("N%2FA%20or%20%22not%20applicable%22")
|
窗口函数
函数 | 描述 | 示例 |
|---|---|---|
是一个窗口聚合函数,用于对行进行分组,按字段对行进行排序,并返回组中所有有效数值的平均值。此公式对组中的所有值求和,然后除以有效(非空)行数。您可以使用 AVG 来计算移动平均值。 |
| |
是一个窗口聚合函数,用于对行进行分组,按字段对行进行排序,并返回组中的有效行总数(非空)。您可以使用 COUNT 与其他函数结合使用,来计算累计聚合。 |
| |
是一个窗口聚合函数,用于对行进行分组,按字段对行进行排序,并返回组中当前行之前(上方)指定偏移量处的字段值。 |
| |
是一个窗口聚合函数,用于对行进行分组,按字段对行进行排序,并返回组中当前行之后(下方)指定偏移量处的字段值。 |
| |
是一个窗口聚合函数,用于对行进行分组,按字段对行进行排序,并返回组中的最大值。 |
| |
是一个窗口聚合函数,用于对行进行分组,按字段对行进行排序,并返回组中的最小值。 |
| |
是一个窗口聚合函数,用于为组中的每一行指定排名数字。如果多行具有相同的排名值(存在并列关系),则 Workday 会为并列行指定相同的排名值,并跳过后续的排名位置。 |
| |
是一个窗口聚合函数,用于对行进行分组,按字段对行进行排序,并为组中的每一行指定一个唯一的连续编号。对于每组中的第一行,从 1 开始。 ROW_NUMBER 始终为组中的每一行指定唯一的值。您可能需要使用 ROW_NUMBER 为数据集中的每一行创建唯一编号。 |
| |
是一个窗口聚合函数,用于对行进行分组,按字段对行进行排序,并返回组中所有值的总和。您可以使用 SUM 以计算累计总计。 |
|
算术运算符
运算符 | 含义 | 示例 |
|---|---|---|
+
| 加法 | [amount] + 10
将“[amount]”字段的值加 10。 |
-
| 扣减 | [amount] - 10
将“[amount]”字段的值减去 10。 |
*
| 乘法 | [amount] * 100
将“[amount]”字段的值乘以 100。 |
/
| 除法 | [bytes] / 1024
将 [字节] 字段的值除以 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*")
匹配 K医师 、 哈奇 ,但不匹配 Kruther 或 crunch。 [company_name] LIKE("workday") 匹配 Workday 或 Workday |
值
IS NULL
| 检查字段值或表达式是否为 null(空)。 | [ship_date] IS NULL
当 Ship_date 字段为空时,评估结果为 true。 |
逻辑运算符
运算符 | 含义 | 示例 |
|---|---|---|
AND
| 测试 2 个条件是否为真。 | |
OR
| 测试 2 个条件中的任意一个是否成立。 | |
NOT
| 反转其他运算符的值。 |
|