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

Al añadir un conjunto de datos a un análisis, todos los campos calculados que existen en el conjunto de datos se añaden al análisis. Puede añadir campos calculados adicionales en el nivel de análisis para crear campos calculados que solo estén disponibles en ese 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 Añadir 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 sobre cómo crear fórmulas con las funciones disponibles en QuickSight, consulteFunción de campo calculada y referencia de operador para Amazon QuickSight .

Adición de campos calculados a un conjunto de datos

QuickSight Los autores de Amazon 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 utilizan 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á almacenadoSPICE, 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 utiliza 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 utiliza el modo de SPICE consulta 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 numéricamente.

Operadores unarios

La siguiente tabla muestra el tipo de datos que se genera en función del operador que utilice y del tipo de datos del valor que introduzca. Por ejemplo, si introduce un número entero en un abs cálculo, el tipo de datos del valor de salida es entero.

Operador Tipo de entrada Output type
abs Fijo en decimales Fijo con decimales
Int Int
Decimal-flotante Flotación decimal
ceil Decimal-fijo Int
Int Int
Decimal-flotante Int
exp Decimal-fijo Decimal-flotante
Int Flotación decimal
Flotación decimal Flotación decimal
floor Decimal-fijo Int
Int Int
Decimal-flotante Int
ln Decimal-fijo Decimal-flotante
Int Flotación decimal
Flotación decimal Flotación decimal
log Decimal-fijo Decimal-flotante
Int Flotación decimal
Flotación decimal Flotación decimal
round Decimal-fijo Fijo con decimales
Int Fijo con decimales
Decimal-flotante Decimal-fijo
sqrt Fijo con decimales Decimal-flotante
Int Flotación decimal
Flotación decimal Flotación 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 introduzca. 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 un entero.

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

Entero Fijo con decimales Decimal-flotante

Entero

Entero

Decimal-fijo

Decimal-flotante

Decimal-fijo

Fijo con decimales

Fijo con decimales

Decimal-flotante

Flotación decimal

Flotación decimal

Flotación decimal

Flotación decimal

Para operadores de división (/):

Entero Fijo decimal Decimal-flotante

Entero

Flotación decimal

Flotación decimal

Flotación decimal

Decimal-fijo

Decimal-flotante

Decimal-fijo

Decimal-flotante

Flotación decimal

Flotación decimal

Flotación decimal

Flotación decimal

Para operadores exponenciales y modales (^,%):

Entero Fijo decimal Decimal-flotante

Entero

Flotación decimal

Flotación decimal

Flotación decimal

Decimal-fijo

Decimal-flotante

Flotación decimal

Flotación decimal

Flotación decimal

Flotación decimal

Flotación decimal

Flotación decimal