Funzioni di Visual Basic

In SunSystems Reporting Services è possibile utilizzare numerose funzioni di Visual Basic (VB). Ad esempio, i tipi di funzioni utilizzabili comprendono:

  • Generale
  • Data
  • Funzioni di decisione

Funzioni generali

Le seguenti funzioni e operatori generali sono comunemente usati:

Funzione generale di Visual Basic Descrizione
ABS(Expression) Restituisce il valore assoluto di un'espressione.
MOD È possibile utilizzare l'espressione RowNumber(Nothing) MOD 2 per stabilire le righe pari e dispari di un gruppo di dati.
MID, LEFT, RIGHT, LEN e TRIM Si tratta di funzioni stringa che gestiscono dati testuali.
LCASE, UCASE Tali funzioni sono usate per convertire i valori delle stringhe in lettere minuscole o maiuscole.
FORMAT(Expression, "Standard") Tale funzione formatta una stringa numerica nel formato numerico standard.
CSTR, CDATE, CDBL Tali funzioni convertono le espressioni in una stringa, in una data o in un valore numerico doppio.
Nota: Spesso può essere necessario convertire un'istruzione IF complessa che restituisce un valore numerico inserendo l'istruzione IF in una funzione CDBL
ME.Value Tale espressione restituisce il valore corrente della casella di testo ed è utile in un’espressione di tipo Visibilità o Formattazione condizionale quando la condizione dipende dal valore della casella di testo.

Funzioni di data

Le funzioni di data più comuni sono:

Funzioni di data Descrizione
DAY(Date) Restituisce un numero intero compreso tra 1 e 31 che rappresenta il giorno del mese.
MONTH(Date) Restituisce un valore intero compreso tra 1 e 12 che rappresenta il mese.
MONTHNAME(Date) Restituisce il nome del mese, ad esempio settembre.
WEEKDAY(Date) Restituisce un valore intero compreso tra 1 (che rappresenta la domenica) e 7 (che rappresenta il sabato).
WEEKDAYNAME(Date) Restituisce il nome del giorno della settimana, ad esempio martedì.
YEAR(Date) Restituisce un numero intero compreso tra 1 e 9999, che rappresenta l'anno dalla data specificata.
DATEPART("interval", Date) Restituisce un valore intero che comprende il componente specificato di un determinato valore Data in cui l'intervallo è:
  • d: Giorno (del mese)
  • y: Giorno (dell'anno)
  • h: Ora
  • n: Minuto
  • m: Mese
  • q: Trimestre
  • s: Secondo
  • w: Giorno della settimana
  • ww: Settimana di calendario (settimana dell'anno, 1-53)
  • yyyy: Anno
DATEADD("interval", number, Date) Restituisce una data contenente un valore di data e ora a cui è stato aggiunto un intervallo di tempo specifico, in cui l'intervallo è:
  • d: Giorno, troncato a valore integrale
  • y: Giorno (dell'anno), troncato a valore integrale
  • h: Ora, troncata al millisecondo più prossimo
  • n: Minuto, troncato al millisecondo più prossimo
  • m: Mese, troncato a valore integrale
  • q: Trimestre, troncato a valore integrale
  • s: Secondo, troncato al millisecondo più prossimo
  • w: Giorno (della settimana), troncato a valore integrale
  • ww: Settimana (dell'anno), troncata a valore integrale
  • yyyy: Anno, troncato a valore integrale
DATEDIFF("interval", Date1, Date2) Restituisce un valore lungo che indica la differenza tra Date2 e Date1 nelle unità dell’intervallo temporale, in cui l'intervallo è:
  • d: Giorno
  • y: Giorno (dell'anno, considerato come giorno)
  • h: Ora
  • n: Minuto
  • m: Mese
  • q: Trimestre
  • s: Secondo
  • w: Settimana
  • ww: Settimana di calendario (a partire dal primo giorno della settimana)
DATESERIAL(Year, Month, Day) Legenda
  • il valore Year è obbligatorio. Espressione intera da 1 a 9999. Tuttavia, sotto accettabili anche valori al di sotto di questo intervallo. Se il valore di Year è compreso tra 0 e 99, viene interpretato come compreso tra 1930 e 2029. Se è inferiore a 1, viene sottratto dall'anno corrente
  • il valore Month è obbligatorio. Espressione intera da 1 a 12. Tuttavia, sotto accettabili anche valori al di fuori di questo intervallo. Il valore di Month è preceduto da 1 e viene applicato al mese di gennaio dell'anno calcolato. Ovvero, (Month - 1) viene aggiunto a gennaio. Se necessario, l'anno viene ricalcolato. I seguenti risultati illustrano questo effetto:
    • se Month è 1, il risultato è gennaio dell'anno calcolato
    • se Month è 0, il risultato è dicembre dell'anno precedente
    • se Month è -1, il risultato è novembre dell'anno precedente
    • se Month è 13, il risultato è gennaio dell'anno seguente
  • Il valore Day è obbligatorio. Espressione intera da 1 a 31. Tuttavia, sotto accettabili anche valori al di fuori di questo intervallo. Il valore di Day è preceduto da 1 e viene applicato al primo giorno del mese calcolato. Ovvero, (Day - 1) viene aggiunto al primo del mese. Se necessario, l'anno e il mese vengono ricalcolati. I seguenti risultati illustrano questo effetto:
    • se Day è 1, il risultato è il primo giorno del mese calcolato
    • se Day è 0, il risultato è l'ultimo giorno del mese precedente
    • se Day è -1, il risultato è il penultimo giorno del mese precedente
    • se Day è successivo alla fine del mese corrente, il risultato è il giorno corretto del mese successivo. Ad esempio, se Month è 4 e Day è 31, il risultato è May 1

Anche la seguente espressione restituisce uno dei tre valori basati sul valore dell'indicatore, tuttavia utilizza la funzione Switch, che restituisce il valore associato alla prima espressione in una serie valutata come TRUE.

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

Utilizzo delle espressioni con i contatori

La funzionalità Contatori report consente di utilizzare un'espressione per specificare un numero iniziale all'avvio dell'esecuzione del report, che verrà progressivamente incrementato man mano che i documenti vengono elaborati. Specificare se si desidera immettere il numero iniziale al momento dell'esecuzione come parametro o se deve essere ricavato dal valore di un campo dati.

È possibile incrementare un contatore in base alla modifica del valore di un campo e utilizzarlo soltanto

nel caso in cui vengano applicati filtri specifici al momento dell'esecuzione. Selezionare Visualizza > Campi speciali per visualizzare i contatori disponibili nel browser Campi speciali e trascinare il contatore desiderato sul report.