Manual de funciones

En esta página puede conocer las funciones y parámetros disponibles en el programa KPI MONITOR. Nuestra amplia experiencia en soluciones de BI nos permitió reunir un conjunto completo de herramientas para un uso eficiente y cómodo de nuestro producto.

Operadores

Descripción

El operador condicional IF devuelve un valor si la condición especificada resulta en el valor VERDADERO, y otro valor si la condición resulta en el valor FALSO.

Sintaxis

F.IF(bool <expresión1>, float <expresión2>, float <expresión3>)

  • expresión1 - expresión lógica
  • expresión2 - valor, si la condición especificada resulta en el valor VERDADERO
  • expresión3 - valor, si la condición resulta en el valor FALSO
Ejemplo

F.IF (A > 0, B, 0)
Se devuelve el valor B, si A es mayor que 0, o 0, si A es menor o igual que 0

F.IF (((A /B) > 1.5) and ((A/B) < 2.3), C, 0)
Se devuelve el valor C, si A/B es mayor que 1.5 y menor que 2.3, o 0, si A/B es menor o igual que 1.5 y mayor o igual que 2.3

Descripción

El operador lógico AND ejecuta la condición solo en el caso de que como resultado del cálculo de todos los argumentos se obtenga el valor VERDADERO. Si al menos una condición es FALSA, entonces toda la condición es FALSA. Habitualmente la función AND se utiliza para ampliar las posibilidades de otras funciones que realizan verificación lógica.

Sintaxis

(<expresión1>) AND (<expresión2>)

  • expresión1 - primera condición verificada, cuyo cálculo da el valor VERDADERO o FALSO.
  • expresión2 - segunda condición verificada, cuyo cálculo da el valor VERDADERO o FALSO.
ejemplo

F.IF (A > 0 AND B=5, B, 0)

Se devuelve el valor B, si A>0 y B=5, de lo contrario 0

Descripción

El operador condicional OR permite verificar alguna condición y, dependiendo de los resultados de la verificación, ejecutar una u otra acción. Devuelve el valor VERDADERO, si al menos uno de los argumentos tiene el valor VERDADERO, o FALSO, si todos los argumentos tienen el valor FALSO. Habitualmente la función OR se utiliza para ampliar las posibilidades de otras funciones que realizan verificación lógica.

Sintaxis

(<expresión1>) OR (<expresión2>)

Descripción

El operador LIKE es aplicable solo a valores de cadena del catálogo de referencia, con los cuales se utiliza para encontrar subcadenas. Se usa para aplicar filtros en el catálogo de referencia al buscar los valores necesarios. No se admite en campos calculados del Indicador base (se usa "=")

Sintaxis

<'Código catálogo de referencia'> LIKE <'Plantilla'>

  • Código catálogo de referencia – argumento código del catálogo de referencia
  • Plantilla – argumento subcadena/parte de palabra/frase
Ejemplo

F.SUM (A, 20110101, 20111231, rep.everymonth, 'suc' LIKE 'Московский*')
Búsqueda de valores en el catálogo de referencia "Sucursales" (código del catálogo de referencia "suc") que comienzan con la palabra "Московский"

Descripcion

El operador NOT LIKE, inverso al operador LIKE, es aplicable solo a valores de cadena del catálogo de referencia, con los cuales se utiliza para encontrar subcadenas. Se usa para aplicar filtros en el catálogo de referencia al buscar los valores necesarios. No se admite en campos calculados del Indicador base (se usa "<>" o "!=")

Sintaxis

<'Código catálogo de referencia'> NOT LIKE <'Plantilla'>

  • Código catálogo de referencia – argumento código del catálogo de referencia
  • Plantilla – argumento subcadena/parte de palabra/frase
Ejemplo

F.SUM (A, 20110101, 20111231, rep.everymonth, 'suc' NOT LIKE 'Московский*')

Búsqueda de valores en el catálogo de referencia "Sucursales" (código del catálogo de referencia "suc") que no contengan en el nombre la palabra "Московский"

Descripción

El operador NOT niega la condición u operador.

sintaxis

NOT (<Condición_Operador>)

  • Condición_Operador – argumento para condición u operador que requieren negación
Ejemplo

F.SUM (A, 20110101, 20111231, rep.everymonth, 'suc' NOT LIKE 'Московский*')

Búsqueda de todos los valores excepto "Московский*" en el catálogo de referencia "Sucursales" (código del catálogo de referencia "suc")

NOT (A=8)

A no es igual a 8

Funciones matemáticas

Descripción

La función F.PI devuelve el número Pi - 3.1415...

Sintaxis

F.PI

Ejemplo

F.PI

Para un indicador cuya unidad de medida tiene precisión de dos dígitos después de la coma, devuelve el valor 3.14

Descripción

función F.SIN devuelve el seno del ángulo

Sintaxis

F.SIN(float <ángulo>)

  • ángulo – indicador o expresión, para el cálculo del seno
Ejemplo

F.SIN(30)

Devuelve el valor 0,5

Descripción

La función F.COS devuelve el coseno del ángulo

Sintaxis

F.COS (float <ángulo>)

  • ángulo – indicador o expresión, para el cálculo del coseno
Ejemplo

F.COS(360)

Devuelve el valor 1

Descripción

La función F.TG devuelve la tangente del ángulo

Sintaxis

F.TG (float <ángulo>)

  • ángulo – indicador o expresión, para el cálculo de la tangente
Ejemplo

F. TG (45)

Devuelve el valor 1

Descripción

La función F.CTG devuelve la cotangente del ángulo

Sintaxis

F.CTG (float <ángulo>)

  • ángulo – indicador o expresión, para el cálculo de la cotangente
Ejemplo

F.CTG (45)

Devuelve el valor 1

Descripción

La función F.ARCSIN devuelve el arcoseno del ángulo

Sintaxis

F.ARCSIN (float <ángulo>)

  • ángulo – indicador o expresión, para el cálculo del arcoseno
Ejemplo

F.ARCSIN (1)

Devuelve el valor 90°

Descripción

La función F.ARCCOS devuelve el arcocoseno del ángulo

Sintaxis

F.ARCCOS (float <ángulo>)

  • ángulo – indicador o expresión, para el cálculo del arcocoseno
Ejemplo

F.ARCCOS (1)

Devuelve el valor 0.

Descripción

La función F.ARCTG devuelve la arcotangente del ángulo

Ejemplo

F.ARCTG (1)

Devuelve el valor 45°

Descripción

La función F.ARCCTG devuelve la arcocotangente del ángulo

Sintaxis

F.ARCCTG (float <ángulo>)

  • ángulo – indicador o expresión, para el cálculo de la arcocotangente
Ejemplo

F.ARCCTG (1)

Devuelve el valor 45°

Descripción

La función F.EXP devuelve la base del logaritmo natural (e = 2.7182818284590452...) elevada a la potencia especificada

Sintaxis

F.EXP(float <expresión>)

expresión – indicador o expresión, para el cálculo de la exponencial

Ejemplo

F.EXP (0)

Devuelve el valor 1

Descripción

La función F.LG devuelve el logaritmo base 10 del número especificado

Sintaxis

F.LG (float <expresión>)

  • expresión – indicador o expresión, para el cálculo
Ejemplo

F.LG (10)

Devuelve el valor 1

Descripción

La función F.LN devuelve el logaritmo natural del número especificado

Sintaxis

F.LN (float <expresión>)

expresión – indicador o expresión, para el cálculo

Ejemplo

F.LN (1)

Devuelve el valor 0

Descripción

La función F.ABC devuelve el módulo (valor absoluto) del número, es decir, el número sin signo.

Sintaxis

F.ABC(float <expresión>)

  • expresión - número real cuyo valor absoluto se necesita encontrar
Ejemplo

F.ABC (3)

Devuelve el valor 3

F.ABC (-2)

Devuelve el valor 2

Descripción

La función F.MAX devuelve el valor más grande del conjunto de valores.

Sintaxis

F.MAX(float <expresión1>,..., float <expresiónN>)

  • expresión1 , ... , expresiónN - números reales, el máximo de los cuales se necesita encontrar
Descripción

Función F.MAXTAB para calcular el valor máximo del indicador, desglosado por catálogo de referencia

Sintaxis

F.MAXTAB (<indicador>, '<código_catálogo>')

  • indicador - variable del indicador, cuyo valor máximo se necesita encontrar
  • código_catálogo - código del catálogo de referencia por el cual se produce el desglose al calcular el valor máximo del indicador
Ejemplo

F.MAXTAB (A, 'Empleado')

El indicador correspondiente a la variable A se desglosa por el catálogo de referencia "Empleado", y de la lista resultante <Valor del catálogo>=<valor de indicador> se devuelve el valor máximo del indicador.

Descripción

La función F.MAXIMUM calcula el valor máximo durante un período en un paso de período especificado o el valor máximo en un array.

Al calcular el valor durante un período, la función primero suma los datos en el paso de período indicado y luego encuentra el extremo en el rango de fechas establecidas.

Sintaxis

F.MAXIMUM(<indicador>, int <fecha_inicio>, int <fecha_fin>, REP.EVERY*, {<filtro>}, {bool <expresión>})

F.MAXIMUM ([<expresión>{,<expresión>}])

  • indicador – código de variable
  • fecha_inicio - fecha desde la cual se realiza el cálculo
  • fecha_fin - fecha hasta la cual se realiza el cálculo
  • REP.EVERY* - constante del paso de período correspondiente
  • filtro - filtro opcional sobre diccionarios de datos
  • expresión - cualquier expresión sintácticamente correcta cuyo resultado sea un número
Ejemplo

F.MAXIMUM(A, 20140101, 20141231, rep.everymonth)

Devuelve el valor mensual máximo del año 2014.

F.MAXIMUM(A, 20140101, 20141231, rep.everymonth, 'Segmento' LIKE 'Pequeño*')

Devuelve el valor mensual máximo del indicador seleccionado para el año 2014 con valor "Pequeño" según el diccionario "Segmento".

F.MAXIMUM([2, 4])

Devuelve el valor máximo en el array - 4

Descripción

La función F.MIN devuelve el valor menor de un conjunto de valores.

Sintaxis

F.MIN(float <expresión1>, float <expresión>)

  • expresión1, ... , expresiónN - números reales, de los cuales es necesario encontrar el mínimo
Ejemplo

F.MIN (2, 3, 5)

Devuelve el valor 2

Descripción

La función F.MINTAB calcula el valor mínimo de un indicador, desglosado por catálogo de referencia.

Sintaxis

F.MINTAB (<indicador>, '<código_catálogo>')

  • indicador - variable del indicador cuyo valor mínimo es necesario encontrar
  • código_catálogo - código del catálogo de referencia por el cual se realiza el desglose al calcular el valor mínimo del indicador
Ejemplo

F.MINTAB (A, 'Empleado')

El indicador correspondiente a la variable A se desglosa por el catálogo de referencia "Empleado", y de la lista resultante <Valor del catálogo>=<valor del indicador> se devuelve el valor mínimo del indicador.

Descripción

La función F.MINIMUM calcula el valor mínimo durante un período en un paso de período especificado o el valor mínimo en un array.

Al calcular el valor durante un período, la función primero suma los datos en el paso de período indicado y luego encuentra el extremo en el rango de fechas establecidas.

Sintaxis

F.MINIMUM(<indicador>, int <fecha_inicio>, int <fecha_fin>, REP.EVERY*, {<filtro>},{bool <expresión>})

F.MINIMUM ([<expresión>{, <expresión>}])

  • indicador – código de variable
  • fecha_inicio - fecha desde la cual se realiza el cálculo
  • fecha_fin - fecha hasta la cual se realiza el cálculo
  • REP.EVERY* - constante del paso de período correspondiente
  • filtro - filtro opcional sobre diccionarios de datos
  • expresión - cualquier expresión sintácticamente correcta cuyo resultado sea un número
Ejemplo

F.MINIMUM(A, 20140101, 20141231, rep.everymonth)
Devuelve el valor mensual mínimo del año 2014.

F.MINIMUM(A, 20140101, 20141231, rep.everymonth, 'Segmento' LIKE 'Pequeño*')
Devuelve el valor mensual mínimo del indicador seleccionado para el año 2014 con valor "Pequeño" según el diccionario "Segmento".

F.MINIMUM([2, 4])
Devuelve el valor mínimo en el array - 2

Descripción

La función F.SQRT calcula la raíz cuadrada de la expresión o valor del indicador especificado.

Sintaxis

F.SQRT(float <expresión>)

  • expresión – código de variable o expresión
Ejemplo

F.SQRT(A)
Devuelve la raíz cuadrada del valor del indicador.

F.SQRT(64)
Devuelve el valor 8.

Descripción

La función F.ROUND redondea el valor de la parte decimal con la precisión especificada. Si la precisión es un número negativo, se redondea la cantidad de dígitos de la parte entera.

Sintaxis

F.ROUND(float <expresión>, int <precisión>)

  • expresión – código de variable o expresión
  • precisión – cantidad de dígitos de redondeo (si la precisión es un número negativo, se redondea la cantidad de dígitos de la parte entera)
Ejemplo

F.ROUND(748.58, -3)
Возвращает значение 1000

F.ROUND(123.9994, 3)
Devuelve el valor 123

F.ROUND(123.9995, 3)
Devuelve el valor 124

F.ROUND(748.58, -1)
Devuelve el valor 750.00

F.ROUND(748.58, -3)
Devuelve el valor 1000

Descripción

La función F.FLOOR redondea el número hacia abajo al múltiplo más cercano de la precisión especificada.

Sintaxis

F.FLOOR(float <expresión>, float <precisión>)

  • expresión – código de variable o expresión
  • precisión – cantidad de dígitos múltiplo del cual se realiza el redondeo
Ejemplo

F.FLOOR(2.5, 1)
Devuelve el valor redondeado hacia abajo al número más cercano múltiplo de 1: 2

F.FLOOR(-2.5, -2)
Devuelve el valor redondeado hacia abajo al número más cercano múltiplo de -2: -2

F.FLOOR(-2.5, 2)
Devuelve error, ya que los números -2.5 y 2 tienen signos diferentes

F.FLOOR(1.5, 0.1)
Devuelve el valor redondeado hacia abajo al número más cercano múltiplo de 0.1: 1.5

F.FLOOR(0.234, 0.01)
Devuelve el valor redondeado hacia abajo al número más cercano múltiplo de 0.01: 0.23.

Descripción

La función F.ROUNDDOWN redondea el valor hacia el valor más cercano menor en módulo.

Sintaxis

F.ROUNDDOWN(float <expresión>, int <precisión>)

  • expresión – código de variable o expresión
  • precisión – cantidad de dígitos después del redondeo
Ejemplo

F.ROUNDDOWN(3.14159, 3)
Devuelve el valor redondeado hacia abajo hasta tres posiciones decimales: 3.141

F.ROUNDDOWN(76.9, 0)
Devuelve el valor redondeado hacia abajo al entero más cercano: 76

F.ROUNDDOWN(-3.14159, 1)
Devuelve el valor redondeado hacia abajo hasta una posición decimal: -3.1

F.ROUNDDOWN(31415.92654, -2)
Devuelve el valor redondeado hacia abajo hasta dos posiciones decimales a la izquierda de la coma: 31400

Descripción

La función F.ROUNDUP redondea el valor hacia el valor más cercano mayor en módulo.

Sintaxis

F.ROUNDUP(float <expresión>, int <precisión>)

  • expresión – código de variable o expresión
  • precisión – cantidad de dígitos hasta los cuales se redondea el valor
Ejemplo

F.ROUNDUP(3.14159, 3)
Devuelve el valor redondeado hacia arriba hasta tres posiciones decimales: 3.142

F.ROUNDUP(76.1, 0)
Devuelve el valor redondeado hacia arriba al entero más cercano: 77

F.ROUNDUP(-3.14159, 1)
Devuelve el valor redondeado hacia arriba hasta una posición decimal: -3.2

F.ROUNDUP(31415.92654, -2)
Devuelve el valor redondeado hacia arriba hasta dos posiciones decimales a la izquierda de la coma: 31500

Descripción

La función F.NUMFROMSEP devuelve el número después del separador decimal de un número.

Sintaxis

F.NUMFROMSEP (float <expresión>)

  • expresión – cualquier expresión sintácticamente correcta cuyo resultado sea un valor real
Ejemplo

F.NUMFROMSEP (123.4567)

Devuelve el valor 4567

Descripción

La función F.COUNTFROMSEP devuelve la cantidad de dígitos significativos después del separador decimal de un número.

Sintaxis

F.COUNTFROMSEP (float <expresión>)

  • expresión – cualquier expresión sintácticamente correcta cuyo resultado sea un valor real
Ejemplo

F.COUNTFROMSEP(123.1567)

Devuelve el valor 4

Funciones para trabajo con fechas

Descripción

La función F.TODAY devuelve la fecha actual (o una fecha con desplazamiento desde la actual).

Sintaxis

F.TODAY({int <desplazamiento>, {REP.BYCURRENT | REP.BYSTART | REP.BYEND}})

  • desplazamiento - cantidad de pasos del período para desplazamiento en el paso del período del informe
  • parámetro opcional, que devuelve el valor de la fecha actual BYCURRENT | REP.BYSTART | REP.BYEND (por defecto se usa REP.BYEND). Si no se especifica el modo de fecha actual, entonces la función toma el valor REP.BYCURRENT
Ejemplo

F.TODAY
Se devuelve la fecha actual - 20150305 00:00:00.000

F.TODAY (-1)
Si el paso del informe es mes, entonces se devuelve la fecha actual menos 1 mes
Si el paso del informe es trimestre, entonces se devuelve la fecha actual menos 1 trimestre.

F.TODAY (+2)
Si el paso del informe es mes, entonces se devuelve la fecha actual más 2 meses

F.TODAY (0, rep.bystart)
Con paso del informe mes al calcular el indicador para noviembre devuelve el inicio de noviembre – 20141101 00:00:00.000

F.IF(F.TODAY = 20141225, 'Navidad Católica', '')
En esta función se determina la fecha actual y, si es igual al 25 de diciembre de 2014, entonces se devuelve el valor "Navidad Católica", de lo contrario - " "

Descripción

Функция F.DATEADD возвращает дату со смещением

Sintaxis

F.DATEADD(int <fecha_inicio>, int <desplazamiento>, REP.EVERY*, {REP.BYSTART | REP.BYEND| REP.BYREPORT})

  • fecha_inicio - fecha desde la cual se realiza el cálculo
  • desplazamiento - cantidad de pasos de período para el desplazamiento
  • REP.EVERY* - constante del paso de período correspondiente
  • parámetro opcional que devuelve el valor de fecha al inicio o final del período: REP.BYSTART | REP.BYEND| REP.BYREPORT (por defecto se usa REP.BYEND)
Ejemplo

F.DATEADD (F.REPORTDATE (rep.byend), -11, rep.everyquarter, rep.bystart), F.DATEADD (F.REPORTDATE (rep.byend), -4, rep.everyquarter, rep.byend)
En esta función se define el período de cálculo.
La fecha de inicio del período y la fecha de fin del período de cálculo están establecidas con desplazamiento desde la fecha final del período de reporte del indicador. Para un indicador con paso "Trimestre" y período de reporte del I trimestre 2014 al VI trimestre 2014, el período de cálculo serán 2 años - I trimestre 2012 - VI trimestre 2013.

F.AVG (A, 4, F.DATEADD (F.REPORTDATE (rep.byend), -11, rep.everyquarter, rep.bystart), F.DATEADD (F.REPORTDATE (rep.byend), -4, rep.everyquarter, rep.byend), rep.everyquarter, 4)
En esta función se define el valor promedio trimestral de la variable "A".
Para calcular el período de cálculo del valor promedio se utilizó la función F.DATEADD, examinada anteriormente. El valor promedio, calculado para los años 2012 - 2013, se mostrará en el año 2014.

Descripción

La función F.REPORTDATE devuelve la fecha actual de inicio del reporte, la fecha actual de fin del reporte o la fecha del paso de período actual.

Sintaxis

F.REPORTDATE({REP.BYSTART | REP.BYEND | REP.BYREPORT})

  • REP.BYSTART | REP.BYEND | REP.BYREPORT - parámetro que determina el valor de fecha devuelto - al inicio del período de reporte, final del período de reporte o la fecha del paso de período actual respectivamente.
Ejemplo

F.SUM (A , F.REPORTDATE (rep.bystart) , F.TODAY(0, rep.byend) , rep.everymonth )
La suma para el período de enero a diciembre de 2014 se calculará mensualmente con total acumulado hasta la columna actual del reporte (para enero devolverá el valor de enero, para febrero - (enero+febrero), para marzo - (enero+febrero+marzo) y así sucesivamente)

F.REPORTDATE (rep.bystart)
Devuelve la fecha de inicio del reporte

Descripción

La función F.DATE devuelve una fecha en formato (día, mes, año) con posibilidad de calcular uno de estos parámetros mediante otras funciones.

Sintaxis

F.DATE (int <día>, int <mes>, int <año>)

Ejemplo

F.DATE (1,1,2015)
Devuelve el valor 20150101, es decir, 01.01.2015

F.SUM(A, F.DATE (01, 01, F.YEAR (F.REPORTDATE(rep.byreport))), F.TODAY (0, rep.byend), rep.everyquarter )
Con ayuda de la función F.DATE al calcular la suma se establece la fecha de inicio de la sumatoria - 01 de enero de cada año, donde el año se calcula mediante las funciones F.REPORTDATE.

Descripción

La función F.PERIOD devuelve la diferencia entre dos fechas en un paso de período especificado.

Sintaxis

F.PERIOD(int <fecha_inicio>, int <fecha_fin>, REP.EVERY*)

  • fecha_inicio - fecha desde la cual se realiza el cálculo
  • fecha_fin - fecha hasta la cual se realiza el cálculo
  • REP.EVERY* - constante del paso de período correspondiente
Ejemplo

F.PERIOD(20150101, 20150201, rep.everyday)
Devuelve 31 días

F.PERIOD(20150101, 20150201, rep.everyhour)
Devuelve 744 horas

F.PERIOD(20140101, 20150101, rep.everymonth)
Devuelve 12 meses

Descripción

La función F.PERIODOF devuelve la diferencia entre el inicio y el final del paso de período de reporte actual que se está calculando

Sintaxis

F.PERIODOF(REP.EVERY*)

  • REP.EVERY* - constante del paso de período correspondiente
Ejemplo

F.PERIODOF(rep.everyday)

Al calcular el indicador para el período de enero a diciembre de 2014 con paso "Mes" devolverá secuencialmente: 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31

La misma función en paso de período "Trimestre" devolverá: 90, 91, 92, 92

Es análoga a la escritura de combinaciones de funciones F.PERIOD(F.TODAY (0, rep.bystart), F.TODAY (0, rep.byend), rep.everyday)+1

Descripción

La función F.DAY calcula el día del parámetro de fecha.

Sintaxis

F.DAY(int <fecha>, REP.EVERY*)

  • fecha - fecha de la cual se realiza el cálculo del día
  • REP.EVERY* - constante del paso de período correspondiente
Ejemplo

F.DAY(20151101)

Devuelve el valor 1

Descripción

La función F.MONTH calcula el mes del parámetro de fecha.

Sintaxis

F.MONTH(int <fecha>)

  • fecha - fecha de la cual se realiza el cálculo del mes
Ejemplo

F.MONTH(20151101)

Devuelve el valor 11

Sintaxis

F.QUARTER(int <fecha>)

  • fecha - fecha de la cual se realiza el cálculo del trimestre
Ejemplo

F.QUARTER(20151101)

Devuelve el valor 4

Descripción

La función F.YEAR calcula el año del parámetro de fecha.

Sintaxis

F.YEAR(int <fecha>)

  • fecha - fecha de la cual se realiza el cálculo del año
Ejemplo

F.YEAR(20151101)

Devuelve el valor 2015

Descripción

La función F.GETDATE devuelve la fecha y hora actual.

Sintaxis

F.GETDATE()

Ejemplo

F.GETDATE

Devuelve la fecha y hora actual

Descripción

La función F.DATENIL devuelve el valor mínimo (vacío) de fecha.

Sintaxis

F.DATENIL()

Ejemplo

F.DATENIL

Devuelve 18991230 - el valor mínimo de fecha 30.12.1899

Descripción

La función F.DATEONLY devuelve solo la fecha del valor especificado (sin la hora)

Sintaxis

F.DATEONLY(int <fecha>)

  • fecha - fecha con hora de la cual se realiza el cálculo de la fecha
Ejemplo

F.DATEONLY( F.GETDATE )

Devuelve el valor de fecha actual sin la hora

Descripción

La función F.SECOND devuelve el valor de los segundos de una fecha.

Sintaxis

F.SECOND(int <fecha>)

  • fecha - fecha con hora de la cual se realiza el cálculo
Ejemplo

F.SECOND( F.GETDATE() )

Devuelve los segundos de la fecha y hora actual

Descripción

La función F.MINUTE devuelve el valor de los minutos de una fecha.

Ejemplo

F.MINUTE ( F.GETDATE() )

Devuelve los minutos de la fecha y hora actual

Descripción

La función F.HOUR devuelve el valor de la hora de una fecha.

Sintaxis

F.HOUR(int <fecha>)

  • fecha - fecha con hora de la cual se realiza el cálculo
Ejemplo

F.HOUR( F.GETDATE() )

Devuelve las horas de la fecha y hora actual

Descripción

La función F.DATEDIFF devuelve la diferencia de fechas en un paso de período especificado. El resultado es un número entero.

Sintaxis

F.DATEDIFF(REP.EVERY*, int <fecha_inicio>, int <fecha_fin>)

  • REP.EVERY* - constante del paso de período correspondiente
  • fecha_inicio - fecha desde la cual se realiza el cálculo
  • fecha_fin - fecha hasta la cual se realiza el cálculo
Ejemplo

F.DATEDIFF(rep.everymonth, 20100101, 20101231)

Devuelve 11 meses

Funciones para valores de cadena

Descripción

La función F.DATESTR devuelve la representación en cadena de la fecha

Sintaxis

F.DATESTR(int <fecha>, REP.EVERY*)

  • fecha – fecha que se necesita convertir en cadena
  • REP.EVERY* - constante del paso del período correspondiente (por defecto se usa el paso del período del informe).
Ejemplo

F.DATESTR(20141231, rep.everysecond)
Devuelve '2014.12.31 00:00:00'

F.DATESTR(20141231, rep.everyminute)
Devuelve '2014.12.31 00:00'

F.DATESTR(20141231, rep.everyhour)
Devuelve '2014.12.31 00:00'

F.DATESTR(20141231, rep.everyday)
Devuelve '2014.12.31'

F.DATESTR(20141231, rep.everyweek)
Devuelve '2014 53 sem'

F.DATESTR(20141231, rep.everymonth)
Devuelve '2014.12'

F.DATESTR(20111231, rep.everyquarter) -- '2011 04 trim'
Devuelve '2014.12'

F.DATESTR(20111231, rep.everyhalf)
Devuelve '2011 02 sem'

F.DATESTR(20111231, rep.everyyear)
Devuelve '2011'

Ejemplo de aplicación de la función

Consideremos el indicador A, en el cual hay 12 valores por catálogo de referencia "Período" para el año 2011 desde "2011.01; 2011 01 trim" hasta "2011.12; 2011 04 trim".

Supongamos que los datos de este indicador se introdujeron en abril y están marcados por el catálogo de referencia "Período" como datos de febrero.

Entonces, para reflejar el ingreso por indicador del período anterior, escribiremos la fórmula para el indicador calculado:

F.SUM (A, F.REPORTDATE (rep.bystart), F.REPORTDATE (rep.byend), rep.byreport, 'Período' like ('' + F.DATESTR (F.DATEADD (F.TODAY(0, rep.byend), -2, F.REPORTSTEP, rep.byend) , F.REPORTSTEP) + ''))

Si el gráfico se construye por el indicador calculado para el año 2011 con paso del período "Mes", entonces la aplicación de la fórmula para el cálculo de cada paso se verá así:

F.SUM(A, 20110101, 20111231, rep.everymonth, 'Período' like '2010.11'))
Devuelve 2011.01.01 - 2011.01.31

F.TODAY (0, rep.ByEnd)
Devuelve 2011.02.28

F.DATEADD (2011.01.31, -2, rep.everymonth, rep.byend)
Resta 2 meses y alinea la fecha al final del mes - 2010.12.31

F.DATESTR(2010.11.30, rep.everymonth)
Devuelve '2010.12'

F.SUM (A, 20110101, 20111231, rep.everymonth, 'Período' like '2011.01'))
Devuelve 2011.03.01 - 2011.03.31

F.SUM (A, 20110101, 20111231, rep.everymonth, 'Período' like '2011.10'))
Devuelve 2011.12.01 - 2011.12.31

Al agregar el mismo indicador hasta el paso del período "Trimestre", la aplicación de la fórmula se verá así:

F.SUM (A, 20110101, 20111231, rep.everyquarter, 'Período' like '2010 03 trim')
Devuelve 2011.01.01 - 2011.03.31

F.TODAY (0, rep.byend)
Devuelve 2011.03.31

F.DATEADD(2011.03.31, -2, rep.everyquarter, rep.byend)
Resta 2 trimestres y alinea al final del trimestre - 2010.09.30

F.DATESTR(2010.09.30, rep.everyquarter)
Devuelve '2010 03 trim'

F.SUM (A, 20110101, 20111231, rep.everyquarter, 'Período' like '2010 04 trim')
Devuelve 2011.04.01 - 2011.06.30

F.TODAY (0, rep.byend)
Devuelve 2011.06.30

F.DATEADD (2011.06.30, -2, rep.everyquarter, rep.byend)
Resta 2 trimestres y alinea la fecha al final del trimestre -- 2010.12.31

F.DATESTR(2010.12.31, rep.everyquarter)
Devuelve '2010 04 trim'

F.SUM (A, 20110101, 20111231, rep.everyquarter, 'Período' like '2011 01 trim'))
Devuelve 2012.01.01 - 2011.03.31

F.SUM (A, 20110101, 20111231, rep.everyquarter, 'Período' like '2011 02 trim'))
Devuelve 2012.04.01 - 2011.06.30

Sintaxis

F.STRINDEXOF(string <expresión1>, string <expresión2>)

  • Expresión1 – cadena buscada
  • Expresión2 – cadena en la que se realiza la búsqueda
    No se pueden usar los siguientes símbolos: %, _ , [ ] , ^
Ejemplo

F.STRINDEXOF('(', '10 (100%)')

Devulve el valor 4

Descripción

La función F.SUBSTR devuelve una cadena contenida en la cadena (parámetro 1) desde una posición dada (parámetro 2) hasta una longitud dada (parámetro 3)

Sintaxis

F.SUBSTR(string <expresión1>, int <expresión2>, int <expresión3>)

  • expresión1 - cadena de la cual se extraerá la subcadena
  • expresión2 - posición desde la cual se realiza la extracción de la cadena
  • expresión3 - longitud de la cadena que se desea obtener

No se pueden usar los siguientes símbolos: %, _ , [ ] , ^

Ejemplo

F.SUBSTR('10 (100%)', 5, 3)
Devuelve el valor 100

F.SUBSTR(Pushkin Aleksandr Sergeevich'; 0 ; f.strindexof( ' ' ; Pushkin Aleksandr Sergeevich))
Devuelve el valor 'Pushkin'

Descripción

La función F.STRUBSTR devuelve la cadena (parámetro 1) hasta la cadena especificada (parámetro 2).

Esta función se utiliza solo en el Asistente de configuración de escenarios de importación.

Sintaxis

F.STRUBSTR (string <expresión1>, string <expresión2>)

  • expresión1 - cadena hasta la cual se realiza la extracción
  • expresión2 - cadena de la cual se realiza la extracción

No se pueden usar los siguientes símbolos: %, _ , [ ] , ^

Ejemplo

F.STRUBSTR ( ',' , 'Tumén, calle Lenina, 100' )

Devuelve el valor Tumén

Descripción

La función F.STRFMTTMPL complementa con símbolos la cadena (parámetro 2) hasta una cadena en el formato especificado (parámetro 1).

Esta función se utiliza solo en el Asistente de configuración de escenarios de importación.

Sintaxis

F.STRFMTTMPL (string <expresión1>, string <expresión2>)

  • expresión1 - cadena en el formato especificado
  • expresión2 - cadena para convertir al formato especificado

No se pueden usar los siguientes símbolos: %, _ , [ ] , ^

Ejemplo

F.STRFMTTMPL( '00000' , '123' )

Devuelve el valor '00123'

Descripción

La función F.SUBSTRBETW devuelve una cadena contenida en la cadena (parámetro 1) entre la cadena (parámetro 2) y la cadena (parámetro 3).

Esta función se utiliza solo en el Asistente de configuración de escenarios de importación.

Sintaxis

F.SUBSTRBETW(string <expresión1>, string <expresión2>, string <expresión3>)

  • expresión1 - cadena de la cual se realiza la extracción
  • expresión2 - cadena hasta la cual se realiza la extracción
  • expresión3 - cadena desde la cual se realiza la extracción

No se pueden usar los siguientes símbolos: %, _ , [ ] , ^

Ejemplo

F.SUBSTRBETW (',', ',', 'Tumén, calle Lenina, 100, int. 99')
Devuelve el valor 'calle Lenina, 100'

F.SUBSTRBETW ('ATM', ',', 'cajero automático ATM2345, sucursal №1')
Devuelve el valor '2345'

Funciones para cálculo de valores de indicadores

Descripción

La función F.AVG calcula el valor promedio de la variable durante el período en el paso del período (suma durante el período, dividida por la cantidad de valores en ese período)

Sintaxis

F.AVG(<indicador>)

o

F.AVG(<indicador>, int <fecha inicio>, int<fecha fin>, REP.EVERY*)

  • indicador – código de variable o expresión
  • fecha inicio y fecha fin - cualquier expresión sintácticamente correcta que devuelva la fecha de inicio y fin del período para el cual se realiza el cálculo.
  • REP.EVERY*- constante del paso del período correspondiente (por defecto se usa el paso del período del informe)
Ejemplo

F.AVG(A) o F.AVG( A , F.ToDay(0, rep.bystart ), F.ToDay(0, rep.byend ), F.ReportStep( A ))

Devuelve el valor promedio del período actual (suma del período actual, dividida por la cantidad de valores de ese período).

Equivale a F.SUM(A) / F.Count(A)

Descripción

La función F.AVGPERIOD calcula el valor promedio de una variable durante un período (suma del período actual desde el período inicial, dividida por la cantidad de períodos).

Sintaxis

F.AVGPERIOD(<indicador>, {int <desplazamiento>,)

o

F.AVGPERIOD(<indicador>, {int <desplazamiento>, {int <fecha_inicio>, int<fecha_fin>, REP.EVERY*, {int <desplazamiento_fechas_período>}, {<filtro>, {bool <expresión>} } }})

  • indicador – código de variable o expresión
  • desplazamiento - desplazamiento de variable por período para el cálculo
  • fecha_inicio - fecha desde la cual se realiza el cálculo (por defecto se usa el período del reporte)
  • fecha_fin - fecha hasta la cual se realiza el cálculo (por defecto se usa el período del reporte)
  • REP.EVERY* - constante del paso de período correspondiente (por defecto se usa el paso de período del reporte)
  • desplazamiento_fechas_período - cantidad de pasos de período para desplazar los datos del cálculo del valor promedio en el tiempo (por defecto el valor es cero)
  • filtro - filtro opcional sobre catálogos de referencia
Ejemplo

F.AVGPERIOD(A) o F.AVGPERIOD(A, 1)
Devuelve la suma del período actual desde el período inicial, dividida por la cantidad de períodos.

F.AVGPERIOD(A, 2)
Devuelve la suma y número de período, que se incrementan cada segundo período del reporte, es decir, si se establece un período anual con paso de período en el reporte "Mes", entonces:

  • para el primer mes obtendremos suma del Primer mes/1
  • para el segundo mes obtendremos suma del Segundo mes/1
  • para el tercer mes obtendremos (suma del Primer + Tercer mes)/2
  • para el cuarto mes obtendremos (suma del Segundo + Cuarto mes)/2
  • para el quinto mes obtendremos (suma del Primer + Tercer + Quinto mes)/3
  • para el sexto mes obtendremos (suma del Segundo + Cuarto + Sexto mes)/3
    y así sucesivamente.

F.AVGPERIOD(A,12)

Con parámetros del reporte con paso de período "Mes" durante un período de 2 años, el valor promedio se calculará para cada mes anualmente, es decir:

  • para el primer mes del primer año obtendremos Enero2010/1
  • para el primer mes del segundo año obtendremos (Enero2010+Enero2011)/2
  • para el segundo mes del primer año obtendremos Febrero2010/1
  • para el segundo mes del segundo año obtendremos (Febrero2010+Febrero2011)/2

F.AVGPERIOD(A, 12, 20130101, 20141231, rep.everymonth, 12)
En esta función se define el valor promedio mensual de la variable "A" considerando los valores de los 2 años especificados en la función. El resultado promedio obtenido para los años 13 y 14 se mostrará en el año 15. Para 2014 el valor promedio será igual al valor de 2013.

F.AVGPERIOD(A, 0, F.TODAY(0, rep.bystart), F.TODAY (0, rep.byend), rep.everymonth )
En esta función se define el valor promedio mensual de la variable "A" para el período actual.

Para calcular el período de cálculo del valor promedio se utiliza la función F.TODAY, examinada anteriormente.

Al construir el indicador con paso "Trimestre" se calculará el valor promedio mensual del indicador para cada trimestre del período del reporte.

Al construir el indicador con paso "Semestre" se calculará el valor promedio mensual del indicador para cada semestre del período del reporte.
y así sucesivamente.

F.AVGPERIOD(A, 0, F.TODAY (0, rep.bystart), F.TODAY (0, rep.byend), rep.everyday )
En esta función se define el valor promedio para cada mes de la variable "A" durante el período del reporte con paso mes.

F.AVGPERIOD(A, 4, F.DATE (1, 1, F.YEAR (F.REPORTDATE (rep.byend))-3), F.DATE (31, 12, F.YEAR (F.REPORTDATE (rep.byend)) -1), rep.everyquarter, 4 )

En esta función, para el indicador con paso "Trimestre" y período del 1er trimestre 2015 al 4to trimestre 2015, calcula el valor promedio trimestral por el trimestre correspondiente durante los tres años precedentes, donde:

A - variable

4 - desplazamiento del paso de suma para el cálculo del valor promedio, es decir, se sumarán no todos los valores del indicador A, sino según el desplazamiento especificado (1er trimestre 2012 + 1er trimestre 2013 + 1er trimestre 2014). El valor obtenido en el cálculo se dividirá por la cantidad de pasos de suma (en este caso cantidad de primeros trimestres = 3).

La función F.DATE (1, 1, F.YEAR (F.REPORTDATE (rep.byend)) -3) - define la fecha de inicio para el cálculo del valor promedio. El día y mes están establecidos (1 de enero), y el año lo calculamos basándonos en el año de la fecha de fin del reporte y el desplazamiento especificado. En este caso el desplazamiento "-3" = 2015 - 3 = 2012.

De manera análoga calculamos la fecha de fin para el cálculo del valor promedio: establecemos día y mes (31 de diciembre), y el año lo calculamos desde la fecha de fin del reporte con desplazamiento. En este caso el desplazamiento "-1" = 2015 - 1 = 2014.

rep.everyquarter - paso de cálculo del valor promedio – Trimestre

4 - desplazamiento de los datos obtenidos en el paso de cálculo del valor promedio (4 períodos hacia adelante), es decir, el valor para el 1er trimestre 2015 será el resultado - (1er trim.2012+1er trim.2013+1er trim.2014) /3

el valor para el 2do trimestre 2015 será el resultado - (2do trim.2012+2do trim.2013+2do trim.2014) /3 y así sucesivamente.

Si no se especifica la cantidad de pasos de período para el desplazamiento de datos del cálculo del valor promedio en el tiempo, entonces el resultado obtenido se mostrará en 2014.

F.AVGPERIOD(A, 12, F.DATE (1, 1, F.YEAR (F.REPORTDATE (rep.byreport)) -2), F.DATE (31, 12, F.YEAR (F.REPORTDATE (rep.byreport) ) -1), rep.everymonth , 12)

En esta función se define la fecha del reporte y el valor promedio mensual de la variable "A" durante los 2 años previos.

El valor promedio de 2011 y 2012 se mostrará en 2013,
El valor promedio de 2012 y 2013 se mostrará en 2014,
El valor promedio de 2013 y 2014 se mostrará en 2015
y así sucesivamente.

Descripción

La función F.AVGTAB calcula el valor promedio de un indicador, desglosado por catálogo de referencia.

Sintaxis

F.AVGTAB (<indicador>, '<código_catálogo>')

  • indicador - variable del indicador cuyo valor promedio es necesario encontrar
  • código_catálogo - código del catálogo de referencia por el cual se realiza el desglose al calcular el valor promedio
Ejemplo

F.AVGTAB(A, 'Empleado')
El indicador correspondiente a la variable A se desglosa por el catálogo de referencia "Empleado" y en la lista resultante <Valor del catálogo>=<valor del indicador> se toma la suma de valores del indicador y se divide por la cantidad de valores del catálogo de referencia. Para la suma y cantidad se considera la analítica no establecida.

Nota:
A primera vista puede parecer que

F.AVGTAB(A, 'Empleado') corresponde a
F.SUMTAB(A, 'Empleado') / F.ANALITCOUNT(A, 'Empleado'), pero en el caso general, esto no es así.

F.ANALITCOUNT() No considera la analítica no establecida.
Supongamos que el desglose por el catálogo de referencia Empleado para el indicador dio la siguiente lista de valores:
'Ivanov' = 15
'Petrov' = 5
'Sidorov' = 10
'valor no establecido' = 7,

Entonces:
F.SUMTAB(A, 'Empleado') = 37
F.ANALITCOUNT(A, 'Empleado') = 3
F.SUMTAB(A, 'Empleado') / F.ANALITCOUNT(A, 'Empleado') = 37 / 3 = 12,(3)
F.AVGTAB(A, 'Empleado') = 37 / 4 = 9,25

Descripción

La función F.SUM calcula la suma del indicador durante un período en un paso de período especificado o la suma de un array.

Sintaxis

F.SUM(<indicador>, int <fecha_inicio>, int <fecha_fin>, REP.EVERY*, {<filtro>},{bool <expresión>})

F.SUM(<indicador>) equivale a F.SUM(<indicador>, F.ToDay(0, Rep.ByStart), F.ToDay(0, Rep.ByEnd), F.ReportStep(<indicador>))

F.SUM ([<expresión>{,<expresión>}])

  • indicador – código de variable o expresión
  • fecha_inicio - fecha desde la cual se realiza el cálculo (por defecto se usa el período del reporte)
  • fecha_fin - fecha hasta la cual se realiza el cálculo (por defecto se usa el período del reporte)
  • REP.EVERY* - constante del paso de período correspondiente (por defecto se usa el paso de período del reporte)
  • filtro - filtro opcional sobre catálogos de referencia del indicador
  • expresión – cualquier expresión sintácticamente correcta cuyo resultado sea un número
Ejemplo

F.SUM(A, 20140101, 20141231, rep.everymonth)
Devuelve la suma de valores mensuales del indicador "A" para el año 2014.

F.SUM(A, 20140101, 20141231, rep.everymonth, 'suc' = 'Sucursal de Moscú')
Devuelve la suma anual de valores mensuales del indicador "A" con analítica "Sucursal de Moscú" por el catálogo de referencia "Sucursales" (código del catálogo "suc").

F.SUM(A, F.TODAY (-1, rep.bystart), F.TODAY (0, rep.byend), rep.everymonth)
Devuelve la suma del indicador A durante el período desde el inicio del mes de cálculo anterior hasta el final del mes de cálculo actual.

Para el cálculo de fecha de inicio y fecha de fin se utiliza la función F.TODAY con desplazamiento

F.TODAY (-1, rep.bycurrent) -- con paso de reporte mes, fecha actual menos 1 mes

F.TODAY (0, rep.byend) -- con paso de reporte mes al calcular el indicador para noviembre --- final de noviembre

F.SUM(A, F.REPORTDATE(rep.bystart), F.TODAY(0, rep.byend) , rep.everymonth )
Devuelve la suma durante el período con total acumulado.

F.REPORTDATE(rep.bystart) – devuelve la fecha de inicio del reporte

F.TODAY(0, rep.byend) - devuelve la fecha de la columna

Para el período de enero a diciembre de 2014, la suma se calculará mensualmente con total acumulado hasta la columna actual del reporte:

  • para enero devuelve el valor de enero,
  • para febrero - enero+febrero,
  • para marzo- enero+febrero+marzo
    y así sucesivamente.

F.SUM(A, F.TODAY(f.if(F.REPORTSTEP=rep.everymonth,-12,f.if (F.REPORTSTEP =rep.everyquarter, -4, f.if(F.REPORTSTEP=rep.everyhalf,-2,-1))),rep.bystart), F.TODAY(f.if ( F.REPORTSTEP=rep.everymonth, -12, f.if(F.REPORTSTEP=rep.everyquarter,-4, f.if(F.REPORTSTEP=rep.everyhalf,-2,-1))),rep.byend), rep.bycurrent )

Devuelve la suma por el indicador "A" para el período actual con desplazamiento de un año hacia adelante.
Al construir el reporte para 2015 con paso "Trimestre" se mostrará la suma:

  • en el primer trimestre de 2015 - del primer trimestre de 2014.
  • en el segundo trimestre de 2015 - del segundo trimestre de 2014
    y así sucesivamente.

Al construir el reporte para 2015 con paso "Semestre"

  • en el primer semestre de 2015 se mostrará la suma de valores del primer semestre de 2014.

Al construir el reporte para 2015 con paso año se mostrará la suma de valores de 2014.

F.SUM(A, F.DATE ( 01, f.if (F.QUARTER (F.REPORTDATE (rep.byreport))=1, 01, f.if (F.QUARTER (F.REPORTDATE (rep.byreport))=2, 04, f.if (F.QUARTER (F.REPORTDATE (rep.byreport))=3, 07, 10 ) ) ), F.YEAR (F.REPORTDATE (rep.byreport))) , F.TODAY (0, rep.byend), rep.everyweek)
Devuelve el total acumulado por semanas para cada trimestre del año del reporte.

F.SUM(A, F.DATE (01, 01,F.YEAR(F.REPORTDATE(rep.byreport)) ), F.TODAY (0, rep.byend), rep.everymonth)
Devuelve el total mensual acumulado para cada año del reporte. Para acelerar el cálculo del total acumulado también se puede utilizar la fórmula:

f.if(F.Month(F.REPORTDATE(rep.byreport)) = 1, A,
f.if( f.periodnumber(rep.ByCurrent) <= 0, 0, f.if( f.periodnumber(rep.ByCurrent) = 1,
F.SUM( A , F.DATE (01, 01,F.YEAR(F.REPORTDATE(rep.byreport)) ), F.ToDay(0, rep.byend), rep.everymonth),
f.prevvaluethis(1) + A)))

F.SUM( [A , B])
Devuelve la suma de variables en el array de manera más eficiente que A+B.

Descripción

La función F.PROGRESSIVESUM calcula la suma de datos del indicador, agrupados en el paso de período del indicador, con total acumulado en uno de los períodos especificados.

Sintaxis

F.PROGRESSIVESUM(<indicador>,rep.everyyear|rep.everyhalf|rep.everyquarter |rep.everymonth)

  • indicador – variable del indicador para la cual se necesita calcular la suma de datos en el paso de período del indicador con total acumulado durante el período especificado
  • rep.everyyear – el total acumulado se calcula desde el inicio de cada año
  • rep.everyhalf – el total acumulado se calcula desde el inicio de cada semestre
  • rep.everyquarter – el total acumulado se calcula desde el inicio de cada trimestre
  • rep.everymonth – el total acumulado se calcula desde el inicio de cada mes
Ejemplo

F.PROGRESSIVESUM (A, Rep.EveryYear)

Para el período de enero a diciembre de uno o varios años se calculará mensualmente con total acumulado dentro del marco de cada año:

  • para enero devuelve el valor de enero,
  • para febrero - enero+febrero,
  • para marzo - enero+febrero+marzo
    y así sucesivamente.
Descripción

La función F.SUMTAB calcula la suma del indicador, desglosado por catálogo de referencia.

Sintaxis

F.SUMTAB(<indicador>, <catálogo_referencia>)

  • indicador – código de variable o expresión
  • catálogo_referencia – código del catálogo de referencia por cuyos valores se realiza el desglose al sumar
Ejemplo

F.SUMTAB(X, 'sucursal')

Devuelve la suma total de la variable X durante el período del reporte en el paso de período del reporte con desglose por el catálogo de referencia "sucursal".

X - indicador calculado, igual al producto de dos indicadores base A*B, cada uno de los cuales tiene analítica por el catálogo de referencia 'sucursal':

SucursalAB
sucursal 11,007,00
sucursal 22,008,00
sucursal 33,009,00
Total:6,0024,00

La función F.SUMTAB calculará la suma total de productos A*B en el desglose del catálogo de referencia 'sucursal' (como en el reporte tabular) durante el período del reporte:

F.SUMTAB (X, 'suc') = 7+16+27=50

La función F.SUM en este caso calculará durante el período especificado la suma por el indicador "A" y la multiplicará por la suma por el indicador "B" durante ese período:

F.SUM (X, 20140101, 20141231, rep.everymonth) = 6+24=30

Descripción

La función F.COUNT calcula la cantidad de valores en el indicador durante un período en un paso de período especificado o la cantidad de elementos en un array.

Sintaxis

F.COUNT(<indicador>, int <fecha_inicio>, int <fecha_fin>, REP.EVERY*, {<filtro>})

o

F.COUNT(<indicador>)

que equivale a

F.COUNT(<indicador>, F.ToDay(0, Rep.ByStart), F.ToDay(0, Rep.ByEnd), F.ReportStep(<indicador>))

F.COUNT ([<expresión>{, <expresión>}])

  • indicador – código de variable o expresión
  • fecha_inicio - fecha desde la cual se realiza el cálculo (por defecto se usa el período del reporte)
  • fecha_fin - fecha hasta la cual se realiza el cálculo (por defecto se usa el período del reporte)
  • REP.EVERY* - constante del paso de período correspondiente (por defecto se usa el paso de período del reporte)
  • filtro - filtro opcional sobre catálogos de referencia del indicador
  • expresión – cualquier expresión sintácticamente correcta cuyo resultado sea un número
Ejemplo

F.COUNT(A)
Devuelve la cantidad de registros del indicador "A" durante el período del reporte.

F.COUNT(A, 20140101, 20141231, rep.everymonth)
Devuelve la cantidad de registros del indicador "A" durante el período especificado.

F.COUNT(A, F.TODAY (0, rep.bystart), F.TODAY (0, rep.byend), rep.byreport)
Devuelve la cantidad de registros del indicador "A" durante el período especificado.

F.COUNT(A, 20140101, F.TODAY, rep.everymonth, 'fil' = 'Sucursal de Moscú' AND 'suc' = 'Tver')
Devuelve la cantidad de registros del indicador "A" por las sucursales de Moscú y Tver en paso de período mes durante el período comenzando desde el 01 de enero 2014.

F.COUNT([A, B])
Devuelve la cantidad de elementos en el array - 2.

Descripción

La función F.ANALITCOUNT devuelve la cantidad de valores del catálogo de referencia del indicador.

La función F.ANALITCOUNTBASE devuelve la cantidad de valores del catálogo de referencia en el indicador base.

Limitaciones de la función ANALITCOUNTBASE:

  • en caso de usar esta función, la fórmula no debe contener otras funciones
  • en el indicador calculado puede haber solo una variable, que sea un indicador base
  • la variable de esta función no se calcula por separado (se muestra en el plan de cálculo, pero sin datos)
Sintaxis

F.ANALITCOUNT(<indicador>, <código_catálogo>), F.ANALITCOUNTBASE(<indicador>, <código_catálogo>)

  • indicador – código de variable
  • código_catálogo – código del catálogo de referencia por el cual se cuenta la cantidad de valores del catálogo de referencia en los datos del indicador
Ejemplo

F.ANALITCOUNT (A, 'Empleados')

Devuelve la cantidad de empleados por el indicador "A" durante el período del reporte.

Descripción

La función F.PERIODNUMBER devuelve el número del paso que se está calculando en el momento actual.

Sintaxis

F.PERIODNUMBER(REP.BYREPORT | REP.BYCURRENT)

  • REP.BYCURRENT - devuelve el número de paso en el paso de período del indicador que se está calculando
  • REP.BYREPORT - devuelve el número de paso en el paso de período del reporte
Ejemplo

F.PERIODNUMBER(rep.byreport)
Para un reporte anual con paso de período trimestre por indicador calculado con paso de período mes devolverá secuencialmente 1, 2, 3, 4.

F.PERIODNUMBER (rep.bycurrent)
Para un reporte anual con paso de período trimestre por indicador calculado con paso de período mes devolverá 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12.

Descripción

La función F.REPORTSTEP devuelve uno de los valores de las constantes REP.EVERY*, que corresponde al paso de período actual del indicador o del reporte.

Sintaxis

F.REPORTSTEP({<indicador>})

  • indicador – código de variable
Ejemplo

f.if (F.REPORTSTEP(A) = rep.everymonth, 1, 2)
Devuelve para el indicador "A" con paso mes - 1, para indicador con otro paso - 2.

F.REPORTSTEP(A)
Devuelve el paso del indicador "A"

día – 4
semana – 5
mes – 6
trimestre – 7
semestre – 8
año – 9

F.REPORTSTEP
Devuelve el paso del reporte (4 – 9)

Descripción

La función F.PREVVALUE devuelve el valor del indicador, tomado en el paso de período del indicador un número especificado de pasos hacia atrás.

Sintaxis

F.PREVVALUE(<indicador>, int <expresión>)

  • indicador – variable para la cual se devuelve el valor del período anterior
  • expresión – cantidad de pasos en el paso de período del indicador
Ejemplo

F.PREVVALUE (A, 1)
Devuelve el valor igual a la variable "A" del período anterior.

F.PREVVALUE (A, 2)
Devuelve el valor igual a la variable "A" del período que precede al anterior.

Descripción

La función F.PREVVALUETHIS devuelve el valor del indicador actual, tomado en el paso de período del indicador un número especificado de pasos hacia atrás.

Sintaxis

F.PREVVALUETHIS(int <expresión>)

  • expresión – cantidad de pasos en el paso de período del indicador
Ejemplo

A + F.PREVVALUETHIS (1)
Devuelve la suma de valores del indicador "A" del período actual y anterior.

A + F.PREVVALUETHIS (2)
Devuelve la suma de valores del indicador "A" del período actual y el período que precede al anterior.

f.if (F.MONTH (F.REPORTDATE (rep.byreport)) = 1, A, f.if ( F.PERIODNUMBER (rep.bycurrent) <= 0, 0, f.if ( F.PERIODNUMBER (rep. bycurrent) = 1, F.SUM( A , F.DATE (01, 01,F.YEAR(F.REPORTDATE (rep.byreport)) ), F.TODAY(0, rep.byend), rep.everymonth), A + F.PREVVALUETHIS (1))))
Devuelve el valor igual a la variable "A" del período anterior para el cálculo de la suma con total acumulado desde el inicio del año.

Descripción

La función F.VALPOSTAB devuelve el valor del indicador por el número de la lista ordenada en el desglose del catálogo de referencia analítico.

Sintaxis

F.VALPOSTAB (<indicador>, '<código_catálogo>', <posición>, <dirección_ordenamiento>)

  • indicador - variable del indicador cuyo valor es necesario devolver desde la posición ordenada por valor y desglosada por catálogo de referencia
  • código_catálogo - código del catálogo de referencia por el cual se realiza el desglose
  • posición - número de posición desde la cual es necesario devolver el valor, desglosado por catálogo de referencia.

Cualquier expresión sintácticamente correcta que devuelva un número en el rango de 1 hasta la cantidad de elementos que entraron en el desglose por catálogo de referencia, es decir, de 1 a F.AnalitCount() por el mismo catálogo de referencia.

Con cualquier otro valor la función devuelve 0.

Si al desglosar por catálogo de referencia la lista de valores está vacía, es decir, F.AnalitCount() = 0, entonces la función también devuelve 0. Posición - número de posición desde la cual es necesario devolver el valor, desglosado por catálogo de referencia

  • dirección_ordenamiento - true (o 1) - ordenar por valores ascendentes, false (o 0) - ordenar por valores descendentes
Ejemplo

F.VALPOSTAB (A, 'EstructuraOrg', 3, 1)
Para el indicador base vinculado con la variable A, que tiene valores por el catálogo de referencia "EstructuraOrg":

15 - Unidad de energía 1
20 - Unidad de energía 2
10 - Unidad de energía 3

la función especificada devolverá el valor de la posición 3 de la lista ordenada de valores:

10 - Unidad de energía 3
15 - Unidad de energía 1
20 - Unidad de energía 2

Es decir, el resultado del trabajo de la función será igual a 20.

Descripción

La función F.GETREFVALUE realiza la búsqueda de un elemento en el directorio de referencia mediante un patrón en el primer campo especificado. En caso de éxito, devuelve el valor del segundo campo; de lo contrario, devuelve 0.

Sintaxis

F.GETREFVALUE (<catálogo_referencia>, <campo_catálogo>, <patrón>, <campo_catálogo>)

  • catálogo_referencia – cadena con el código del catálogo de referencia
  • campo_catálogo – cadena con el identificador del campo del catálogo de referencia
  • patrón – patrón de búsqueda
  • campo_catálogo – cadena con el identificador del campo del catálogo de referencia
Ejemplo

F.GETREFVALUE ('CortePresupuestario', 'Code', '5206463403', 'DocID')
Registra en el campo de referencia al catálogo "CortePresupuestario" en los datos del indicador una referencia al valor del catálogo '5206463403'

F.GETREFVALUE ('Ordenante', 'DocID', Gastos.Ordenante, 'DocID')
Calcula el valor del campo de referencia al catálogo "Ordenante" del Indicador Base según el valor del campo de referencia a este mismo catálogo "Ordenante" en el catálogo "Gastos"

F.GETREFVALUE ('Ordenante', 'Code', Gastos.Ordenante, 'DocID')
Calcula el valor del catálogo "Ordenante" del Indicador Base según el campo de cadena "Ordenante" del catálogo "Gastos"

F.GETREFVALUE ('Porcentajes','DocID', f.matrixrefvalue ('DSS') , 'Name')
Registra en el campo de cadena del Indicador Base la denominación del valor del catálogo "Porcentajes", calculado mediante la Lista Dinámica\Catálogo de referencia con código "DSS"

F.GETREFVALUE ('Periodo', 'Code', F.Str(F.Year(DateOper)) +'.'+ F.Str(f.if(F.Month(DateOper)> 6, 2, 1)) +'.'+ F.Str(f.if(F.Month(DateOper)< 4, 1, f.if(F.Month(DateOper)< 7, 2, f.if(F.Month(DateOper)< 10, 3, 4)))) +'.'+ F.Str(F.Month(DateOper)) , 'DocID')
Calcula el valor del campo de referencia al catálogo del sistema "Periodo" en los datos del indicador según la fecha del valor del indicador.

Descripción

La función F.MATRIXREFVALUE devuelve los valores del catálogo de referencia, calculados por clave analítica a partir de la versión de matrices de tipos "Lista Dinámica\Catálogo" y "Lista Dinámica\Número" en una fecha determinada.

Sintaxis

F.MATRIXREFVALUE (<matriz>{, <fecha>})

  • matriz – cadena con el código de la matriz de transformación tipo "Lista Dinámica\Catálogo" o "Lista Dinámica\Número"
  • fecha – campo opcional con la fecha para la cual se toma la versión de la matriz (si no se especifica, se toma el valor de fecha del campo DateOper)
Ejemplo

F.MATRIXREFVALUE ('CortePresupuestario') o F.MATRIXREFVALUE ('CortePresupuestario', DateOper)

Registra en los datos del indicador, en el campo de referencia al catálogo "Corte presupuestario", una referencia al valor del catálogo que será calculado por la matriz de transformación con código "CortePresupuestario" en la fecha del valor del indicador

Asistente de configuración de escenarios de importación

Descripción

La función F.STR devuelve la representación en cadena del número

Sintaxis

F.STR(float <expresión>)

  • expresión – expresión que se necesita convertir en cadena
Descripción

La función F.STRDATE devuelve la representación en cadena de la fecha.

Sintaxis

F.STR(float <expresión>)

  • expresión – expresión que se necesita convertir en cadena
Descripción

La función F.LTRIM elimina los espacios en blanco a la izquierda de una cadena.

Sintaxis

F.LTRIM(string <expresión>)

  • expresión – cadena en la cual es necesario recortar los espacios en blanco de la izquierda
Descripción

La función F.RTRIM elimina los espacios en blanco a la derecha de una cadena.

Sintaxis

F.RTRIM (string <expresión>)

  • expresión – cadena en la cual es necesario recortar los espacios en blanco de la derecha
Descripción

La función F.TRIM elimina los espacios en blanco a la izquierda y a la derecha de una cadena.

Sintaxis

F.TRIM(string <expresión>)

  • expresión – cadena en la cual es necesario recortar los espacios en blanco de ambos extremos
Descripción

La función F.HI convierte el valor de la cadena a mayúscuals.

Sintaxis

F.HI(string <expresión>)

  • expresión – cadena cuyos valores deben convertirse a mayúsculas
Descripción

La función F.LO convierte el valor de la cadena a minúsculas.

Sintaxis

F.LO(string <expresión>)

  • expresión – cadena cuyos valores deben convertirse a minúsculas
Descripción

La función F.REPLACE reemplaza en la cadena (parámetro 1) el primer valor (parámetro 2) por el segundo valor (parámetro 3).

Sintaxis

F.REPLACE(string <expresión1>, string <expresión2>, string <expresión3>)

  • expresión1 – cadena en la cual se realiza el reemplazo
  • expresión2 – cadena/valor a reemplazar
  • expresión3 – cadena/valor por el cual se realiza el reemplazo
Descripción

La función F.GROUPSUM realiza la sumatoria de valores del campo numérico especificado según la agrupación de campos indicada. La especificación de la agrupación de campos es opcional; en este caso se tomará la suma de todo el conjunto de datos.

Sintaxis

F.GROUPSUM(float <expresión>, {<argumento1>, ..., <argumentoN>})

  • expresión – campo numérico cuyos valores se suman
  • parámetro opcional de agrupación de campos – campos según los cuales se realiza la sumatoria
Descripción

La función F.TSUM realiza la sumatoria de valores del campo numérico especificado según la condición indicada. La especificación de la condición no es obligatoria; en este caso se tomará la suma de todos los valores de los campos enumerados.

Sintaxis

F.TSUM(float <expresión>{,float <expresión1>, ..., float <expresiónN>})

  • expresión – campo numérico cuyos valores se suman o fórmula según la cual se realiza el cálculo del número para la sumatoria
Ejemplo

Para la sumatoria de:

  • valores del campo "A" (4)
  • valores de los campos "A" y "B" (5)
  • valores del campo "A", cuyo parámetro es "P1" (6)
ABParámetroF. TSUM (A)F. TSUM (A, B)F. SUM ( F.IF (Parámetro = 'P1' , А, 0)
123456
15,001,00P145,0051,0025,00
20.002,00P45,0051,0025,00
10,003,00P145,0051,0025,00
Descripción

La función F.DIST realiza la distribución con la precisión especificada (parámetro 1) para la suma dada (parámetro 2) según el valor del peso (parámetro 3).

Sintaxis

F.DIST(int <expresión1>, float <expresión2>, float <expresión3>)

  • expresión1 – número entero de 0 a 16 - cantidad de dígitos después del punto decimal para el delta (error) entre el valor del parámetro 2 y la suma del producto del parámetro 3 (coeficiente de distribución para la fila de datos) por el valor del parámetro 2 (suma total para todas las filas de datos)
  • expresión2 – número o parámetro (variable) que define el número total (suma) a distribuir
  • expresión3 – variable o fórmula según la cual se calcula el coeficiente para la fila de datos
Ejemplo

En el campo calculado (4) se calcula la proporción de la cantidad de empleados de cada departamento (1) en la cantidad total de empleados de la empresa (3).

La suma de todos los valores de la columna (4) debe ser igual a 1, pero debido a la gran cantidad de filas con valores y sumas pequeñas (1), debido a los redondeos podemos obtener una suma no igual a 1.

Es necesario calcular el delta entre 1 y la suma obtenida (4) y distribuirla proporcionalmente en cada valor por fila (4).

АParámetroF. TSUM (A)А/BF.DIST(5, 1, А/B )
12345
20,00Depto 111 565,000,00177746178…0,00177746178…
5,00PDepto 211 565,000,00177746178…
...P1Depto N11 565,00...
Suma11 565,000,99...1,00000

La función F.DIST(5, 1, A/B) calculará la suma de los valores A/B, la comparará con 1 y la diferencia faltante la distribuirá proporcionalmente por filas (5). La suma de los valores (5) la comparará con 1. Si la suma obtenida (5) con precisión de 5 dígitos después del punto decimal no alcanza el 1 necesario, entonces calculará la diferencia y nuevamente la distribuirá proporcionalmente por fila. Y así sucesivamente hasta que la suma obtenida de los valores (5) sea igual a 1.

Funciones de Mapas KPI

Descripción

La función F.VARISENABLED devuelve VERDADERO, si la variable especificada de la fila está incluida en el cálculo del mapa KPI. De lo contrario - FALSO

Sintaxis

F.VARISENABLED(<variable>)

  • variable – variable de celda del Mapa KPI
Ejemplo

F.VARISENABLED(<H1>)

Devuelve 1 (verdadero), si la variable de la fila participa en el cálculo.

De lo contrario, devuelve 0 (falso).

Parámetros

  • paso del período año
  • paso del período hora

– Paso actual del período

– Paso de período día

– inicio del período

– fin del período

– paso de período del reporte

– paso de período semana