Guía del usuario de Spotfire®

Ejemplos de SQL generado a partir de vínculos de información

En esta sección se incluyen ejemplos del aspecto de las consultas SQL a la base de datos resultantes cuando se utiliza un vínculo de información y de cómo se relacionan las consultas con los elementos en el Diseñador de información.

Ejemplo: SQL a partir de filtros

En este ejemplo, definiremos un elemento de columna con un filtro. La columna solo debe devolver transacciones de ventas superiores a 10 000:
Captura de pantalla del filtro SQL para un elemento de columna

Guarde el elemento de columna con el nombre High Sales (Ventas altas).

El elemento de columna que se definiera anteriormente da como resultado el siguiente SQL cuando el filtro se ejecute como parte de un vínculo de información:

SELECT
   S1."Sales" AS "HIGHSALES"
FROM
   "Sales"."dbo"."SalesandCost" S1
WHERE
   (S1."Sales" > 10000)
   AND <conditions>

Ejemplo: AGRUPAR POR

En este ejemplo, usaremos una agregación para calcular el beneficio medio de nuestra compañía para varios productos a fin de localizar nuestro mejor producto.

Suponemos que la base de datos proporciona las columnas que contienen el precio que obtenemos de los compradores en cada transacción (Sales) y el precio que nuestra compañía paga por las materias primas (Cost) cada vez. Asimismo, también disponemos de una columna que incluye el tipo de producto que se vende en cada transacción (Type).

Defina un elemento de columna denominado Average Profit (Beneficio medio) de la siguiente forma:

También debemos definir un elemento de columna Type (Tipo) que devuelva el tipo de producto, que se utiliza para agrupar la consulta.

Si definimos un vínculo de información utilizando estas tres columnas, se genera el siguiente SQL. (Observe la cláusula GROUP BY).

SELECT
   tmp1."AVERAGEPROFIT",
   E1."TYPE" AS "TYPE"
FROM
   "Sales"."dbo"."SalesandCost" S1
      SELECT
         AVG(E1."Sales" - E1."Cost") AS "AVERAGEPROFIT",
         E1."TYPE" AS col1
      FROM
        "Sales"."dbo"."SalesandCost" S1
      GROUP BY
         E1."TYPE"
   ) tmp1
WHERE
   (E1."TYPE" = tmp1.col1)
   AND <conditions>

Ejemplo: Subconsultas

El diseñador de información es compatible con subconsultas (SQL interno). En este ejemplo demostraremos cómo recuperar todas las transacciones de ventas superiores a la media:
El cuadro de diálogo Subconsultas

Crearemos una nueva columna High Sales Transactions (Transacciones de ventas altas) con la siguiente expresión de filtro:

%1 > (Select avg(Sales) from Sales.dbo.SalesandCost)
Nota: Incluya todos los paréntesis; de lo contrario, no funcionará.

El elemento de columna que se definió anteriormente dará como resultado el siguiente SQL cuando se ejecute como parte de un vínculo de información (tenga en cuenta que la cláusula WHERE incluye la subconsulta de la condición de filtro):

SELECT
   S1."Sales" AS "HIGHSALESTRANSACTIONS"
FROM
   "Sales"."dbo"."SalesandCost" S1
WHERE
   (S1."Sales" >(
      Select
         avg(Sales)
      from
         Sales.dbo.SalesandCost
   ))
   AND <conditions>