Para simplificar las cosas, en los tutoriales anteriores, una cantidad de ejemplos de funciones de Analytics hacen uso de valores de entrada literales: "john SMITH", "VT-123-45", etc. Pero, ¿cómo se aplica una función al conjunto completo de valores de un campo de una tabla de Analytics?
Aplicar una función a todo un campo puede ayudarlo a realizar tareas útiles, como agrupar los registros de una tabla por mes.
Campo calculado
Una manera de aplicar una función a todos los valores de un campo consiste en crear un campo calculado. Un campo calculado es un campo que usted crea, con frecuencia sobre la base de un campo físico real, pero que está conformado íntegramente por valores calculados por Analytics.
De manera similar a la salida de una función, puede pensar en un campo calculado como datos virtuales, calculados por Analytics, que existen en la memoria. Una vez calculados, estos datos virtuales se pueden utilizar para realizar operaciones posteriores.
Crear un campo calculado para ayudar a agrupar los registros por mes
Podemos crear un campo calculado denominado Mes que utiliza la función MONTH( ) para extraer la parte del mes de cada fecha de un campo de fecha de factura. Después, podemos agrupar los registros por mes en la tabla.
Crear el campo calculado
- En Analytics, abra Sample Project.ACL y abra la tabla Trans_Cp (Tables\Accounts_Payable\Trans_Cp).
Si Sample Project.ACL no está disponible, abra cualquier tabla que tenga un campo de fecha. Para trabajar con este ejemplo, el campo debe usar el tipo de datos Fechahora.
- Realice los siguientes pasos para crear el campo calculado Mes:
- En la parte superior de la vista, haga clic en Editar el formato de tabla
.
- En el cuadro de diálogo Formato de tabla, haga clic en Agregar una nueva expresión
.
- En el campo Nombre, escriba Mes y en el campo Valor predeterminado, copie y pegue esta versión de la función MONTH( ):
MONTH(Fecha_factura)
Si no está usando la tabla Trans_Cp, actualice el nombre del campo para que coincida con sus datos.
- Haga clic en Aceptar entrada
y cierre el cuadro de diálogo Formato de tabla.
- En la vista de la tabla, haga clic con el botón derecho del ratón en el encabezado de la columna Fecha_factura, seleccione Agregar columnas, en Campos disponibles haga doble clic en Mes y haga clic en Aceptar.
Resultado: Se agrega el campo calculado Mes a la vista. Contiene la parte del mes de cada fecha en la columna Fecha factura, que se muestra como un número del 1 al 12.
- Haga clic en Guardar el proyecto abierto
para guardar los cambios.
- En la parte superior de la vista, haga clic en Editar el formato de tabla
Agrupe los registros por mes
Ahora que creó el campo calculado Mes, puede utilizarlo para agrupar los registros de la tabla Trans_Cp por mes.
- Desde el menú principal, seleccione Analizar > Resumir.
- En la lista Resumir en, seleccione el campo Mes.
- Desde la lista Campos de subtotales, seleccione el campo Importe_factura.
- Haga clic en la ficha Salida, seleccione Archivo, escriba Trans_Cp_agrupada en el campo Nombre y haga clic en Aceptar.
Resultado: Analytics crea la nueva tabla, que agrupa los registros de la tabla Trans_Cp por mes. Para cada mes, hay un subtotal de importe de factura y un recuento de la cantidad de registros que hay en el mes.
Mes Importe factura Recuento 1 85.670,22 12 2 4.496,56 6 3 2.941,80 5 4 467,40 1 5 8.272,57 5 6 1.582,86 2 7 3.101,98 4 8 21.146,96 2 9 32.577,32 20 10 41.595,89 19 11 70.779,26 19 12 6.008,51 7
Actividad sugerida: mostrar los nombres de los meses
Puede utilizar la función CMOY( ) para crear un segundo campo calculado si desea mostrar los nombres de los meses. CMOY es la abreviatura de la expresión "Mes del año en caracteres".
- En la tabla Trans_Cp, siga los mismos pasos que utilizó para crear el campo calculado Mes y agréguelo a la vista de la tabla, pero con las siguientes diferencias:
- En el campo Nombre, escriba Mes_2.
- En el campo Valor predeterminado, copie y pegue esta versión de la función CMOY( ):
CMOY(Fecha_factura; 9)
Resultado: Se agrega el campo calculado Mes_2 a la vista, con el nombre de cada mes.
- Siga los mismos pasos que utilizó para agrupar los registros desde la tabla Trans_Cp por mes, pero con las siguientes diferencias:
- En la lista Otros campos, seleccione Mes_2.
- En la ficha Salida, especifique el nombre del archivo de salida Trans_Cp_agrupada_2.
Resultado: Analytics crea la nueva tabla, que agrupa los registros de la tabla Trans_Cp por mes, pero esta vez, se incluyen los nombres de los meses.
Mes Importe factura Recuento Mes_2 1 85,670.22 12 Enero 2 4,496.56 6 Febrero 3 2,941.80 5 Marzo 4 467.40 1 Abril 5 8,272.57 5 Mayo 6 1,582.86 2 Junio 7 3,101.98 4 Julio 8 21,146.96 2 Agosto 9 32,577.32 20 Septiembre 10 41,595.89 19 Octubre 11 70,779.26 19 Noviembre 12 6,008.51 7 Diciembre
Saltee la creación del campo calculado
En muchos casos, resulta útil la creación de un campo calculado como un modo de aplicar una función a varios valores. Sin embargo, puede obtener el mismo resultado y agilizar su trabajo en Analytics incrustando funciones directamente en los comandos de Analytics.
Incruste una función para ayudar a agrupar los registros por mes
Utilizaremos el mismo ejemplo anterior, pero sin crear los campos calculados. Por el contrario, incrustaremos las funciones directamente en el comando resumir.
- Abrir la tabla Trans_Cp.
- Desde el menú principal, seleccione Analizar > Resumir.
Incruste la función MONTH( )
- Haga clic en Resumir sobre y, a continuación, haga clic en Expr.
- En el Generador de expresiones, haga doble clic en MONTH( fecha/fechahora ) en la lista Funciones.
Consejo
Para que sea más fácil encontrar la función MONTH( ), seleccione Fecha y hora en el filtro desplegable ubicado en la parte superior de la lista Funciones.
- En el cuadro de texto Expresión, seleccione fecha/fechahora y haga doble clic en Fecha_factura en la lista Campos disponibles.
Debe tener MONTH( Fecha_factura) en el cuadro de texto Expresión.
Nota
La expresión debería resultarle familiar. Es la misma que la del campo calculado del ejemplo anterior, salvo que lleva incrustado el comando resumir.
- Haga clic en Aceptar para salir del Generador de expresiones y haga clic en Aceptar para salir del cuadro de diálogo Seleccione campos.
Incruste la función CMOY( )
- Haga clic en Otros campos y, a continuación, haga clic en Expr.
- En el Generador de expresiones, haga doble clic en CMOY( fecha/fechahora ; longitud ) en la lista Funciones.
- En el cuadro de texto Expresión, reemplace fecha/fechahora por Fecha_factura y longitud por 9.
Debe tener CMOY( Fecha_factura; 9) en el cuadro de texto Expresión.
- Haga clic en Aceptar para salir del Generador de expresiones y haga clic en Aceptar para salir del cuadro de diálogo Seleccione campos.
Finalice la operación de resumen
- Desde la lista Campos de subtotales, seleccione el campo Importe_factura.
- Haga clic en la ficha Salida, seleccione Archivo, escribaTrans_Cp_agrupada_3 en el campo Nombre y haga clic en Aceptar.
Resultado: Analytics crea la nueva tabla, que agrupa los registros de la tabla Trans_Cp por mes. Puede ver las dos funciones incrustadas.
MONTH(Importe_factura) Importe factura Recuento CMOY(Fecha_factura; 9) 1 85.670,22 12 Enero 2 4.496,56 6 Febrero 3 2.941,80 5 Marzo 4 467,40 1 Abril 5 8.272,57 5 Mayo 6 1.582,86 2 Junio 7 3.101,98 4 Julio 8 21.146,96 2 Agosto 9 32.577,32 20 Septiembre 10 41.595,89 19 Octubre 11 70.779,26 19 Noviembre 12 6.008,51 7 Diciembre
Punto clave
Utilizó dos métodos diferentes para lograr exactamente el mismo resultado:
- Campo calculado La creación de un campo calculado antes de usar el campo en un comando es un enfoque paso a paso más literal. Puede ser un enfoque adecuado si desea utilizar el campo calculado para más de una finalidad.
- Función incrustada Un enfoque más ágil consiste en evitar la creación de un campo calculado e incrustar una función en un comando. Puede ser un enfoque adecuado en el contexto de la creación de scripts que permite obtener scripts más eficientes.
Actividad sugerida: agrupar los registros por el día de la semana
Si desea tener más práctica en el uso de las funciones para crear campos calculados o en la inclusión de funciones en los comandos, vuelva a hacer alguna o todas las actividades anteriores y reemplace las funciones por DOW( ) y CDOW( ).
DOW( ) y CDOW( ) son muy similares a MONTH( ) y CMOY( ), salvo que extraen el día de la semana de la fecha en lugar de extraer el mes del año.
Consejo
Con DOW( ) y CDOW( ), podría hacer un análisis comparativo de las cifras de diferentes días de la semana.
Otro pequeño truco para probar las funciones
Puede utilizar el método DISPLAY en la línea de comandos para tener una idea de cuál será la salida al crear un campo calculado o incrustar una función en un comando.
- Con la tabla Trans_Cp abierta, pegue esta versión de la función UPPER( ) en la línea de comandos, escriba DISPLAY y un espacio antes de la función pegada y pulse Intro.
UPPER(Proveedor.Nombre_proveedor)
La función UPPER( ) convierte todas las entradas de texto en mayúscula.
Si se selecciona el primer registro de la tabla Trans_Cp, la salida de la función es MORE POWER INDUSTRIES.
- En la tabla, seleccione el número de registro 6.
Haga clic en el número de registro para seleccionar el registro. El número del registro actualmente seleccionado aparece resaltado en verde.
- Escriba o vuelva a cargar la función en la línea de comandos y pulse Intro.
La salida de la función es UNITED EQUIPMENT.
- Seleccione uno o dos registros diferentes y repita el proceso.
Punto clave: Está viendo lo que un campo calculado o una función incrustada haría a todos los valores del campo Proveedor.Nombre_proveedor, registro por registro.
Puede utilizar este método de prueba con cualquiera de las funciones de Analytics que tienen un campo como entrada.
¿Cómo continuar?
Aprenda a usar variables con una función para crear interacción: Uso de variables con una función para permitir que el usuario introduzca información