Compartir a través de


Funciones del Diseñador de modelos

Puede utilizar las funciones del Diseñador de modelos de informe para calcular nuevos atributos. Por ejemplo, imagine que desea saber las ventas totales por pedido de venta. Esta cifra consta del importe de venta más el impuesto pagado por el pedido. Con la función Add, puede sumar cada total de ventas al impuesto pagado por pedido de venta. En la lista siguiente se explican las funciones disponibles, sus requisitos y su comportamiento.

Funciones escalares

Las funciones escalares permiten realizar cálculos en un solo argumento para devolver un nuevo valor para un campo.

Nombre de función

Argumento

Tipo de datos

Cardinalidad

Descripción

Add

Item1

Numeric

1

Primer elemento para sumar.

Item2

Numeric

1

Segundo elemento para sumar.

Return

El tipo es Float si uno de los elementos es Float, Decimal si uno de los elementos es Decimal; de lo contrario, Integer.

Subtract

Item1

Numeric

1

Elemento del que se resta.

Item2

Numeric

1

Elemento para restar.

Return

El tipo es Float si uno de los elementos es Float, Decimal si uno de los elementos es Decimal; de lo contrario, Integer.

Multiply

Item1

Numeric

1

Primer elemento para multiplicar.

Item2

Numeric

1

Segundo elemento para multiplicar.

Return

El tipo es Float si uno de los elementos es Float, Decimal si uno de los elementos es Decimal; de lo contrario, Integer.

Divide

Item1

Numeric

1

Elemento para dividir.

Item2

Numeric

1

Elemento entre el que dividir.

Return

El tipo es Float si un elemento es Float; de lo contrario, Decimal.

Power

Base

Numeric

1

Base para elevar a una potencia.

Exponent

Numeric

1

Exponente.

Return

El tipo es Float si uno de los elementos es Float, Decimal si uno de los elementos es Decimal; de lo contrario, Integer.

Negate

Item

Numeric

1

Elemento para negar.

Return

El tipo es el mismo del elemento.

Mod

Item1

Integer

1

Elemento para dividir.

Item2

Integer

1

Elemento entre el que dividir.

Return

Integer

Resto de la división.

Es igual a

Item1

Boolean, DateTime, Integer, Decimal, Float, String o EntityKey

1

Primer elemento para comparar.

Item2

1

Segundo elemento para comparar. Item1 y Item2 deben tener el mismo tipo de datos.

Return

Boolean

Indica si los elementos son iguales.

NotEquals

Item1

Boolean, DateTime, Integer, Decimal, Float, String o EntityKey

1

Primer elemento para comparar.

Item2

1

Segundo elemento para comparar. Item1 y Item2 deben tener el mismo tipo de datos.

Return

Boolean

Indica si los elementos no son iguales.

GreaterThan

Item1

DateTime, Integer, Decimal, Float o String

1

Primer elemento para comparar.

Item2

1

Segundo elemento para comparar. Item1 y Item2 deben tener el mismo tipo de datos.

Return

Boolean

Indica si el primer elemento es mayor que el segundo.

GreaterThanOrEquals

Item1

DateTime, Integer, Decimal, Float o String

1

Primer elemento para comparar.

Item2

1

Segundo elemento para comparar. Item1 y Item2 deben tener el mismo tipo de datos.

Return

Boolean

Indica si el primer elemento es mayor o igual que el segundo.

LessThan

Item1

DateTime, Integer, Decimal, Float o String

1

Primer elemento para comparar.

Item2

1

Segundo elemento para comparar. Item1 y Item2 deben tener el mismo tipo de datos.

Return

Boolean

Indica si el primer elemento es menor que el segundo.

LessThanOrEquals

Item1

DateTime, Integer, Decimal, Float o String

1

Primer elemento para comparar.

Item2

1

Segundo elemento para comparar. Item1 y Item2 deben tener el mismo tipo de datos.

Return

Boolean

Indica si el primer elemento es menor o igual que el segundo.

And

Item1

Boolean

1

Primera condición.

Item2

Boolean

1

Segunda condición. Si Item1 es false, Item2 no se evalúa.

Return

Boolean

Si Item1 y Item2 son true, el valor devuelto es true.

Or

Item1

Boolean

1

Primera condición.

Item2

Boolean

1

Segunda condición. Si Item1 es true, Item2 no se evalúa.

Return

Boolean

Si Item1 o Item2 es true, el valor devuelto es true.

Not

Item

Boolean

1

Condición para negar.

Return

Boolean

Si Item es false, el valor devuelto es true.

Truncate

Item

Decimal o Float

1

Elemento para truncar.

Digits

Integer

1

Número de dígitos decimales en el que se debe truncar el elemento. Por ejemplo, especifique tres para truncar el elemento después del tercer dígito a la derecha del signo decimal.

Return

El tipo del valor devuelto es el mismo que el del elemento que se trunca.

Round

Item

Decimal o Float

1

Elemento para redondear.

Digits

Integer

1

Número de dígitos decimales a los que se debe redondear el elemento. Por ejemplo, especifique tres para redondear el elemento al tercer dígito a la derecha del signo decimal.

Return

El tipo del valor devuelto es el mismo que el del elemento que se redondea.

Integer

Item

Numeric o String

1

Elemento para convertir. En el Generador de informes, Integer aparece en la ficha Función como INT.

Return

Integer

Elemento convertido como Integer. Si el elemento es un valor numérico, se trunca. Tenga en cuenta que se utiliza la configuración regional invariable para convertir cadenas numéricas. El separador decimal es un punto. No se permite la coma utilizada para separar miles.

Decimal

Item

Numeric o String

1

Elemento para convertir.

Return

Decimal

Elemento convertido como Decimal.

Float

Item

Numeric o String

1

Elemento para convertir.

Return

Float

Elemento convertido como Float.

String

Item

Numeric

1

Elemento para convertir. En el Generador de informes, String aparece en la ficha Función como TEXT.

Return

String

Elemento para convertir como String.

Length

String

String

1

Cadena utilizada para determinar la longitud.

Return

Integer

Longitud de la cadena, especificada como número de caracteres de la cadena.

Find

String

String

1

Cadena en la que se busca la cadena.

Substring

String

1

Subcadena para buscar.

Return

Integer

Posición de la primera instancia de la subcadena dentro de la cadena. Si no se encuentra la subcadena, se devuelve 0.

Substring

String

String

1

Cadena de la que se extrae una subcadena.

Start

Integer

1

Posición inicial dentro de la cadena (basada en 1).

Length

Integer

1

Número de caracteres.

Return

String

Subcadena extraída de la cadena que contiene los caracteres de Start a Start+Length.

Left

String

String

1

Cadena de la que se obtienen los caracteres situados más a la izquierda.

Length

Integer

1

Número de caracteres.

Return

String

Subcadena de la cadena que contiene los caracteres de 1 a Length.

Right

String

String

1

Cadena de la que se obtienen los caracteres situados más a la derecha.

Length

Integer

1

Número de caracteres.

Return

String

Subcadena de la cadena de Length(String)-Length+1 a Length(String).

Concat

String1

String

1

Primera cadena para concatenar.

String2

String

1

Segunda cadena para concatenar.

Return

String

Segunda cadena concatenada al final de la primera cadena.

Lower

String

String

1

Cadena para poner en minúsculas.

Return

String

Cadena con todos los caracteres en mayúscula pasados a minúscula.

Upper

String

String

1

Cadena para poner en mayúsculas.

Return

String

Cadena con todos los caracteres en minúscula pasados a mayúscula.

LTrim

String

String

1

Cadena de la que quitar los espacios iniciales.

Return

String

Cadena con los espacios iniciales quitados.

RTrim

String

String

1

Cadena de la que quitar los espacios finales.

Return

String

Cadena con los espacios finales quitados.

Replace

String

String

1

Cadena en la que reemplazar todas las instancias de una subcadena por otra.

Find

String

1

Subcadena para buscar.

Replace

String

1

Subcadena que reemplaza la cadena Find.

Return

String

Cadena con todas las instancias de Find reemplazadas por Replace.

Date

Year

Integer

1

Año de la fecha.

Month

Integer

1

Mes (1-12) de la fecha.

Day

Integer

1

Día (1-31) de la fecha que debe ser un día válido del mes y año especificados.

Return

DateTime

Una fecha y hora con el año, mes y día dados a la hora 00:00:00.

DateTime

Year

Integer

1

Año de la fecha.

Month

Integer

1

Mes (1-12) de la fecha.

Day

Integer

1

Día (1-31) de la fecha que debe ser un día válido del mes y año especificados.

Hour

Integer

1

Hora (0-23) de la hora.

Minute

Integer

1

Minuto (0-59) de la hora.

Second

Decimal

1

Segundo (0-60) de la hora.

Return

DateTime

Fecha y hora con el año, mes, día, hora, minuto y segundo especificados.

Time

DateTime

DateTime

1

Fecha y hora de la que se extrae la hora. Devuelve la hora, el minuto y el segundo de un valor de fecha y hora.

Return

Time

Hora del valor de fecha y hora.

Year

DateTime

DateTime

1

Fecha de la que se extrae el año.

Return

Integer

Año de la fecha y hora.

Quarter

DateTime

DateTime

1

Fecha de la que se extrae el trimestre.

Return

Integer

Trimestre (1-4) de la fecha y hora.

Month

DateTime

DateTime

1

Fecha de la que se extrae el mes.

Return

Integer

Mes (1-12) de la fecha y hora.

Day

DateTime

DateTime

1

Fecha de la que se extrae el día.

Return

Integer

Día (1-31) de la fecha y hora.

Hour

DateTime

DateTime o Time

1

Fecha u hora de la que se extrae la hora.

Return

Integer

Hora (0-23) de la fecha y hora.

Minute

DateTime

DateTime o Time

1

Fecha u hora de la que se extrae el minuto.

Return

Integer

Minuto (0-59) de la fecha y hora.

Second

DateTime

DateTime o Time

1

Fecha u hora de la que se extrae el segundo.

Return

Integer

Segundo (0-60) de la fecha y hora.

DayofYear

DateTime

DateTime

1

Fecha de la que se extrae el día del año.

Return

Integer

Día del año (1-366) de la fecha y hora.

Week

DateTime

DateTime

1

Fecha de la que se extrae el día de la semana.

Return

Integer

Semana (1-53) de la fecha y hora. El primer día de la semana se determina por el primer día de la semana predeterminado asociado con la referencia cultural del modelo semántico.

DayofWeek

DateTime

DateTime

1

Fecha de la que se extrae el día de la semana.

Return

Integer

Día de la semana (1-7) de la fecha y hora. El valor comienza con lunes = 1 a domingo = 7.

Date

DateTime

DateTime

1

Fecha de la que se quita la hora. En el Generador de informes, esta función Date aparece en la ficha Función como DATEONLY.

Return

Integer

Fecha y hora con la hora borrada (00:00:00).

Now

Return

DateTime

Fecha y hora actuales. Now es una función estática.

Today

Return

DateTime

Fecha y hora actuales con la hora borrada (00:00:00). Today es una función estática.

DateDiff

Interval

String

1

Unidades utilizadas para especificar la diferencia de fecha. Debe ser: Year, Quarter, Month, Day, Hour, Minute, Second o Week. Debe ser de tipo Literal. Si la fórmula calcula la diferencia entre una hora de inicio y una hora de finalización, la unidad del intervalo solamente puede ser HOUR, MINUTE o SECOND.

Start

DateTime o Time

1

Fecha u hora de inicio.

End

DateTime o Time

1

Fecha u hora de finalización. Debe tener el mismo tipo de datos que la hora de inicio.

Return

Integer

Diferencia entre la fecha y hora iniciales, y la fecha y hora finales en las mismas unidades especificadas en el intervalo. Si la fecha y hora iniciales es posterior a la fecha y hora finales, el resultado es negativo.

DateAdd

Interval

String

1

Unidades utilizadas para especificar la adición de fecha o de hora. Debe ser: Year, Quarter, Month, Day, Hour, Minute, Second o Week. Debe ser de tipo Literal. Si la fórmula agrega varias unidades de intervalo de tiempo a una hora de inicio, la unidad del intervalo solamente puede ser HOUR, MINUTE o SECOND.

Number

Integer

1

Número de unidades de intervalo que hay que agregar a la fecha o a la hora.

DateTime

DateTime o Time

1

Fecha u hora a la que se va a agregar.

Return

DateTime

Fecha u hora que resulta de agregar el número especificado de unidades de intervalo a la fecha u hora original. Debe tener el mismo tipo de datos que el campo de hora o de fecha y hora de inicio original.

Funciones de agregado

Las funciones de agregado permiten realizar cálculos en varios conjuntos de valores o un solo valor, y devolver un valor para una expresión.

Nombre de función

Argumento

Tipo de datos

Cardinalidad

Descripción

Sum

Items

Numeric

N

Elementos para sumar.

Return

1

Suma de valores de todos los elementos. El valor devuelto tiene el mismo tipo de datos que los elementos.

Avg

Items

Numeric

N

Elementos de los que obtener el promedio. En el Generador de informes, Avg aparece en la ficha Función como AVERAGE.

Return

1

Promedio de los valores no Null de los elementos. El tipo de datos es Decimal si los elementos son Decimal o Integer; de lo contrario, es Float.

Max

Items

DateTime, Integer, Decimal, Float o String

N

Elementos ordenados para determinar el máximo.

Return

1

Máximo de los valores no Null de los elementos. El valor devuelto tiene el mismo tipo de datos que los elementos.

Min

Items

DateTime, Integer, Decimal, Float o String

N

Elementos ordenados para determinar el mínimo.

Return

1

Mínimo de los valores no Null de los elementos. El valor devuelto tiene el mismo tipo de datos que los elementos.

Count

Items

Cualquiera

N

Elementos para contar.

Return

Integer

1

Recuento de los valores no Null de los elementos.

CountDistinct

Items

Cualquiera

N

Elementos para contar. El tipo de datos de los elementos no puede ser EntityKey.

Return

Integer

1

Recuento de los valores no Null distintivos de los elementos.

StDev

Items

Numeric

N

Elementos utilizados para determinar la desviación estándar.

Return

Float

1

Desviación estándar de los valores no Null de los elementos.

StDevP

Items

Numeric

N

Elementos utilizados para determinar la desviación estándar de población.

Return

Float

1

Desviación estándar de población de los valores no Null de los elementos.

Var

Items

Numeric

N

Elementos utilizados para determinar la varianza.

Return

Float

1

Varianza de los valores no Null de los elementos.

VarP

Items

Numeric

N

Elementos utilizados para determinar la varianza de población.

Return

Float

1

Llenado de varianza de población no Null de los elementos.

Funciones informativas

Las funciones informativas permiten obtener información básica de los usuarios.

Nombre de función

Argumento

Tipo de datos

Cardinalidad

Descripción

GetUserID

Return

String

1

El Id. de usuario del usuario. GetUserID es una función estática.

GetUserCulture

Return

Language

1

Idioma o configuración regional del usuario. GetUserCulture es una función estática.

Otras funciones

Además de las funciones mencionadas, se utilizan las siguientes funciones en el Lenguaje de definición de modelos semánticos.

Nombre de función

Argumento

Tipo de datos

Cardinalidad

Descripción

Filter

Filter Items

Cualquiera

N

Valores que se van a filtrar. Para filtrar elementos, utilice el cuadro de diálogo Filtro.

Filter Condition

Boolean

1

Indica si se incluye la instancia correspondiente.

Return

N

El valor devuelto tiene el mismo tipo de datos que los elementos que se filtran.

In

Item

Boolean, DateTime, Integer, Decimal, Float, String o EntityKey

1

Elemento del que se comprueba la pertenencia al conjunto.

Set

N

Debe ser una expresión Literal sin ruta de acceso. El elemento y el conjunto deben tener el mismo tipo de datos.

Return

Boolean

1

Indica si el elemento está en el conjunto.

If

Condition

Boolean

1

Condición que se prueba.

TrueCase

Cualquiera

1

Valor para devolver si la condición es true. Si la condición es false, TrueCase no se evalúa. No puede tener el tipo de datos EntityKey.

FalseCase

Cualquiera

1

Valor para devolver si la condición es false. FalseCase debe tener el mismo tipo de valor que TrueCase. Si la condición es true, FalseCase no se evalúa.

Return

1

El tipo debe ser el mismo de TrueCase.

Switch

Condition1

Boolean

1

Condición que se prueba. Switch puede tener ninguno o más pares condición/valor adicionales:

Value1

Cualquiera

1

Valor para devolver si condition1 es true.

Condition/N

Boolean

1

Condición que se prueba. No se evalúa si alguna condición anterior es true.

Value/N

Boolean

1

Valor para devolver si Condition/N es true. Debe tener el mismo tipo de datos que Value1. No se evalúa si no se evalúa Condition/N o si Condition/N es false.

Return

Boolean

1

El tipo es el mismo de Value1. Devuelve Null si todas las condiciones son false.

Evaluate

Expression

Cualquiera

N

Expresión para evaluar. Esta función se utiliza para controlar el contexto de entidad en el que se evalúa una expresión. Por ejemplo, la siguiente expresión obtiene el promedio de los precios de cada producto distintivo que pidió el cliente:

Avg([customer->order->product]Price).

La siguiente expresión obtiene el promedio de los precios (obtenidos de la entidad del producto) de cada pedido que realizó el cliente:

Avg([customer->order]Evaluate([order->product]Price)).

Hay varios puntos en una ruta de acceso donde la ubicación de evaluación puede controlar la distinción de un agregado y se puede utilizar Evaluate varias veces de forma independiente. El siguiente es un ejemplo de varios usos independientes de Evaluate en un modelo donde cada producto puede ser producido por varios fabricantes:

Average([customer->order]Evaluate([order->product]Evaluate([product->manufacturer->city]population)))

Return

N

El tipo es el mismo de la expresión.

Aggregate

Expression

Cualquiera

N

Expresión de agregado para evaluar. Esta función se utiliza para controlar el contexto de entidad en el que se evalúa una agregación. Por ejemplo, considere un atributo TotalSales definido en una entidad Order. La expresión para mostrar las ventas totales en el contexto de un pedido es simple: TotalSales. La expresión para calcular las ventas totales en el contexto de un cliente debe ser:

Aggregate([customer->order]TotalSales).

El argumento de la expresión debe contener una expresión no delimitada o una o varias funciones de paso a través anidadas (que deben tomar cualquier tipo de datos), donde el argumento de paso a través más interno tiene un ExpressionNode no delimitado. Por ejemplo,

Aggregate([customer->order]Filter([order->product]Sum(UnitPrice),=(Shipped, "True")).

Return

1

El tipo es el mismo de la expresión.