跳至主要内容
Administrator Guide
上次更新时间 :2023-06-23
概念:SQL 和子查询列

概念:SQL 和子查询列

您可以从
“数据组件”
窗格将以下自定义列类型拖放到 Workday 数据源中:
  • SQL 列
  • 子查询列
创建 SQL 列或子查询列时,单击 SQL 表达式编辑器中的“
view Online Help”(查看在线帮助)
,以查看 SQL 表达式参考信息。

SQL 列

使用 SQL 列,根据其他列的条件创建新值。SQL 列的作用与 SQL 类似。
WHERE
子句,但不允许
SELECT
语句。可以使用 SQL 列执行以下操作:
  • 重新设置数据格式。
  • 使用分隔符连接值。
  • 返回
    SUBSTRING
    在列值内
  • 写入
    CASE
    用作 IF 语句的语句。
  • 将一个字符串替换为另一个字符串。
  • 对值进行硬编码。
CASE 语句
A
CASE
语句提供以条件和结果值开头的条件逻辑。如果不满足第一个条件,语句将继续处理下一个条件和结果值。如果不满足任何条件,则返回最终结果。
示例:
CASE WHEN Condition 1 THEN Result 1 WHEN Condition 2 THEN Result 2 ELSE Final Result END
SQL 列的指导标准
  • SQL 列应尽可能简单,以防其他用户需要维护。
  • 尽量减少硬编码。如果无法避免进行硬编码,请在引用值时使用 Workday 编号 (WID) 或参考编号。
  • 使用一致命名的 SQL 列可加快构建元数据和数据加载器的速度。
  • 使用自定义 SQL 命令
    TO_ACCOUNT_CODE
    以将空格和特殊字符替换为下划线。
  • 使用
    TIMESTAMP
    的列类型
    TIME
    相关字段。Adaptive Planning 会自动使用
    TIMESTAMP
    对于以下格式的日期列
    MM/DD/YYYY HH:MM:SS AM
    即使指定了其他格式也是如此。
  • 使用相同的分隔符连接所有数据源。

子查询列

子查询列的作用类似于
JOIN
将条件添加到另一个表。如果另一个表格符合条件,
JOIN
返回 true/false 布尔值。生成
JOIN
语句使用主表和选定的相关表。您可以指定记录是否
EXISTS
DOES NOT EXIST
。您还可以使用结果为整数的子查询列。要生成数值结果,请包括
SUM
COUNT
MIN
,或
MAX
在联接表达式中添加“”
子查询列有助于在其他表格中查找值。它们具有以下用途:
  • 请验证另一个表格中是否存在值。
  • 筛选该表格的真/假结果。
  • 计算该表格中重复值的数量。
  • 查找成本中心的最大成本。