Spotfire® 用户指南

示例:创建 PL/SQL 函数

在此示例中,我们通过在 SQLplus 中编写执行计算的函数来检索以美元 (USD) 和欧元 (EUR) 为单位的员工销售额信息。

过程

  1. 编写 SQLplus 函数:
    CREATE FUNCTION money_converter
    ( amount IN NUMBER)
      RETURN NUMBER IS
      return_val NUMBER (10,2) := 0;
      BEGIN
        return_val := amount * 0.75;
        Return (return_val);
      END;
    /

    以美元为单位的销售额用作输入,而输出是低于输入 0.75 倍的值。将该函数存储在 SDP_ADMIN 方案(或者如果使用了其他管理员用户名,则在其他位置)中,使其可供 Information Designer 访问。

  2. 创建名称为“销售额(欧元)”的列元素,如下图所示:

    列元素 UI 显示添加了源列“销售额”,其别名为 %1,其他字段已填写。

  3. 创建包含产品类型的列元素“类型”。
  4. 创建包含原始销售额值的列元素“销售额(美元)”。

结果

从 Information Designer 执行包含这三个列的信息链接时,生成的 SQL 将如以下示例所示:
SELECT
   S1."Type" AS "Type",
   S1."Sales" AS "SALESUSD",
   money_converter(S1."Sales") AS "SALESEUR"
FROM
   "Sales"."dbo"."SalesandCost" S1