Share via


Fonctions du Générateur de modèles

Vous pouvez utiliser les fonctions du Générateur de modèles de rapport pour calculer de nouveaux attributs. Par exemple, supposons que vous souhaitiez connaître les ventes totales par commande. Ce chiffre englobe le montant des ventes et la taxe acquittée pour la commande. À l'aide de la fonction Add, vous pouvez ajouter chaque total de ventes à la taxe acquittée pour chaque commande. La liste ci-après décrit les fonctions disponibles, leurs contraintes et leurs comportements.

Fonctions scalaires

Les fonctions scalaires vous permettent d'effectuer des calculs sur un seul argument afin de retourner une nouvelle valeur unique pour un champ.

Nom de la fonction Argument DataType Cardinalité Description

Add

Item1

Numeric

1

Premier élément à ajouter.

Item2

Numeric

1

Second élément à ajouter.

Return

Le type est Float si l'un des éléments est de type Float ; il est Decimal si l'un des éléments est de type Decimal ; sinon, il est Integer.

Subtract

Item1

Numeric

1

Élément à partir duquel effectuer la soustraction.

Item2

Numeric

1

Élément à soustraire.

Return

Le type est Float si l'un des éléments est de type Float ; il est Decimal si l'un des éléments est de type Decimal ; sinon, il est Integer.

Multiply

Item1

Numeric

1

Premier élément à multiplier.

Item2

Numeric

1

Second élément à multiplier.

Return

Le type est Float si l'un des éléments est de type Float ; il est Decimal si l'un des éléments est de type Decimal ; sinon, il est Integer.

Divide

Item1

Numeric

1

Élément à diviser.

Item2

Numeric

1

Élément par lequel diviser.

Return

Le type est Float si l'un des éléments est de type Float ; sinon, il est Decimal.

Power

Base

Numeric

1

Base à élever à une puissance.

Exponent

Numeric

1

Exposant.

Return

Le type est Float si l'un des éléments est de type Float ; il est Decimal si l'un des éléments est de type Decimal ; sinon, il est Integer.

Negate

Item

Numeric

1

Élément à inverser.

Return

Le type est le même que l'élément.

Mod

Item1

Integer

1

Élément à diviser.

Item2

Integer

1

Élément par lequel diviser.

Return

Integer

Reste de la division.

Equals

Item1

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

1

Premier élément à comparer.

Item2

1

Second élément à comparer. Item1 et Item2 doivent être du même type de données.

Return

Boolean

Indique si les éléments sont les mêmes.

NotEquals

Item1

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

1

Premier élément à comparer.

Item2

1

Second élément à comparer. Item1 et Item2 doivent être du même type de données.

Return

Boolean

Indique si les éléments ne sont pas les mêmes.

GreaterThan

Item1

DateTime, Integer, Decimal, Float ou String

1

Premier élément à comparer.

Item2

1

Second élément à comparer. Item1 et Item2 doivent être du même type de données.

Return

Boolean

Indique si le premier élément est supérieur au second élément.

GreaterThanOrEquals

Item1

DateTime, Integer, Decimal, Float ou String

1

Premier élément à comparer.

Item2

1

Second élément à comparer. Item1 et Item2 doivent être du même type de données.

Return

Boolean

Indique si le premier élément est supérieur ou égal au second élément.

LessThan

Item1

DateTime, Integer, Decimal, Float ou String

1

Premier élément à comparer.

Item2

1

Second élément à comparer. Item1 et Item2 doivent être du même type de données.

Return

Boolean

Indique si le premier élément est inférieur au second élément.

LessThanOrEquals

Item1

DateTime, Integer, Decimal, Float ou String

1

Premier élément à comparer.

Item2

1

Second élément à comparer. Item1 et Item2 doivent être du même type de données.

Return

Boolean

Indique si le premier élément est inférieur ou égal au second élément.

And

Item1

Boolean

1

Première condition.

Item2

Boolean

1

Seconde condition. Si Item1 a la valeur False, Item2 n'est pas évalué.

Return

Boolean

Si Item1 et Item2 ont la valeur true, la valeur de retour est true.

Or

Item1

Boolean

1

Première condition.

Item2

Boolean

1

Seconde condition. Si Item1 a la valeur true, Item2 n'est pas évalué.

Return

Boolean

Si Item1 et Item2 ont la valeur true, la valeur de retour est true.

Not

Item

Boolean

1

Condition à inverser.

Return

Boolean

Si Item a la valeur false, la valeur de retour est true.

Truncate

Item

Decimal ou Float

1

Élément à tronquer.

Digits

Integer

1

Nombre de chiffres décimaux auxquels l'élément doit être tronqué. Par exemple, spécifiez trois pour tronquer l'élément après le troisième chiffre à droite de la virgule.

Return

Le type de la valeur de retour est le même que l'élément tronqué.

Round

Item

Decimal ou Float

1

Élément à arrondir.

Digits

Integer

1

Nombre de chiffres décimaux auxquels l'élément doit être arrondi. Par exemple, spécifiez trois pour arrondir l'élément au troisième chiffre à droite de la virgule.

Return

Le type de la valeur de retour est le même que l'élément arrondi.

Integer

Item

Numeric ou String

1

Élément pour lequel effectuer un cast. Dans le Générateur de rapports, Integer est répertorié dans l'onglet Fonction sous le terme INT.

Return

Integer

Élément pour lequel un cast en tant qu'entier a été effectué. Si l'élément est une valeur numérique, il est tronqué. Les paramètres régionaux de type invariant sont utilisés pour convertir les chaînes numériques. Une virgule fait office de séparateur décimal. L'espace de séparation des milliers n'est pas autorisé.

Decimal

Item

Numeric ou String

1

Élément pour lequel effectuer un cast.

Return

Decimal

Élément pour lequel un cast en tant que décimal a été effectué.

Float

Item

Numeric ou String

1

Élément pour lequel effectuer un cast.

Return

Float

Élément pour lequel un cast en tant que valeur flottante a été effectué.

String

Item

Numeric

1

Élément pour lequel effectuer un cast. Dans le Générateur de rapports, String est répertorié dans l'onglet Fonction sous le terme TEXT.

Return

String

Élément pour lequel effectuer un cast en tant que chaîne.

Length

String

String

1

String permet de déterminer la longueur.

Return

Integer

Longueur de la chaîne, spécifiée en tant que nombre de caractères de la chaîne.

Find

String

String

1

Chaîne dans laquelle est recherchée une chaîne.

Substring

String

1

Sous-chaîne à rechercher.

Return

Integer

Position de la première instance de la sous-chaîne dans la chaîne. Si la sous-chaîne n'est pas trouvée, une valeur 0 est retournée.

Substring

String

String

1

Chaîne dont est extraite une sous-chaîne.

Start

Integer

1

Position de début dans la chaîne (à partir de 1).

Length

Integer

1

Nombre de caractères.

Return

String

Sous-chaîne extraite de la chaîne qui contient les caractères compris entre Start et Start+Length.

Left

String

String

1

Chaîne à partir de laquelle récupérer les caractères le plus à gauche.

Length

Integer

1

Nombre de caractères.

Return

String

Sous-chaîne de la chaîne qui contient les caractères compris entre 1 et Length.

Right

String

String

1

Chaîne à partir de laquelle récupérer les caractères le plus à droite.

Length

Integer

1

Nombre de caractères.

Return

String

Sous-chaîne de la chaîne comprise entre Length(String)-Length+1 et Length(String).

Concat

String1

String

1

Première chaîne à concaténer.

String2

String

1

Seconde chaîne à concaténer.

Return

String

Seconde chaîne concaténée jusqu'à la fin de la première chaîne.

Lower

String

String

1

Chaîne à convertir en minuscules.

Return

String

Chaîne dont tous les caractères majuscules sont convertis en minuscules.

Upper

String

String

1

Chaîne à convertir en majuscules.

Return

String

Chaîne dont tous les caractères minuscules sont convertis en majuscules.

LTrim

String

String

1

Chaîne à partir de laquelle supprimer les espaces à gauche.

Return

String

Chaîne dont tous les espaces à gauche sont supprimés.

RTrim

String

String

1

Chaîne à partir de laquelle supprimer les espaces à droite.

Return

String

Chaîne dont les espaces à droite sont supprimés.

Replace

String

String

1

Chaîne dans laquelle remplacer toutes les instances d'une sous-chaîne par une autre sous-chaîne.

Find

String

1

Sous-chaîne à rechercher.

Replace

String

1

Sous-chaîne qui remplace la chaîne Find.

Return

String

Chaîne dont toutes les instances de Find sont remplacées par Replace.

Date

Year

Integer

1

Année de la date.

Month

Integer

1

Mois (1 à 12) de la date.

Day

Integer

1

Jour (1 à 31) de la date, qui doit être compatible avec le mois et l'année spécifiés.

Return

DateTime

Date et heure spécifiant l'année, le mois et le jour à 00:00:00.

DateTime

Year

Integer

1

Année de la date.

Month

Integer

1

Mois (1 à 12) de la date.

Day

Integer

1

Jour (1 à 31) de la date, qui doit être compatible avec le mois et l'année spécifiés.

Hour

Integer

1

Heure (0 à 23).

Minute

Integer

1

Minute (0 à 59) de l'heure.

Second

Decimal

1

Seconde (0 à 60) de l'heure.

Return

DateTime

Date et heure spécifiant l'année, le mois, le jour, l'heure, la minute et la seconde.

Year

DateTime

DateTime

1

Date dont l'année est extraite.

Return

Integer

Année de la date.

Quarter

DateTime

DateTime

1

Date dont le trimestre est extrait.

Return

Integer

Trimestre (1 à 4) de la date.

Month

DateTime

DateTime

1

Date dont le mois est extrait.

Return

Integer

Mois (1 à 12) de la date.

Day

DateTime

DateTime

1

Date dont le jour est extrait.

Return

Integer

Jour (1 à 31) de la date.

Hour

DateTime

DateTime

1

Date dont l'heure est extraite.

Return

Integer

Heure (0 à 23) de la date et de l'heure.

Minute

DateTime

DateTime

1

Date dont la minute est extraite.

Return

Integer

Minute (0 à 59) de la date et de l'heure.

Second

DateTime

DateTime

1

Date dont la seconde est extraite.

Return

Integer

Seconde (0 à 60) de la date et de l'heure.

DayofYear

DateTime

DateTime

1

Date dont le jour de l'année est extrait.

Return

Integer

Jour de l'année (1 à 366) de la date.

Week

DateTime

DateTime

1

Date dont la semaine est extraite.

Return

Integer

Semaine (1 à 53) de la date. Le premier jour de la semaine est déterminé par le premier jour de semaine par défaut associé à la culture du modèle sémantique.

DayofWeek

DateTime

DateTime

1

Date dont le jour de la semaine est extrait.

Return

Integer

Jour de la semaine (1 à 7) de la date. Les valeurs vont de 1 (lundi) à 7 (dimanche).

Date

DateTime

DateTime

1

Date à partir de laquelle supprimer l'heure. Dans le Générateur de rapports, cette fonction Date est répertoriée dans l'onglet Fonction sous le terme DATEONLY.

Return

Integer

Date et heure dont l'heure est effacée (00:00:00).

Now

Return

DateTime

Date et heure actuelles. Now est une fonction statique.

Today

Return

DateTime

Date et heure actuelles dont l'heure est effacée (00:00:00). Today est une fonction statique.

DateDiff

Interval

String

1

Unité dans laquelle la différence de dates est exprimée. Doit prendre l'une des valeurs suivantes : Year, Quarter, Month, Day, Hour, Minute, Second ou Week. Doit être un littéral.

Start

DateTime

1

Date et heure de début.

End

DateTime

1

Date et heure de fin.

Return

Integer

Différence entre les date et heure de début et les date et heure de fin, exprimée dans la même unité que l'intervalle. Si les date et heure de début sont postérieures aux date et heure de fin, le résultat est négatif.

DateAdd

Interval

String

1

Unité dans laquelle l'ajout de dates est exprimé. Doit prendre l'une des valeurs suivantes : Year, Quarter, Month, Day, Hour, Minute, Second ou Week. Doit être un littéral.

Number

Integer

1

Nombre d'unités de Interval à ajouter aux date et heure.

DateTime

DateTime

1

Date et heure auxquelles ajouter les unités.

Return

DateTime

Date et heure issues de l'ajout aux date et heure initiales du nombre spécifié d'unités de Interval.

Fonctions d'agrégation

Les fonctions d'agrégation vous permettent de réaliser des calculs sur un ensemble de valeurs ou sur une seule valeur, puis de retourner une seule valeur pour une expression.

Nom de la fonction Argument DataType Cardinalité Description

Sum

Items

Numeric

N

Éléments à ajouter.

Return

1

Somme des valeurs de tous les éléments. La valeur de retour possède le même type de données que les éléments.

Avg

Items

Numeric

N

Éléments pour lesquels calculer la moyenne. Dans le Générateur de rapports, Avg est répertorié dans l'onglet Fonction sous le terme AVERAGE.

Return

1

Moyenne des valeurs non NULL des éléments. Le type de données est Decimal si les éléments sont de type Decimal ou Integer, sinon, il est Float.

Max

Items

DateTime, Integer, Decimal, Float ou String

N

Éléments triés afin de déterminer celui possédant la valeur maximale.

Return

1

Valeur maximale des valeurs non NULL des éléments. La valeur de retour possède le même type de données que les éléments.

Min

Items

DateTime, Integer, Decimal, Float ou String

N

Éléments triés afin de déterminer celui possédant la valeur minimale.

Return

1

Valeur minimale des valeurs non NULL des éléments. La valeur de retour possède le même type de données que les éléments.

Count

Items

N'importe lequel

N

Éléments à compter.

Return

Integer

1

Décompte des valeurs non NULL des éléments.

CountDistinct

Items

N'importe lequel

N

Éléments à compter. Le type de données des éléments ne peut pas être EntityKey.

Return

Integer

1

Décompte des différentes valeurs non NULL des éléments.

StDev

Items

Numeric

N

Éléments utilisés pour déterminer l'écart type.

Return

Float

1

Écart type des valeurs non NULL des éléments.

StDevP

Items

Numeric

N

Éléments utilisés pour déterminer l'écart type de remplissage.

Return

Float

1

Écart type de remplissage des valeurs non NULL des éléments.

Var

Items

Numeric

N

Éléments utilisés pour déterminer la variance.

Return

Float

1

Variance des valeurs non NULL des éléments.

VarP

Items

Numeric

N

Éléments utilisés pour déterminer la variance de remplissage.

Return

Float

1

Remplissage de variance des valeurs non NULL des éléments.

Fonctions d'information

Les fonctions d'information vous permettent d'obtenir des informations de base sur les utilisateurs.

Nom de la fonction Argument DataType Cardinalité Description

GetUserID

Return

String

1

ID de l'utilisateur. GetUserID est une fonction statique.

GetUserCulture

Return

Language

1

Paramètres régionaux ou langue de l'utilisateur. GetUserCulture est une fonction statique.

Autres fonctions

Outre les fonctions présentées ci-dessus, les fonctions suivantes sont utilisées dans le langage de la définition du modèle sémantique.

Nom de la fonction Argument DataType Cardinalité Description

Filter

Éléments de filtrage

N'importe lequel

N

Valeurs à filtrer. Pour filtrer des éléments, utilisez la boîte de dialogue Filtre.

Condition de filtrage

Boolean

1

Indique si l'instance correspondante doit être incluse.

Return

N

Le type de données de la valeur retournée est le même que celui des éléments du filtrage.

In

Item

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

1

Élément pour lequel l'appartenance à l'ensemble doit être vérifiée.

Set

N

Il doit s'agir d'une expression littérale dépourvue de chemin d'accès. L'élément et l'ensemble doivent posséder le même type de données.

Return

Boolean

1

Indique si l'élément se trouve dans l'ensemble.

If

Condition

Boolean

1

Condition à tester.

TrueCase

N'importe lequel

1

Valeur à retourner si la condition est vérifiée (True). Si la condition n'est pas vérifiée (False), TrueCase n'est pas évalué. Ne peut pas être un type de données EntityKey.

FalseCase

N'importe lequel

1

Valeur à retourner si la condition n'est pas vérifiée (False). FalseCase doit posséder le même type de valeur que TrueCase. Si la condition est vérifiée (True), TrueCase n'est pas évalué.

Return

1

Le type doit être le même que celui de TrueCase.

Switch

Condition1

Boolean

1

Condition à tester. Switch peut posséder plusieurs paires condition/valeur supplémentaires ou n'en avoir aucune :

Value1

N'importe lequel

1

Valeur à retourner si condition1 est vérifiée (True).

Condition/N

Boolean

1

Condition à tester. Non évaluée si une condition antérieure est vérifiée (True).

Value/N

Boolean

1

Valeur à retourner si Condition/N est vérifiée (True). Elle doit posséder le même type de données que Value1. Non évaluée si Condition/N n'est pas évaluée ou que Condition/N n'est pas vérifiée (False).

Return

Boolean

1

Le type est le même que Value1. Retourne Null si aucune des conditions n'est vérifiée (False).

Evaluate

Expression

N'importe lequel

N

Expression à évaluer. Cette fonction permet de contrôler le contexte de l'entité dans lequel une expression est évaluée. Par exemple, l'expression suivante calcule la moyenne des prix de chaque produit distinct commandé par le client :

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

L'expression suivante calcule la moyenne des prix (obtenus à partir de l'entité product) de chaque commande passée par le client :

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

Le long d'un chemin d'accès, il existe plusieurs points d'évaluation qui permettent de contrôler l'unicité d'une agrégation et autorisent plusieurs utilisations indépendantes de la fonction Evaluate. L'exemple suivant illustre plusieurs utilisations indépendantes de la fonction Evaluate dans un modèle où chaque produit peut être fabriqué par plusieurs sociétés :

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

Return

N

Le type est le même que l'expression.

Aggregate

Expression

N'importe lequel

N

Expression d'agrégation à évaluer. Cette fonction permet de contrôler le contexte de l'entité dans lequel une agrégation est évaluée. Par exemple, considérons un attribut TotalSales défini sur une entité Order. L'expression permettant d'afficher les ventes totales dans le contexte d'une commande est simplement TotalSales. L'expression qui calcule les ventes totales dans le contexte d'un client serait la suivante :

Aggregate([customer->order]TotalSales).

L'argument de l'expression doit contenir une expression non ancrée ou une ou plusieurs fonctions PASSTHROUGH imbriquées (de n'importe quel type de données), où l'argument PASSTHROUGH situé le plus à l'intérieur possède un nœud d'expression non ancré. Par exemple :

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

Return

1

Le type est le même que l'expression.

Voir aussi

Concepts

Propriétés d'objets du Concepteur de modèles
Propriétés des requêtes du Générateur de modèles
Types de données du Générateur de modèles
Utilisation des fonctions (Générateur de rapports)

Aide et Informations

Assistance sur SQL Server 2005