先进的SQL示例

增加性能历史数据

客户希望增加性能历史数据使用的工作流与使用数据从外部文件读取。可以通过执行以下步骤:

  1. 使用得到性能历史数据的行动从SAP应用程序数据提取到一个数据集命名“应用统计”。
  2. 创建一个文件并使用外部数据源读取外部数据源的行动读到数据集命名为“使用对象”。
  3. 添加一个执行SQL操作工作流。设置其Source1参数的应用程序数据及其Source2参数使用对象。创建一个行动结果的数据集,并将选项参数设置为“CopyRows Source1结果”。
  4. 执行SQL操作的报表添加以下参数:

插入结果选择类型,名称,“外部”,从Source2数

从结果删除帐户=“外部”和存在(选择名称从Source1 Result.NAME = Source1.NAME)

  • “CopyRows Source1结果”选项将应用统计数据集复制到结果集。
  • 第一个SQL语句增强结果集的行数据集使用对象。在数据集的结果,这些行账户列设置为“外部”。
  • 第二个SQL语句删除任何副本从结果数据集通过删除外部数据应用程序中,也存在统计数据集。

以下SQL语句实现相同的结果,和更有效:

插入结果选择类型,名称,“外部”,从Source2数不存在(选择名称从Source1 Source2.NAME = Source1.NAME)

过滤条件表

客户希望滤波器组改变对象只包括那些在场的对象在一个过滤器表。然而,如果没有过滤表中的行,客户想将所有变化的对象复制到一个结果集。

假设对象的变化和过滤数据集都有名称和类型列的表作为一个匹配的基础,可以如下。

  1. 添加一个工作流执行SQL操作。设置其Source1属性数据集变化的对象,和Source2属性过滤表的数据集。创建一个行动结果的数据集,并将选项参数设置为“MakeTable Source1结果”。
  2. 设置操作的声明属性如下。每个语句应该存储作为一个单独的字符串列表元素。

插入结果从Source1 SELECT *(从Source2 SELECT COUNT (*)) = 0

插入结果选择s1。名字,s1。类型从Source1 s1内连接Source2 s2 (s1。NAME = s2。名称和s1。类型= s2.TYPE)

这些语句复制或过滤对象数据集变化,取决于是否过滤表数据集是空的。结果存储在数据集的结果。

示例SQL语句

执行SQL操作