概念: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
在联接表达式中添加“”子查询列有助于在其他表格中查找值。它们具有以下用途:
- 请验证另一个表格中是否存在值。
- 筛选该表格的真/假结果。
- 计算该表格中重复值的数量。
- 查找成本中心的最大成本。