Adición de campos calculados - Amazon QuickSight

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Adición de campos calculados

Cree campos calculados para transformar los datos mediante una o más de las siguientes opciones:

  • Operadores

  • Funciones

  • Funciones de agregación (solo puede añadirlas a un análisis)

  • Campos que contienen datos

  • Otros campos calculados

Puede añadir campos calculados a un conjunto de datos durante la preparación de datos o desde la página de análisis. Si se añade un campo calculado a un conjunto de datos al prepararse los datos, este estará disponible para todos los análisis que utilicen ese conjunto de datos. Cuando añade un campo calculado a un conjunto de datos de un análisis, solo estará disponible en dicho análisis.

Los análisis admiten operaciones de una sola fila y operaciones de agregación. Las operaciones de una sola fila son las que ofrecen un resultado (potencialmente) diferente para cada fila. Las operaciones de agregación ofrecen siempre los mismos resultados para todos los conjuntos de filas. Por ejemplo, si se utiliza una función de cadena sencilla sin condiciones, cambian todas las filas. Si se utiliza una función de agregación, se aplica a todas las filas de un grupo. Si se pide el importe total de ventas de Estados Unidos, este mismo importe se aplica a todo el conjunto. Si se piden datos sobre un determinado estado, el importe total de ventas cambia para reflejar la nueva agrupación, aunque sigue ofreciendo un solo resultado para todo el conjunto.

Si se crea el campo de agregación calculado en el análisis, es posible desglosar los datos. El valor de este campo de agregación se vuelve a calcular de manera adecuada para cada nivel. Este tipo de agregación no es posible durante la preparación del conjunto de datos.

Por ejemplo, supongamos que desea averiguar el porcentaje de beneficios de cada país, región y estado. Puede añadir un campo calculado al análisis, (sum(salesAmount - cost)) / sum(salesAmount). A continuación, este campo se calcula para cada país, región y estado cuando el analista analiza los distintos niveles geográficos.

Adición de campos calculados a un análisis

Cuando agrega un conjunto de datos a un análisis, todos los campos calculados que existen en el conjunto de datos se agregan al análisis. Puede agregar campos calculados adicionales en el nivel de análisis para crear campos calculados que solo estén disponibles en dicho análisis.

Adición de un campo calculado a un análisis
  1. Abra la consola de QuickSight.

  2. Abra el análisis que desee cambiar.

  3. En el panel Datos, elija Agregar en la parte superior izquierda y, a continuación, elija + CAMPO CALCULADO.

    1. En el editor de cálculos que se abre, haga lo siguiente:

    2. Introduzca un nombre para el campo calculado.

    3. Introduzca una fórmula con los campos de su conjunto de datos, funciones y operadores.

  4. Cuando termine, elija Guardar.

Para obtener más información acerca de cómo crear fórmulas mediante las funciones disponibles en QuickSight, consulte Referencia de operadores y funciones de campo calculado para Amazon QuickSight .

Adición de campos calculados a un conjunto de datos

Los autores de Amazon QuickSight pueden generar campos calculados durante la fase de preparación de datos de la creación de un conjunto de datos. Al crear un campo calculado para un conjunto de datos, el campo se convierte en una nueva columna del conjunto de datos. Todos los análisis que usan el conjunto de datos heredan los campos calculados del conjunto de datos.

Si el campo calculado funciona a nivel de fila y el conjunto de datos está almacenado en SPICE, QuickSight calcula y materializa el resultado en SPICE. Si el campo calculado se basa en una función de agregación, QuickSight conserva la fórmula y realiza el cálculo cuando se genera el análisis. Este tipo de campo calculado se denomina campo calculado no materializado.

Adición o edición de un campo calculado para un conjunto de datos
  1. Abra el conjunto de datos con el que desea trabajar. Para obtener más información, consulte Edición de conjuntos de datos.

  2. En la página Preparación de datos, haga una de las siguientes acciones:

    • Para crear un campo nuevo, seleccione Añadir campo calculado a la izquierda.

    • Para editar un campo calculado existente, selecciónelo en Campos calculados de la izquierda y, a continuación, seleccione Editar en el menú contextual (con el botón derecho).

    Edit calculated field interface showing YoY%diff formula and function categories.
  3. En el editor de cálculos, introduzca un nombre descriptivo para Añadir título para asignar un nombre al nuevo campo calculado. Este nombre aparece en la lista de campos del conjunto de datos, por lo que debe tener un aspecto similar al de los demás campos. En este ejemplo, asignaremos al campo el nombre de Total Sales This Year.

  4. (Opcional) Agregue un comentario, por ejemplo, para explicar lo que hace la expresión, poniendo el texto entre barras y asteriscos.

    /* Calculates sales per year for this year*/
  5. Identifique las métricas, las funciones y otros elementos que se van a utilizar. Para este ejemplo, necesitamos identificar lo siguiente:

    • La métrica que se debe utilizar

    • Funciones: ifelse y datediff

    Queremos crear una instrucción como: “Si la venta se realizó durante este año, muestra las ventas totales y, de lo contrario, muestra 0”.

    Para añadir la función ifelse, abra la lista Funciones. Seleccione Todas para cerrar la lista de todas las funciones. Ahora debería ver los grupos de funciones: Agregado, Condicional, Fecha, etc.

    Elija Condicional y, a continuación, haga doble clic en ifelse para añadirla al espacio de trabajo.

    ifelse()
  6. Coloque el cursor dentro del paréntesis en el espacio de trabajo y añada tres líneas en blanco.

    ifelse( )
  7. Con el cursor en la primera línea en blanco, busque la función dateDiff. Aparece en la lista Funciones en Fechas. También puede encontrarla al escribir date en Buscar funciones. La función dateDiff devuelve todas las funciones que tienen date como parte de su nombre. No devuelve todas las funciones enumeradas en Fechas; por ejemplo, la función now no aparece en los resultados de la búsqueda.

    Haga doble clic en dateDiff para añadirla a la primera línea en blanco de la instrucción ifelse.

    ifelse( dateDiff() )

    Añada los parámetros que utiliza dateDiff. Coloque el cursor dentro de los paréntesis dateDiff para empezar a añadir date1, date2 yperiod:

    1. Para date1: el primer parámetro es el campo que contiene la fecha. Búsquelo en Campos y agréguelo al espacio de trabajo haciendo doble clic en él o introduciendo su nombre.

    2. Para date2, añada una coma y, a continuación, seleccione truncDate() en Funciones. Dentro del paréntesis, añada el punto y la fecha, de la siguiente manera: truncDate( "YYYY", now() )

    3. Para period: añada una coma después de date2 e introduzca YYYY. Este es el periodo del año. Para ver una lista de todos los periodos admitidos, busque dateDiff en la lista Funciones y abra la documentación al seleccionar Más información. Si ya está consultando la documentación, como lo hace ahora, consulte dateDiff.

    Añada algunos espacios para facilitar la lectura, si lo desea. Su expresión debe ser similar a la siguiente.

    ifelse( dateDiff( {Date}, truncDate( "YYYY", now() ) ,"YYYY" ) )
  8. Especifique el valor devuelto. Para nuestro ejemplo, el primer parámetro en ifelse debe devolver un valor de TRUE o FALSE. Como queremos el año actual y lo estamos comparando con este año, especificamos que la instrucción dateDiff debe devolver 0. La parte if de ifelse se considera válida para las filas en las que no hay diferencia entre el año de la venta y el año actual.

    dateDiff( {Date}, truncDate( "YYYY", now() ) ,"YYYY" ) = 0

    Para crear un campo TotalSales para el año pasado, puede cambiar 0 a 1.

    Otra forma de hacer lo mismo es utilizar addDateTime en lugar de truncDate. Luego, para cada año anterior, se cambia el primer parámetro de addDateTime para que represente cada año. Para ello, utilice -1 para el año pasado, -2 para el año anterior y así sucesivamente. Si usa addDateTime, deje la función dateDiff = 0 para cada año.

    dateDiff( {Discharge Date}, addDateTime(-1, "YYYY", now() ) ,"YYYY" ) = 0 /* Last year */
  9. Mueva el cursor a la primera línea en blanco, justo debajo de dateDiff. Añada una coma.

    Para la parte then de la instrucción ifelse, debemos elegir la medida (métrica) que contiene el importe de las ventas, TotalSales.

    Para elegir un campo, abra la lista Campos y haga doble clic en un campo para añadirlo a la pantalla. O puede ingresar el nombre. Añada corchetes { } alrededor de los nombres que contengan espacios. Es probable que la métrica tenga un nombre diferente. Puede saber qué campo es una métrica por el signo numérico que aparece delante de él (#).

    Ahora, su expresión debe ser similar a la siguiente.

    ifelse( dateDiff( {Date}, truncDate( "YYYY", now() ) ,"YYYY" ) = 0 ,{TotalSales} )
  10. Añada una cláusula else. La función ifelse no requiere una, pero queremos añadirla. Para elaborar informes, normalmente no se recomienda tener ningún valor nulo, ya que a veces se omiten las filas con valores nulos.

    Establecemos la parte else de la expresión ifelse en 0. El resultado es que este campo es 0 para las filas que contienen las ventas de años anteriores.

    Para ello, en la línea en blanco, agregue una coma y luego un 0. Si agregó el comentario al principio, la expresión ifelse final debería tener el siguiente aspecto.

    /* Calculates sales per year for this year*/ ifelse( dateDiff( {Date}, truncDate( "YYYY", now() ) ,"YYYY" ) = 0 ,{TotalSales} ,0 )
  11. Seleccione Guardar en la esquina superior derecha para guardar su trabajo.

    Si hay errores en la expresión, el editor mostrará un mensaje de error en la parte inferior. Compruebe si la expresión tiene una línea roja ondulada y, a continuación, coloque el cursor sobre esa línea para ver cuál es el mensaje de error. Los errores más comunes son la falta de puntuación, la falta de parámetros, las faltas de ortografía y los tipos de datos no válidos.

    Para evitar hacer cambios, seleccione Cancelar.

Adición de un valor de parámetro a un campo calculado
  1. Puede hacer referencia a parámetros en los campos calculados. Al añadir el parámetro a la expresión, se añade el valor actual de ese parámetro.

  2. Para añadir un parámetro, abra la lista Parámetros y seleccione el parámetro cuyo valor desee incluir.

  3. (Opcional) Para añadir manualmente un parámetro a la expresión, escriba el nombre del parámetro. A continuación, introdúzcalo entre corchetes {} y póngale el prefijo $. Por ejemplo, ${parameterName}.

Puede cambiar el tipo de datos de cualquier campo del conjunto de datos, incluidos los tipos de campos calculados. Solo puede elegir tipos de datos que coincidan con los datos del campo.

Cambio del tipo de datos de un campo calculado
  • En Campos calculados (a la izquierda), elija el campo que desee cambiar y, a continuación, elija Cambiar tipo de datos en el menú contextual (con el botón derecho).

A diferencia de los demás campos del conjunto de datos, los campos calculados no se pueden deshabilitar. En su lugar, elimínelos.

Eliminación de un campo calculado
  • En Campos calculados (a la izquierda), elija el campo que desee cambiar y, a continuación, elija Borrar en el menú contextual (con el botón derecho).

Gestión de valores decimales en campos calculados

Cuando el conjunto de datos usa el modo de consulta directa, el cálculo del tipo de datos decimal viene determinado por el comportamiento del motor de origen del que proviene el conjunto de datos. En algunos casos particulares, QuickSight aplica controles especiales para determinar el tipo de datos del cálculo de salida.

Cuando el conjunto de datos usa el modo de consulta SPICE y se materializa un campo calculado, el tipo de datos del resultado depende de los operadores de función específicos y del tipo de datos de la entrada. Las tablas siguientes muestran el comportamiento esperado de algunos campos calculados de forma numérica.

Operadores unarios

En la siguiente tabla se muestra el tipo de datos que se genera en función del operador que use y del tipo de datos del valor que especifique. Por ejemplo, si especifica un número entero en un cálculo abs, el tipo de datos del valor de salida es un entero.

Operador Tipo de entrada Output type
abs Fijo decimal Fijo decimal
Int Int
Flotante decimal Flotante decimal
ceil Fijo decimal Int
Int Int
Flotante decimal Int
exp Fijo decimal Flotante decimal
Int Flotante decimal
Flotante decimal Flotante decimal
floor Fijo decimal Int
Int Int
Flotante decimal Int
ln Fijo decimal Flotante decimal
Int Flotante decimal
Flotante decimal Flotante decimal
log Fijo decimal Flotante decimal
Int Flotante decimal
Flotante decimal Flotante decimal
round Fijo decimal Fijo decimal
Int Fijo decimal
Flotante decimal Fijo decimal
sqrt Fijo decimal Flotante decimal
Int Flotante decimal
Flotante decimal Flotante decimal

Operadores binarios

En las tablas siguientes se muestra el tipo de datos que se genera en función de los tipos de datos de los dos valores que especifique. Por ejemplo, en el caso de un operador aritmético, si proporciona dos tipos de datos enteros, el resultado del cálculo se mostrará como entero.

Para los operadores básicos (+, -, *):

Entero Fijo decimal Flotante decimal

Entero

Entero

Fijo decimal

Flotante decimal

Fijo decimal

Fijo decimal

Fijo decimal

Flotante decimal

Flotante decimal

Flotante decimal

Flotante decimal

Flotante decimal

Para operadores de división (/):

Entero Fijo decimal Flotante decimal

Entero

Flotante decimal

Flotante decimal

Flotante decimal

Fijo decimal

Flotante decimal

Fijo decimal

Flotante decimal

Flotante decimal

Flotante decimal

Flotante decimal

Flotante decimal

Para operadores exponenciales y modales (^, %):

Entero Fijo decimal Flotante decimal

Entero

Flotante decimal

Flotante decimal

Flotante decimal

Fijo decimal

Flotante decimal

Flotante decimal

Flotante decimal

Flotante decimal

Flotante decimal

Flotante decimal

Flotante decimal