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 ou Item2 a 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. |
||
Time |
DateTime |
DateTime |
1 |
Valeur datetime de laquelle l'heure doit être extraite. Retourne l'heure, la minute et la seconde à partir d'une valeur datetime. |
Return |
Time |
Heure extraite de la valeur datetime. |
||
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 ou Time |
1 |
Date ou heure dont l'heure est extraite. |
Return |
Integer |
Heure (0 à 23) de la date et de l'heure. |
||
Minute |
DateTime |
DateTime ou Time |
1 |
Date ou heure dont la minute est extraite. |
Return |
Integer |
Minute (0 à 59) de la date et de l'heure. |
||
Second |
DateTime |
DateTime ou Time |
1 |
Date ou heure 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. Si la formule calcule la différence entre une heure de début et une heure de fin, l'unité d'intervalle peut être uniquement HOUR, MINUTE ou SECOND. |
Start |
DateTime ou Time |
1 |
Date ou heure de début. |
|
End |
DateTime ou Time |
1 |
Date ou heure de fin. Doit avoir le même type de données que l'heure de début. |
|
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 ou d'heures est exprimé. Doit prendre l'une des valeurs suivantes : Year, Quarter, Month, Day, Hour, Minute, Second ou Week. Doit être un littéral. Si la formule ajoute plusieurs unités d'intervalles de temps à une heure de début, l'unité d'intervalle peut être uniquement HOUR, MINUTE ou SECOND. |
Number |
Integer |
1 |
Nombre d'unités d'Interval à ajouter à la date ou à l'heure. |
|
DateTime |
DateTime ou Time |
1 |
Date ou heure à laquelle ajouter les unités. |
|
Return |
DateTime |
Date ou heure résultant de l'ajout à la date ou à l'heure initiale du nombre spécifié d'unités d'Interval. Doit avoir le même type de données que le champ de date et heure ou d'heure de début d'origine. |
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. |