Editor de formulas
Dentro de las medidas hay dos tipos:
- Tipo campo: son las medias básicas del sistema, por ejemplo la suma de importes de las facturas de venta, el número de líneas de factura,...
- Tipo formula: son formulas matemáticas de otras medidas.
Una medida de tipo básica siempre tiene asociado una función de agregado. Esta función de agregado generalmente suele ser la suma de un campo, pero también hay
configuradas medidas donde se muestra el valor máximo de un campo o el recuento de registros.
Para contruir formulas se utiliza la pantalla auxiliar del editor de formulas que se muestra al pulsar el botón "Editar Formula" en la pantalla de medidas.
El editor de formulas se divide en dos secciones:
- Sección superior: se encuentran disponibles las medidas, dimensiones y variables configuradas en el sistema para ser utilizadas en la formula.
- Sección inferior: se encuentra texto de la formula.
La forma de crear una formula es seleccionar el concepto de la parte superior que se desee, pulsar en el botón "Agregar", y se añadira al texto de la formula, con
su expresión adecuada. Esta expresión podría haberse escrito directamente en el editor de texto, pero es mucho más facil cometer errores y que la formula no sea correcta.
Una se ha acabado de escribir la formula pulsando en el botón comprobar, se comprobará la sintaxis de la misma y si es correcta se mostrará el valor de la misma.
Pulsado en el botón "Aceptar" se confirman los cambios en la formula y se vuelve a la pantalla de medidas y pulsando en el botón "Cancelar" se vuelve a la
pantalla de medidas sin realizar ningún cambio en la formula.
Operadores
Los operadores que se pueden utilizar son los operadores básicos matemáticos como son:
- + Suma
- - Resta
- * Producto
- / división
También puede utilizarse los parentesis para agrupar o separar diferentes operaciones.
Funciones
Función Med
Med([Grupo de medida].[Nombre de la medida])
La función Medida (Med) representa el valor de otra medida. Tiene un único parámetro de entrada que es el nombre del grupo de medida y el nombre de la medida, entre corchetes y separados por un punto.
Por ejemplo, el valor de la medida "Importe" del grupo "Factura venta" se representaría como:
Med([Factura venta].[Importe])
En el
Apendice I. Referencia medidas se detallan todas las medidas disponibles.
Función Dim
Dim([Grupo de dimension].[Nombre de la dimension].[Valor])
La función Dimensión (Dim) representa un valor de una dimensión. Tiene un único parámetro de entrada que es el nombre del grupo de dimensión, el nombre de la dimensión y el valor, entre corchetes y separados por puntos.
Por ejemplo, el valor "ESPAÑA" de la dimensión "Pais" del grupo "Localización geográfica" se representaría como:
Dim([Localización geográfica].[Pais].[ESPAÑA])
En el
Apendice II. Referencia dimensiones se detallan todas las dimensiones disponibles.
Función Variable
Var([Variable].[Valor])
La función Variable (Var) representa un valor de una variable. Tiene un único parámetro de entrada que es el nombre de la variable y el valor, entre corchetes y separados por puntos.
Por ejemplo, el valor "Valor 1" de la variable "Periodo 1" se representaría como:
Var([Periodo 1].[Valor 1])
En el
Apendice III. Referencia variables se detallan todas las variables con sus valores disponibles.
Función Filtro
Filtro( Medida , Valor 1 , Valor 2 ,... )
Esta función filtra el valor de una medida o expresión por uno o varios valores de dimensión o variable. Como parámetros de entrada tiene dos o más.
- Medida: es el valor de una medida sobre el que se aplicará el filtro, es el reultado de la función Med.
- Valor 1, Valor 2, ...: Son los valores de dimensión o variables que se utilizan para filtrar. Cada uno de estos valores es el resultado de la funcion Dim o la función Var.
En la lista de Valores no se puede duplicar una dimensión, es decir, no se puede agregar por ejemplo dos paises.
Por ejemplo, el importe de facturas de venta para España se representaría como:
Filtro(Med([Factura venta].[Importe]),Dim([Localización geográfica].[Pais].[ESPAÑA]))
Función iif
iif( Exprexión condición , Expresion condición verdadera , Expresión condición falsa )
Esta función devuelve el valor "Expresión condición verdadera" si el resultado de evaluar la "Expresión condición" tiene un resultado verdadero y devuelve el valor "Exprexión condición falsa" si el resultado el falso.
Por ejemplo, la siguiente exprexión devolvería null cuando importe de las ventas en el año 2013 es cero y el propio importe cuando es distinto de cero.
iif( Med([Factura venta].[Importe])=0 , null, Med([Factura venta].[Importe]) )
Función Peso
Peso( Medida )
Esta función devuelve el valor en procentaje sobre el total de cada uno de los valores de dimensión que se visualizan bien en una tabla, gráfico, ... etc.
Por ejemplo, la siguiente exprexión devolvería el porcentaje del importe de ventas en el año en curso sobre el total.
Peso( Med([Factura venta].[Importe actual]) )
Función SumaD
SumaD( Medida , DimensiónValor1 , DimensiónValor2 , ... )
Esta función devuelve la suma de la medida para cada uno de los valores de dimensión.
El primer parámetros debe ser una medida, no puede ser una exprosión de medidas. Si se desea incluir una expresión de otras medidas debe crearse como una nueva medida, para luego utilizarse en esta función.
Los valores de dimensión debe corresponder con una única dimensión, es decir, no puede mezclarse valores de diferentes dimensiones, por ejemplo, no pueden incluirse valores de paises y de meses. Para poder hacer esta combinación se
deben anidar dos funciones SumaD, una con cada dimensión. A continuación se muestra un ejemplo de este caso.
Por ejemplo, la siguiente exprexión devolvería el importe de las facturas en el año en curso de España, Andorra e Inglaterra.
SumaD( Med([Factura venta].[Importe actual]) , Dim([Localización geográfica].[Pais].[ESPAÑA]) , Dim([Localización geográfica].[Pais].[ANDORRA]) , Dim([Localización geográfica].[Pais].[INGLATERRA]) )
En el caso de varias dimensiones la función SumaD se puede anidar de la siguiente manera:
SumaD( SumaD( Med([Factura venta].[Importe actual]) , Dim([Localización geográfica].[Pais].[ESPAÑA]) , Dim([Localización geográfica].[Pais].[ANDORRA]) , Dim([Localización geográfica].[Pais].[INGLATERRA]) ) , Dim([Tiempo].[Mes].[01]) , Dim([Tiempo].[Mes].[02]) )
En esta formula se estarían sumando los valores del importe de las facturas de venta en los paises España, Andorra e Inglaterra para los meses 1 y 2.
Ejemplos
Ejemplo 1
Importe de facturas en el año en curso.
Filtro(Med([Factura venta].[Importe]),Var([Periodo 1].[Actual]))
Ejemplo 2
Importe de facturas en el año anterior.
Filtro(Med([Factura venta].[Importe]),Var([Periodo 2].[Pasado]))
Ejemplo 3
Evolución del importe de factura del año en curso respecto al anterior.
Filtro(Med([Factura venta].[Importe]),Var([Periodo 1].[Actual])) - Filtro(Med([Factura venta].[Importe]),Var([Periodo 2].[Pasado]))
Ejemplo 4
Evolución del importe de factura del año en curso respecto al anterior en porcentaje.
iif( Filtro(Med([Factura venta].[Importe]),Var([Periodo 2].[Pasado])) = 0 , null, 100 * (Filtro(Med([Factura venta].[Importe]),Var([Periodo 1].[Actual])) - Filtro(Med([Factura venta].[Importe]),Var([Periodo 2].[Pasado]))) / Filtro(Med([Factura venta].[Importe]),Var([Periodo 2].[Pasado])) )
Destacar que en este caso para evitar una división por cero se compruebe con la función iif y el importe del año pasado es cero, en cuyo caso el resultado es null, y si no se hace la resta
del importe del año en curso menos el importe del año anterior, se divide por el importe del año anterior, y se multiplica por 100 para darle valor de porcentaje.
Bi2go© Eurosistemas Placom SL - Todos los derechos reservados