Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
|
boardz:design:result [2020/02/22 20:05] admin [La classe Résultat] |
boardz:design:result [2020/04/07 11:07] (Version actuelle) |
||
|---|---|---|---|
| Ligne 22: | Ligne 22: | ||
| Syntaxe : %R1 + %R2 | Syntaxe : %R1 + %R2 | ||
| + | * Null - * ou * - Null : * | ||
| * Scalaire + Scalaire : Résultat scalaire de l'addition | * Scalaire + Scalaire : Résultat scalaire de l'addition | ||
| * Scalaire + Assoc : toutes les valeurs de l'association additionnée du scalaire | * Scalaire + Assoc : toutes les valeurs de l'association additionnée du scalaire | ||
| Ligne 36: | Ligne 37: | ||
| Syntaxe : %R1 - %R2 | Syntaxe : %R1 - %R2 | ||
| + | * Null - * ou * - Null : * | ||
| * Scalaire - Scalaire : Résultat scalaire de la soustraction | * Scalaire - Scalaire : Résultat scalaire de la soustraction | ||
| * Scalaire - Assoc : toutes les valeurs de l'association soustraites du scalaire | * Scalaire - Assoc : toutes les valeurs de l'association soustraites du scalaire | ||
| Ligne 50: | Ligne 52: | ||
| Syntaxe : %R1 * %R2 | Syntaxe : %R1 * %R2 | ||
| + | * Null - * ou * - Null : Null | ||
| * Scalaire * Scalaire : Résultat scalaire du produit | * Scalaire * Scalaire : Résultat scalaire du produit | ||
| * Scalaire * Assoc : toutes les valeurs de l'association multipliées par le scalaire | * Scalaire * Assoc : toutes les valeurs de l'association multipliées par le scalaire | ||
| * Assoc * Scalaire : toutes les valeurs de l'association multipliées par le scalaire | * Assoc * Scalaire : toutes les valeurs de l'association multipliées par le scalaire | ||
| * Assoc * Assoc : produit algébrique de toutes les valeurs portant la même clef. Les clefs résultantes sont l'intersection des clefs des opérandes. | * Assoc * Assoc : produit algébrique de toutes les valeurs portant la même clef. Les clefs résultantes sont l'intersection des clefs des opérandes. | ||
| - | * Scalaire * matrice : extension de Scalaire * Assoc | + | * Scalaire * Matrice : extension de Scalaire * Assoc |
| - | * matrice * Scalaire : extension de Assoc * scalaire | + | * Matrice * Scalaire : extension de Assoc * scalaire |
| - | * matrice * assoc : Réduction à Assoc * scalaire pour les clefs identiques de première dimension. | + | * Matrice * Assoc : Réduction à Assoc * scalaire pour les clefs identiques de première dimension. |
| - | * assoc * matrice : Réduction à scalaire * Assoc pour les clefs identiques de première dimension | + | * Assoc * Matrice : Réduction à scalaire * Assoc pour les clefs identiques de première dimension |
| - | * matrice * matrice : Réduction à Assoc * Assoc pour les clefs identiques de première dimension. Intersection des clefs manquantes. | + | * Matrice * Matrice : Réduction à Assoc * Assoc pour les clefs identiques de première dimension. Intersection des clefs manquantes. |
| + | |||
| + | === Division === | ||
| + | |||
| + | Syntaxe : %R1 / %R2 | ||
| + | |||
| + | * Null - * ou * - Null : Null | ||
| + | * Scalaire / Scalaire : Résultat scalaire de la division | ||
| + | * Scalaire / Assoc : l'association des divisions du scalaire par les valeurs de l'association | ||
| + | * Assoc / Scalaire : toutes les valeurs de l'association moins la valeur du scalaire | ||
| + | * Assoc / Assoc : division algébrique de toutes les valeurs portant la même clef. Les celfs résultantes sont l'intersection des clefs des deux résultats. | ||
| + | * Scalaire / Matrice : extension de Scalaire / Assoc | ||
| + | * Matrice / Scalaire : extension de Assoc / scalaire | ||
| + | * Matrice / Assoc : Réduction à Assoc / scalaire pour les clefs identiques de première dimension. | ||
| + | * Assoc / Matrice : Réduction à scalaire / Assoc pour les clefs identiques de première dimension | ||
| + | * Matrice / Matrice : Réduction à Assoc / Assoc pour les clefs identiques de première dimension. Union des clefs manquantes. | ||
| + | |||
| + | === Maximum (opérateur binaire) === | ||
| + | |||
| + | Syntaxe : op1 M op2 | ||
| + | |||
| + | Cet opérateur calcule le maximum (ou les maximums locaux) entre deux résultats. | ||
| + | |||
| + | * Scalaire M Scalaire : Renvoie le maximum scalaire des deux valeurs | ||
| + | * Scalaire M Assoc : Renvoie l'association avec application du maximum scalaire sur chaque valeur | ||
| + | * Assoc M Scalaire : Renvoie l'association avec application du maximum scalaire sur chaque valeur | ||
| + | * Assoc M Assoc : Renvoie les maximums "clef à clef". Les clefs manquantes sont remplies avec la valeur disponible | ||
| + | * Matrice M Matrice : Maximums locaux comme extension du cas précédent | ||
| + | * Matrice M Assoc : Réduction à Assoc / scalaire pour les clefs identiques de première dimension. | ||
| + | * Assoc M Matrice : Réduction à scalaire / Assoc pour les clefs identiques de première dimension | ||
| + | |||
| + | === Minimum (opérateur binaire) === | ||
| + | |||
| + | Syntaxe : op1 m op2 | ||
| + | |||
| + | Cet opérateur calcule le minimum (ou les minimums locaux) entre deux résultats. | ||
| + | |||
| + | * Scalaire m Scalaire : Renvoie le minimum scalaire des deux valeurs | ||
| + | * Scalaire m Assoc : Renvoie l'association avec application du minimum scalaire sur chaque valeur | ||
| + | * Assoc m Scalaire : Renvoie l'association avec application du minimum scalaire sur chaque valeur | ||
| + | * Assoc m Assoc : Renvoie les minimums "clef à clef". Les clefs manquantes sont remplies avec la valeur disponible | ||
| + | * Matrice m Matrice : Minimums locaux comme extension du cas précédent | ||
| + | * Matrice m Assoc : Réduction à Assoc / scalaire pour les clefs identiques de première dimension. | ||
| + | * Assoc m Matrice : Réduction à scalaire / Assoc pour les clefs identiques de première dimension | ||
| + | |||
| + | === Filtrage === | ||
| + | |||
| + | Syntaxe : op1 ^ op2 | ||
| + | Conditions : | ||
| + | * op1 et op2 ne peuvent être scalaires (ni l'un ni l'autre) | ||
| + | * Les dimensions de op2 doivent être incluses (dans le même ordre) dans les dimensions de op1. | ||
| + | * Si l'arité des deux opérandes est identique, alors seules les clefs de op2 sont considérées pour l'opération. | ||
| + | * Si op2 est d'arité plus grande que op1, alors les sous-dimensions supplémentaires de op2 sont ignorées. | ||
| + | |||
| + | Cet opérateur filtre le premier opérande sur la base des clefs disponibles dans le second opérante. Le filtrage s'effectue par arité descendante. | ||
| + | |||
| + | |||
| + | ====Opérations unaires==== | ||
| + | |||
| + | Ces opérateurs peuvent avoir un effet sur l'arité et le type de structure. Ils peuvent éventuellement réduire l'arité initiale | ||
| + | |||
| + | === Maximum unaire === | ||
| + | |||
| + | Le maximum unaire calcule le maximum global de la structure sur la dimension la plus profonde, et réduit la structure à l'arité inférieure d'une unité. Une matrice d'arité deux devient une association et une association devient un scalaire. | ||
| + | |||
| + | Syntaxe : MAX(op1) | ||
| + | |||
| + | * Scalaire : renvoie la même valeur | ||
| + | * Assoc : renvoie le scalaire maximum des valeurs de l'association | ||
| + | * Matrice : renvoie la structure d'arité inférieure, la dimension inférieure réduite au maximum local | ||
| + | |||
| + | Exemple sur les matrices : | ||
| + | |||
| + | soit une matrice d'arité 3 : | ||
| + | |||
| + | [catégorie de cours][cours][utilisateur] => valeur | ||
| + | |||
| + | L'exécution de MAX sur la matrice donnera la matrice indexée sur | ||
| + | |||
| + | [Catégorie de cours][cours] => MAX(valeur(utilisateur)) | ||
| + | |||
| + | === Minimum unaire === | ||
| + | |||
| + | Comme pour le maximum unaire mais avec le minimum local. | ||
| + | |||
| + | === Moyenne unaire === | ||
| + | |||
| + | Comme pour le maximum unaire mais avec la moyenne. | ||
| + | |||
| + | === Cardinalité === | ||
| + | |||
| + | L'opérateur de cardinalité extrait la cardinalité de la dernière dimension disponible dans la structure. | ||
| + | |||
| + | Syntaxe : CARD(op1) | ||
| + | |||
| + | * Scalaire : donne le scalaire 1 | ||
| + | * Association : donne un scalaire donnant le nombre d'éléments de l'association | ||
| + | * Matrice : donne une matrice de rang inférieur (une association pour la matrice d'arité 2) donnant les nombres d'éléments de la dernière dimension originale. | ||
| + | |||
| + | Exemple : | ||
| + | |||
| + | soit une matrice d'arité 3 : | ||
| + | |||
| + | [Catégorie de cours][cours][utilisateur] => valeur | ||
| + | |||
| + | de dimensions : | ||
| + | |||
| + | [coursecatid, courseid, userid, unknown] | ||
| + | |||
| + | L'exécution de MAX sur la matrice donnera la matrice indexée sur | ||
| + | |||
| + | [Catégorie de cours][cours] => COUNT(utilisateur) | ||
| + | |||
| + | de dimensions : | ||
| + | |||
| + | [coursecatid, courseid, unknown] | ||
| + | |||
| + | === Compression temporelle === | ||
| [[:start|Retour au sommaire]] | [[:start|Retour au sommaire]] | ||