Cumuls (model)
(→Définition des conditions) |
(→Définition des attributs critères) |
||
(9 révisions intermédiaires par un utilisateur sont masquées) | |||
Ligne 21 : | Ligne 21 : | ||
{{#images:image1.png|dsm/modele/cumul}} | {{#images:image1.png|dsm/modele/cumul}} | ||
− | {{#images: | + | {{#images:image2a.png|dsm/modele/cumul}} |
====Définitions des attributs calculés==== | ====Définitions des attributs calculés==== | ||
− | {{#images: | + | {{#images:image3a.png|dsm/modele/cumul}} |
*Attributs cumulés | *Attributs cumulés | ||
:Ce sont les attributs de la classe cumul qui reçoivent les valeurs cumulées. Ces attributs doivent être de '''type sérialisé'''. | :Ce sont les attributs de la classe cumul qui reçoivent les valeurs cumulées. Ces attributs doivent être de '''type sérialisé'''. | ||
+ | |||
*Attribut sources | *Attribut sources | ||
:Ce sont les attributs de la classe source qui doivent être cumulés. | :Ce sont les attributs de la classe source qui doivent être cumulés. | ||
+ | |||
*Opérations | *Opérations | ||
:Ce sont les opérations effectuées sur les attributs sources. | :Ce sont les opérations effectuées sur les attributs sources. | ||
Ligne 49 : | Ligne 51 : | ||
Pour chacun de ces critères vous devez définir une correspondance dans la classe cumulée. | Pour chacun de ces critères vous devez définir une correspondance dans la classe cumulée. | ||
− | + | [[image:cumul-propbind-1.png]] | |
* Attribut de la classe cumul | * Attribut de la classe cumul | ||
Ligne 57 : | Ligne 59 : | ||
: Il s'agit de l'attribut dans la classe cumulée sur lequel est réalisé le regroupement. | : Il s'agit de l'attribut dans la classe cumulée sur lequel est réalisé le regroupement. | ||
− | * Opérateur de date | + | * Opérateur de date {{Version650}} |
: Si l'attribut de la classe cumul est de type Datetime il est possible de définir un opérateur pour retourner une partie de cette date. Dans ce cas l'attribut de la classe cumul doit être de type Entier. | : Si l'attribut de la classe cumul est de type Datetime il est possible de définir un opérateur pour retourner une partie de cette date. Dans ce cas l'attribut de la classe cumul doit être de type Entier. | ||
− | * | + | * Value nulle. {{Version710}} |
− | + | {|class="wikitable" | |
+ | |- | ||
+ | !Valeur | ||
+ | !Usage | ||
+ | !Version antérieure | ||
+ | |- | ||
+ | |Erreur | ||
+ | |La valeur ne doit pas être nulle, une erreur est levée. | ||
+ | |Facultatif = Non | ||
+ | |- | ||
+ | |Ignorer | ||
+ | |La valeur peut être nulle et le cumul sera ignoré. | ||
+ | |Facultatif = Oui | ||
+ | |- | ||
+ | |Accepter | ||
+ | |La valeur peut être nulle et le cumul sera appliqué. | ||
+ | | | ||
+ | |} | ||
====Définition des conditions==== | ====Définition des conditions==== | ||
Ligne 68 : | Ligne 87 : | ||
{{tip|Un objet est cumulé que si la valeur de tous les critères est non nulle, excepté pour un rôle si il est défini comme facultatif.}} | {{tip|Un objet est cumulé que si la valeur de tous les critères est non nulle, excepté pour un rôle si il est défini comme facultatif.}} | ||
− | + | [[image:cumul-conditions-1.png]] | |
* Attribut boolean devant être vrai. | * Attribut boolean devant être vrai. | ||
Ligne 75 : | Ligne 94 : | ||
* Condition sur l'objet source | * Condition sur l'objet source | ||
: L'objet n'est cumulé que si la valeur retournée par l'expression est True. | : L'objet n'est cumulé que si la valeur retournée par l'expression est True. | ||
+ | |||
+ | {{tip|Cette expression doit être constante car elle n'est évaluée que sur les valeurs courantes des propriétés de la classe cumulée (et pas sur les valeurs d'origine avant modification).}} | ||
+ | |||
+ | * Gérer ce cumul en mode cluster | ||
+ | : Voir [[Cumul_cluster_(Modèle)|gestion des cumuls en en mode cluster]] | ||
====Requête d'initialisation du cumul==== | ====Requête d'initialisation du cumul==== | ||
Ligne 80 : | Ligne 104 : | ||
Cet onglet affiche la requête d'initialisation du cumul que le framework exécutera. | Cet onglet affiche la requête d'initialisation du cumul que le framework exécutera. | ||
− | {{#images: | + | {{#images:image6a.png|dsm/modele/cumul}} |
+ | |||
+ | {{IfLatest| | ||
+ | ====Cumul conditionné==== | ||
+ | Il est possible de conditionner la prise en compte du cumul par une méthode de classe de la classe cumul. | ||
+ | |||
+ | [[image:cumul-enabled.png]] | ||
+ | |||
+ | La méthode doit retourner une valeur booléenne à True ou False. | ||
+ | |||
+ | Si la valeur est False le cumul est désactivé. | ||
+ | |||
+ | {{warning|Cette méthode n'est évaluer qu'une fois par cumul, la valeur de retour doit donc être statique et correspond à l'activation du cumul dans le contexte de l'application}} | ||
+ | {{tip|Si la méthode n'est pas une méthode de classe ou ne retourne pas une valeur booléenne elle sera ignorée et le cumul sera activé.}} | ||
+ | }} | ||
+ | Voir aussi: | ||
+ | * [[Cumul cluster (Modèle)|Cumul cluster]] | ||
{{Footer|Modèle}} | {{Footer|Modèle}} | ||
[[category:Modèle]] | [[category:Modèle]] |
Version actuelle en date du 18 septembre 2017 à 14:24
Sommaire |
Introduction
Les cumuls offrent le support pour réaliser de manière efficace des cumuls de valeurs numériques.
La définition d’un cumul met en œuvre plusieurs éléments :
- Une classe cumulée (source) qui contient :
- Les attributs numériques devant être cumulés.
- Les attributs servant de critères de regroupement.
- Les conditions, optionnelles, permettant de contrôler la mise à jour des cumuls.
- Une classe cumul (destination) qui contient :
- La définition des cumuls.
- Les attributs numériques recevant les cumuls des attributs cumulés. Ces attributs doivent être définis comme en utilisant des types de données « sérialisés ».
- Les attributs recevant les critères de regroupement.
La définition d’un cumul consiste à définir les relations entre ces différents éléments.
A chaque mise à jour d'un objet sur lequel porte des cumuls le framework se charge de mettre à jour automatiquement les classes contenant les cumuls.
Création d'un cumul
Pour ajouter un cumul à une classe, sélectionnez la classe destination dans le concepteur de modèle et cliquez droit. Dans le menu contextuel cliquez sur Ajouter un cumul.
Définitions des attributs calculés
- Attributs cumulés
- Ce sont les attributs de la classe cumul qui reçoivent les valeurs cumulées. Ces attributs doivent être de type sérialisé.
- Attribut sources
- Ce sont les attributs de la classe source qui doivent être cumulés.
- Opérations
- Ce sont les opérations effectuées sur les attributs sources.
Deux opérations sont disponibles :
- Addition : l'attribut cumulé est la somme des attributs sources.
- Soustraction : l'attribut cumulé est la différence des attributs sources.
Pour ajouter un nouvel attribut cumulé, dans l’onglet Calculés appuyer sur la touche INSER et pour supprimer un attribut cumulé appuyer sur la combinaison de touches CTRL + SUPPR.
Définition des attributs critères
Les attributs critères déterminent le regroupement d'objets de la classe cumulée qui réalisera le cumul.
Tip : Dans une analogie avec un agrégat SQL ces critères correspondent au Group By de la requête SQL |
Les attributs critères sont composés de tous les attributs de la classe cumul qui ne sont pas des attributs numériques.
Pour chacun de ces critères vous devez définir une correspondance dans la classe cumulée.
- Attribut de la classe cumul
- Il s'agit de l'attribut dans la classe cumul recevant la valeur de regroupement
- Attribut de la classe cumulée
- Il s'agit de l'attribut dans la classe cumulée sur lequel est réalisé le regroupement.
- Opérateur de date
- Si l'attribut de la classe cumul est de type Datetime il est possible de définir un opérateur pour retourner une partie de cette date. Dans ce cas l'attribut de la classe cumul doit être de type Entier.
- Value nulle.
Valeur | Usage | Version antérieure |
---|---|---|
Erreur | La valeur ne doit pas être nulle, une erreur est levée. | Facultatif = Non |
Ignorer | La valeur peut être nulle et le cumul sera ignoré. | Facultatif = Oui |
Accepter | La valeur peut être nulle et le cumul sera appliqué. |
Définition des conditions
On peut affiner le fonctionnement des cumuls par des conditions d'application sur l’objet source.
Tip : Un objet est cumulé que si la valeur de tous les critères est non nulle, excepté pour un rôle si il est défini comme facultatif. |
- Attribut boolean devant être vrai.
- L'objet n'est cumulé que si la valeur de cet attribut est True.
- Condition sur l'objet source
- L'objet n'est cumulé que si la valeur retournée par l'expression est True.
Tip : Cette expression doit être constante car elle n'est évaluée que sur les valeurs courantes des propriétés de la classe cumulée (et pas sur les valeurs d'origine avant modification). |
- Gérer ce cumul en mode cluster
Requête d'initialisation du cumul
Cet onglet affiche la requête d'initialisation du cumul que le framework exécutera.
Voir aussi:
— Modèle — Développement DSM —