Cumuls (model)

De Wiki1000
(Différences entre les versions)
(Définition des attributs critères)
(Définition des attributs critères)
 
(5 révisions intermédiaires par un utilisateur sont masquées)
Ligne 51 : 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.  
  
{{#images:image4a.png|dsm/modele/cumul}}
+
[[image:cumul-propbind-1.png]]
  
 
* Attribut de la classe cumul
 
* Attribut de la classe cumul
Ligne 59 : 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 {{tahoe}}
+
* 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.
  
* Facultatif.
+
* Value nulle. {{Version710}}
: Indique, dans le cas d'un attribut critère de type Référence, que ce critère est facultatif ; c'est à dire que l'objet sera cumulé même si cette référence n'est pas affectée.
+
{|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 70 : 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.}}
  
{{#images:image5a.png|dsm/modele/cumul}}
+
[[image:cumul-conditions-1.png]]
  
 
* Attribut boolean devant être vrai.
 
* Attribut boolean devant être vrai.
Ligne 77 : 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 84 : Ligne 106 :
 
{{#images:image6a.png|dsm/modele/cumul}}
 
{{#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.

image1.png

image2a.png

Définitions des attributs calculés

image3a.png

  • 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-20px.png 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.

Cumul-propbind-1.png

  • 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 version650-32x32.png
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-32x32.png
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-20px.png 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.

Cumul-conditions-1.png

  • 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-20px.png 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 gestion des cumuls en en mode cluster

Requête d'initialisation du cumul

Cet onglet affiche la requête d'initialisation du cumul que le framework exécutera.

image6a.png


Voir aussi:

ModèleDéveloppement DSM

Outils personnels