Funciones de Visual Basic

Hay una gran cantidad de funciones de Visual Basic (VB) que pueden utilizarse en SunSystems Reporting Services. A continuación se ofrece un ejemplo de los tipos de funciones disponibles:

  • General
  • Fecha
  • Decisión

Funciones generales

Estas son las funciones y operadores generales que suelen utilizarse:

Función general de VB Descripción
ABS(Expression) Devuelve el valor absoluto de una expresión.
MOD Puede utilizar la expresión RowNumber(Nothing) MOD 2 para determinar las filas pares e impares del grupo de datos.
MID, LEFT, RIGHT, LEN y TRIM Son funciones que manipulan datos textuales.
LCASE, UCASE Los valores para convertir cadenas a minúscula y mayúscula.
FORMAT(Expression, "Standard") Esto formatea una cadena numérica convirtiéndola en formato numérico.
CSTR, CDATE, CDBL Convierte expresiones a cadena, fecha o doble numérico.
Nota: Podría ser necesario convertir una instrucción IF completa que se espera devuelva un valor numérico incluyendo la instrucción IF en una función CDBL.
ME.Value Esta expresión devuelve el valor actual de una casilla de texto y es útil en Visibilidad o en la expresión Formateo condicional cuando la condición depende del valor de la casilla de texto.

Funciones de fecha

Las funciones de fecha son las utilizadas más habitualmente:

Funciones de fecha Descripción
DAY(Date) Devuelve un valor entero entre 1 y 31 que representa el día del mes.
MONTH(Date) Devuelve un valor entero entre 1 y 12 que representa el mes.
MONTHNAME(Date) Devuelve el nombre del mes, por ejemplo septiembre.
WEEKDAY(Date) Devuelve un valor entero entre 1 y 7 donde 1 representa el domingo y 7 el sábado.
WEEKDAYNAME(Date) Devuelve el nombre del día de la semana, por ejemplo martes.
YEAR(Date) Devuelve un valor entero entre 1 y 9999 que representa el año de la fecha especificada.
DATEPART("interval", Date) Devuelve un valor entero que contiene el componente especificado de un valor de fecha concreto para el intervalo:
  • d: Día (del mes)
  • y: Día (del año)
  • h: Hora
  • n: Minuto
  • m: Mes
  • q: Trimestre
  • s: Segundo
  • w: Semana (día de la semana)
  • ww: Semana de calendario (mes del año, 1-53)
  • yyyy: Año
DATEADD("interval", number, Date) Esto devuelve un valor de Fecha contiene un valor de fecha y hora al que se añadido un intervalo de tiempo específico. Dicho intervalo es:
  • d: Día, truncado a un valor integral
  • y: Día, (del año) truncado a un valor integral
  • h: Hora, redondeo a la milésima de segunda más cercana
  • n: Minuto, redondeo a la milésima de segunda más cercana
  • m: Mes, truncado a un valor integral
  • q: Trimestre, truncado a un valor integral
  • s: Segundo, redondeo a la milésima de segunda más cercana
  • w: Día, (del año) truncado a un valor integral
  • ww: Día, (del año) truncado a un valor integral
  • yyyy: Año, truncado a un valor integral
DATEDIFF("interval", Date1, Date2) El resultado es un valor que especifica la diferencia entre Fecha 2 y Fecha 1 en unidades de intervalo temporales
  • d: Día
  • y: Día (del año, se trata como Día)
  • h: Hora
  • n: Minuto
  • m: Mes
  • q: Trimestre
  • s: Segundo
  • w: Semana
  • ww: Semana de calendario anual (utiliza el primer día de la semana)
DATESERIAL(Year, Month, Day) Donde
  • Year es obligatorio. Expresión de números enteros entre 1 y 9999. Sin embargo se aceptan también valores por debajo de este rango. Si el año se encuentra entre 0 y 99, se interpreta como entre 1930 y 2029. Si el año es menor que 1, se deduce del año actual.
  • Month es obligatorio. Expresión de números enteros entre 1 y 12. Sin embargo se aceptan también valores fuera de este rango. El valor Month se compensa con 1 y se aplica a enero del año calculado. En otras palabras (Month - 1) se añade a enero. El año se vuelve a calcular si es necesario. El siguiente resultado ilustra este efecto:
    • Si Month es 1, el resultado es enero del año calculado.
    • Si Month es 0, el resultado es diciembre del año anterior.
    • Si Month es -1, el resultado es noviembre del año anterior.
    • Si Month es 13, el resultado es enero del año siguiente.
  • Day requerido. Expresión de números enteros entre 1 y 31. Sin embargo se aceptan también valores fuera de este rango. El valor Day se compensa con 1 y se aplica al primer día del año calculado. En otras palabras (Day - 1) se añade al primer día del mes. El mes del año se vuelve a calcular si es necesario. El siguiente resultado ilustra este efecto:
    • Si Day es 1, el resultado es el primer día del mes calculado.
    • Si Day es 0, el resultado es el último día del mes calculado.
    • Si Day es -1, el resultado es el penúltimo día del mes calculado.
    • Si Day rebasa el fin del mes actual, el resultado es el día apropiado del mes siguiente. Por ejemplo, si Month es 4 y Day 31, el resultado es 1 de mayo.

La expresión siguiente también devuelve uno de los tres valores basados en el valor del marcador, pero utiliza la función Switch, la cual devuelve el valor asociado a la primera expresión en una serie que evalúa a TRUE:

=Switch(Fields!Marker.Value >= 7, "Green", Fields!Marker.Value >= 5, "Amber", Fields!Marker.Value < 5, "Red")

Usar expresiones con contadores

El recurso Contadores de informe le permite utilizar una expresión para especificar un número de inicio al comienzo del informe ejecutado e incrementar este número según se van procesando documentos. Especifique si el número inicial puede introducirse en tiempo de ejecución como un parámetro o bien extraerse de un valor de campo de datos.

Puede incrementar un contador basado en el cambio de un valor y especificar que se aplica donde se especifican filtros en tiempo de ejecución.

Cuando se crean contadores se pueden añadir al informe. Seleccione Ver > Campos especiales para ver los contadores disponibles en el explorador de Campos especiales y arrastrar y colocar los contadores que necesite en el informe.