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:
-
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.
Temas
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
-
Abra la consola de QuickSight
. -
Abra el análisis que desee cambiar.
-
En el panel Datos, elija Agregar en la parte superior izquierda y, a continuación, elija + CAMPO CALCULADO.
-
En el editor de cálculos que se abre, haga lo siguiente:
-
Introduzca un nombre para el campo calculado.
-
Introduzca una fórmula con los campos de su conjunto de datos, funciones y operadores.
-
-
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
-
Abra el conjunto de datos con el que desea trabajar. Para obtener más información, consulte Edición de conjuntos de datos.
-
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).
-
-
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
. -
(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*/
-
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
ydatediff
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()
-
-
Coloque el cursor dentro del paréntesis en el espacio de trabajo y añada tres líneas en blanco.
ifelse( )
-
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 escribirdate
en Buscar funciones. La funcióndateDiff
devuelve todas las funciones que tienen
como parte de su nombre. No devuelve todas las funciones enumeradas en Fechas; por ejemplo, la funcióndate
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ónifelse
.ifelse( dateDiff() )
Añada los parámetros que utiliza
dateDiff
. Coloque el cursor dentro de los paréntesisdateDiff
para empezar a añadirdate1
,date2
yperiod
:-
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. -
Para
date2
, añada una coma y, a continuación, seleccionetruncDate()
en Funciones. Dentro del paréntesis, añada el punto y la fecha, de la siguiente manera:truncDate( "YYYY", now() )
-
Para
period
: añada una coma después dedate2
e introduzcaYYYY
. Este es el periodo del año. Para ver una lista de todos los periodos admitidos, busquedateDiff
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" ) )
-
-
Especifique el valor devuelto. Para nuestro ejemplo, el primer parámetro en
ifelse
debe devolver un valor deTRUE
oFALSE
. Como queremos el año actual y lo estamos comparando con este año, especificamos que la instruccióndateDiff
debe devolver0
. La parteif
deifelse
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 cambiar0
a1
.Otra forma de hacer lo mismo es utilizar
addDateTime
en lugar detruncDate
. Luego, para cada año anterior, se cambia el primer parámetro deaddDateTime
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 usaaddDateTime
, deje la funcióndateDiff
= 0
para cada año.dateDiff( {Discharge Date},
addDateTime(-1, "YYYY", now() )
,"YYYY" ) = 0 /* Last year */ -
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ónifelse
, 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} )
-
Añada una cláusula
else
. La funciónifelse
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 es0
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ónifelse
final debería tener el siguiente aspecto./* Calculates sales per year for this year*/ ifelse( dateDiff( {Date}, truncDate( "YYYY", now() ) ,"YYYY" ) = 0 ,{TotalSales} ,0 )
-
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
-
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.
-
Para añadir un parámetro, abra la lista Parámetros y seleccione el parámetro cuyo valor desee incluir.
-
(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 |