Documentación Bi2go
Omitir vínculos de navegación.

Editor de formulas

Dentro de las medidas hay dos tipos: 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:


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: 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. 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