Modules:Analytics CubeDef/fr
Languages: |
English | Français | Translate this article... |
Contents |
Définition de Cube
Dans Mondrian, le Cube OLAP est défini par son schéma. Un schéma définit une base de données multi-dimensionnelle. Il contient un modèle logique (constitué par des Cubes, des hiérarchies, et des membres) et un modèle physique correspondant à un mapping du modèle logique. Les schémas Mondrian sont représentés dans un fichier XML. Documentation Mondrian.
Dans Openbravo, le Cube peut être défini dans le Dictionnaire Applicatif, et cette définition sera traduite dans un fichier XML avec le schéma Mondrian si nécessaire.
Dans un futur proche (2014-2015) nous allons évoluer vers Mondrian 4. Mondrian 4 utilise un schéma différent de celui de Mondrian 3. A différents endroits de la Définition du Cube, vous pouvez aussi utiliser directement XML. Prenez en compte que votre XML pourra être éventuellement adapté au nouveau standard lors de la migration vers Mondrian 4. Nous supposons des modifications manuelles des fichiers XML, uniquement dans certaines situations spécifiques, Openbravo génèrera la plus grande partie du mapping automatiquement. Ainsi, normalement, il ne sera pas nécessaire d'utiliser directement les définitions XML, donc nous envisageons un impact limité du passage de Mondrian à la version 4.
Pour définir un Cube dans Openbravo, utiliser la fenêtre de Définition de Cube.
Entête
L'onglet Entête les éléments les plus génériques du Cube, tels que la Table à partir de laquelle les données sont extraites.
Champs importants:
- Module. Ce champ n'est pas obligatoire, et habituellement, il doit rester vide. Si ce champs est laissé vide, les données de la Définition de Cube, seront considérées comme des données Société, ce qui signifie qu'elles ne seront pas affectées par des opérations de mises à jour ou d'export dans la base de données, lors de compilation. Si ce champ est renseigné, la fenêtre de Définition de Cube pourra être exporté dans un Module particulier. C'est utile quand la définition de Cube est créée en tant que modèle.
- Définition XML. Ce champ n'est pas obligatoire et habituellement il devrait être vide. Dans ce champ la définition XML complète du schéma peut être écrite, dans ce cas il n'est pas nécessaire de définir autre chose, car cetté définition sera utilisée pour générer le cube. Remarque: votre définition XML spécifique devra être adaptée lors du passage à Mondrian 4.
- Table. La Table à partir de laquelle les données sont extraites.
- Filtre SQL. Une expression SQL qui peut être ajoutée à la clause WHERE de la requête finale utilisée pour sélectionner des données. Quand le fichier XML du schéma du Cube est généré, l'expression qui décrit la source des données pour le Cube ressemble à çe qui suit.
<Cube name="Sales Orders" caption="Sales Orders"> <View alias="alias1_25"> <SQL>select * from c_orderline alias1_26 where alias1_26.ad_org_id in ('E443A31992CB4635AFCAEABE7183CE85','0','DC206C91AA6A4897B44DA897936E0EC3','7BABA5FF80494CAFA54DEBD22EC46F01','BAE22373FEBE4CCCA24517E23F0C8A48', '19404EAD144C49A0AF37D54377CF452D','B843C30461EA4501935CB1D125C9C25A','2E60544D37534C0B89E765FE29BC0B43') and (1 = (select 1 from c_invoice as i where i.issotrx='Y' and alias1_26.c_invoice_id=i.c_invoice_id))</SQL> </View>
On peut noter que l'expression SQL du champ a été ajoutée à la fin de la clause WHERE. Une chose à noter aussi, est que l'expression [alias] du champ a été remplacé par alias1_26 dans l'expression SQL.
Remarque. Dans le champ du filtre SQL, pour référencer la Table à partir de laquelle les données sont extraites dans le Cube, il est possible d'utiliser l'expression [alias]. Quand le fichier XML est généré pour le schéma du Cube, cette expression sera remplacée avec la table SQL alias de la table.
Définition du Cube en tant que Modèle
Si une Définition de Cube est créée avec un rôle Administrateur Système, une case à cocher supplémentaire, appelée Modèle, sera disponible. En la cochant, la Définition de Cube sera créée en tant que modèle. Ceci est utilisé dans des scénarios dans lesquels une partie de la définition de Cube dépend des données Société, et il n'existe pas de possibilité de généraliser ceci. Un exemple d'un tel scénario sont les Rapports Financiers Multi-Dimensionnels. Quand un Cube est coché comme Modèle, un bouton appelé Générer Cubes va apparaitre. En cliquant dessus, une popup s'affichera :
- Supprimer les Cubes précédents. Si cette case est cochée et s'il existe un Cube préalablement créé pour cette Société, il sera supprimé avant d'être recréé. Si elle n'est pas cochée, et s'il existe un Cube préalablement créé pour une Société, il ne sera pas modifié.
- Société. Une liste des Sociétés pour lesquelles un Cube va être généré basé sur un Modèle.
Remarque. Lors de la génération d'un Cube basé sur un Modèle, si dans le champ filtre SQL il y a une expression telle que @ad_client_id@, il sera remplacée par la valeur ad_client_id correspondante.
Remarque. Le Module du Cube doit être en développement avant de lancer le traitement de Génération de Cubes.
Des Opérations Supplémentaires peuvent être effectuées en s'appuyant sur un Modèle codé en Java, en étendant la Classe GenerateCubesFromTemplate, un exemple de comment ça peut être fait peut être trouvé dans les Rapports Financiers Multi-Dimensionnels.
Dimensions et Mesures
Dans l'onglet de Dimensions de Cubes, les Dimensions et les Mesures sont définies. Un Cube OLAP est constitué de faits numériques appelés des Mesures qui sont catégorisées par des Dimensions.
Dimensions
Une Dimension est un ensemble de données composé d'éléments individuels, ne se chevauchant pas, qui fournit des informations structurées et nommées, aux mesures numériques.
Les Dimensions sont utilisées pour ordonner, grouper et filtrer les Mesures.
Champs importants:
- Module. Ce champ n'est pas obligatoire, et habituellement, il doit rester vide. Si ce champ est laissé vide, les données de la Définition de Cube, seront considérées comme des données Société, ce qui signifie qu'elles ne seront pas affectées par des opérations de mises à jour ou d'export dans la base de données, lors de compilation. Si ce champ est renseigné, la fenêtre de Définition de Cube pourra être exporté dans un Module particulier. C'est utile quand la définition de Cube est créée en tant que modèle.
- Numéro de ligne Il est utilisé comme référence pour ordonner les Dimensions, lors de la génération du fichier XML du Schéma de Cube. Il est important de noter que les Dimensions et les Mesures sont ordonnées suivant les Dimensions avant les Mesures, et les Mesures avant les Membres Calculés.
- Eléments du Modèle. La Propriété qui va définir la Dimension elle-même. Pour la définir, le chemin de la propriété est utilisé, comme dans les Champs Propriétés, en commençant par la Table définie dans l'entête. Par exemple, si la table définie dans l'entête de la définition de Cube est Fact_Acct, en définissant period.Year comme Élément de Modèle, il est possible d'utiliser l'Année Fiscale comme Dimension.
- Définition XML. Ce champ n'est pas obligatoire et habituellement il devrait être vide. Dans ce champ la définition XML complète de la Dimension peut être décrite, dans ce cas il n'est pas nécessaire de définir autre chose, car cette définition sera utilisée comme la description XML de la Dimension. Remarque: votre définition XML spécifique devra être adaptée lors du passage à Mondrian 4.
- Mesure. Puisque c'est une dimension, cette case devrait être décochée.
- Filtre SQL. Une expression SQL qui peut être ajoutée au champ <SQL> de la définition de la Dimension. Quand le fichier XML de la Dimension est généré, cela ressemble à ceci.
<Dimension name="account" foreignKey="account_id" caption="Account"> <Hierarchy hasAll="true" primaryKey="c_elementvalue_id" primaryKeyTable="c_elementvalue"> <Table name="c_elementvalue" alias="alias1_90"> <SQL>alias1_90.ad_org_id in ('E443A31992CB4635AFCAEABE7183CE85','0','DC206C91AA6A4897B44DA897936E0EC3','7BABA5FF80494CAFA54DEBD22EC46F01', 'BAE22373FEBE4CCCA24517E23F0C8A48','19404EAD144C49A0AF37D54377CF452D','B843C30461EA4501935CB1D125C9C25A','2E60544D37534C0B89E765FE29BC0B43') and 1=1 and exists(select c_element_id from c_acctschema_element elem0 where alias1_90.c_element_id=elem0.c_element_id and elem0.c_acctschema_id = '732913485BB040FFA4643FF06D1AA095')</SQL> </Table> <Level name="accountLevel" column="c_elementvalue_id" caption="Account" table="alias1_90" uniqueMembers="true" ordinalColumn="em_obanaly_treeordinal" parentColumn="em_obanaly_treeparentid"> <Annotations> <Annotation name="entity">FinancialMgmtElementValue</Annotation> </Annotations> <MemberFormatter className="org.openbravo.client.analytics.OBMondrianMemberFormatter"/> <Closure parentColumn="parent_id" childColumn="child_id"> <Table alias="obanaly_tree_closure" name="obanaly_tree_closure"> <SQL>obanaly_tree_closure.ad_tree_id = '894BD9E7395143ACB94FD8998E1840CD'</SQL> </Table> </Closure> </Level> </Hierarchy> </Dimension>
Mesures
Une Mesure est un fait numérique dans le Cube, par exemple, les Unités Vendues ou Prix Net peuvent être des Mesures.
Champs Importants:
- Module. Ce champ n'est pas obligatoire, et habituellement, il doit rester vide. Si ce champ est laissé vide, les données de la Définition de Cube, seront considérées comme des données Société, ce qui signifie qu'elles ne seront pas affectées par des opérations de mises à jour ou d'export dans la base de données, lors de compilation. Si ce champ est renseigné, la fenêtre de Définition de Cube pourra être exporté dans un Module particulier. C'est utile quand la définition de Cube est créée en tant que modèle.
- Numéro de ligne Il est utilisé comme référence pour ordonner les Mesures, lors de la génération du fichier XML du Schéma de Cube. Il est important de noter que les Dimensions et les Mesures sont ordonnées suivant les Dimensions avant les Mesures, et les Mesures avant les Membres Calculés.
- Élément du Modèle. Bien que ce champ soit obligatoire, pour les Mesures il n'est pas utilisé, ainsi toutes les propriétés de la table de Définition de Cube peuvent être définies comme élément du Modèle.
- Définition XML. Ce champ n'est pas obligatoire et habituellement il doit être vide. Dans ce champ la définition XML complète de la Mesure peut être décrite, dans ce cas il n'est pas nécessaire de définir autre chose, car cette définition sera utilisée comme description XML de la Mesure. Remarque: votre définition XML spécifique devra être adaptée lors du passage à Mondrian 4.
- Mesure. Puisque c'est une Mesure, cette case doit être cochée.
- Nom Le nom de la Mesure.
- Expression de la Mesure Une expression pour calculer la valeur numérique de la Mesure. Elle peut être une colonne numérique de la Table de Définition de Cube ou une expression numérique. Par exemple, si la table est Fact_Acct, l'expression pourrait ressembler à (AmtAcctDr - AmtAcctCr) pour calculer le solde.
- Membre Calculé Puisque c'est une Mesure, cette case doit être décochée.
Membres Calculés
Un Membre Calculé est une Mesure, mais sa valeur est calculée selon une requête MDX, ce qui permet des expressions plus complexes qu'une simple Mesure.
Champs Importants:
- Module. Ce champ n'est pas obligatoire, et habituellement, il doit rester vide. Si ce champ est laissé vide, les données de la Définition de Cube, seront considérées comme des données Société, ce qui signifie qu'elles ne seront pas affectées par des opérations de mises à jour ou d'export dans la base de données, lors de compilation. Si ce champ est renseigné, la fenêtre de Définition de Cube pourra être exporté dans un Module particulier. C'est utile quand la définition de Cube est créée en tant que modèle.
- Numéro de ligne Il est utilisé comme référence pour ordonner les Membres Calculés, lors de la génération du fichier XML du Schéma de Cube. Il est important de noter que les Dimensions et les Mesures sont ordonnées suivants les Dimensions avant les Mesures, et les Mesures avant les Membres Calculés.
- Élément du Modèle Bien que ce champ soit obligatoire, pour les Membres Calculés il n'est pas utilisé, ainsi toute propriété de la Table de Définition de Cube peuvent être définies comme Élément du Modèle.
- Définition XML. Ce champ n'est pas obligatoire et habituellement il doit rester vide. Dans ce champ la définition XML complète de la Mesure peut être décrite, dans ce cas il n'est pas nécessaire de définir autre chose, car cette définition sera utilisée comme description XML de la Mesure. Remarque: votre définition XML spécifique devra être adaptée lors du passage à Mondrian 4.
- Mesure. Puisque le Membre Calculé est une Mesure, cette case doit être cochée.
- Nom Le nom du Membre Calculé.
- Membre Calculé Puisque c'est un Membre Calculé, cette case doit être cochée.
- Formule L'expression MDX pour le Membre Calculé.
Remarque. L'ordonnancement basé sur les numéros de lignes des Dimensions, des Mesures et des Membres Calculés est important, car la génération d'un membre peut être basée sur un autre membre, qui devrait donc être généré au préalable.
En règle générale, les Dimensions devraient être traitées en premier. Puis les Mesures et en dernier lieu, les Membres Calculés. Aussi, pour les Mesures et les Membres Calculés, si un membre en utilise un autre dans sa Formule, il faut en tenir compte dans l'ordonnancement aussi. Par exemple, considérons un Membre Calculé appelé Solde Initial, et un autre Membre Calculé appelé Solde Final, qui dans sa formule utilise le Solde Initial. Dans ce cas, le Solde Initial doit être placé avant le Solde Final.
Niveau de Cube
Cet onglet est utilisé lors de la définition d'une Dimension dont l'Element de Modèle n'est pas présent dans la Table de Définition de Cube.
Par exemple, si la Définition de Cube a pour Table 'Factures de Ventes' et l'Element de Modéle de la Dimension est businessPartner.BusinessPartnerCategory, ou si la Définition de Cube a pour Table 'Facct_Acct' et l’Élément de Modèle de la Dimension est period.Year.
Dans ces scénarios, un enregistrement doit être créé pour chaque Élément dans le Chemin de l'Elément du Modèle, par exemple, pour le businessPartner.BusinessPartnerCategory, un enregistrement devrait être créé pour le businessPartner, et un autre pour businessPartnerCategory.
Dans tous les autres cas, cet Onglet devrait être vide.
Champs Importants:
- Nom. Nom de la Propriété de l’Élément de Modèle, par exemple businessPartnerCategory.
- Membres uniques. Habituellement décoché.
- Propriété Ordre. Les Dimensions sont ordonnées sur les colonnes marquées comme identifiants dans le Dictionnaire Applicatif. Mais parfois ce classement n'est pas souhaité. Dans ce champ, une propriété d’Élément de Modèle peut être définie pour être utilisée dans la clause ORDER. Par exemple, les Périodes Fiscales devraient être ordonnées sur le n° de période (1, 2, 3, ...) plutôt que sur le nom (Août 2014, Avril 2014 , Décembre 2014 ...).
Rapport de Cube
Cet Onglet est habituellement vide. Il est utilisé par les développeurs pour définir une structure statique de Dimensions pour construire des états spécifiques, tels que le Rapport Financier Multi-Dimensionnel.
- Type de Rapport. Le Rapport peut être défini soit par un Traitement, soit par une Définition de Traitement, mais par un seul d'entre eux. Le Type doit être choisi dans ce Champ.
- Traitement. Le Traitement qui définit le Rapport.
- Définition de Traitement. La Définition de Traitement qui définit le Rapport.
Dimension du Rapport de Cube
Cet Onglet est habituellement vide. Il est utilisé par les développeurs pour définir une structure statique de Dimensions pour construire des états spécifiques, tels que le Rapport Financier Multi-Dimensionnel.
- Axe. L'axe dans lequel la dimension va être placée, Ligne ou Colonne.
- OBANALY_Cube_Dimension_ID/Cube Dimension. Une des Dimensions du Cube, définie dans l'onglet de Dimensions des Cubes.
- Vérifié. Pour une Dimension controlée, vérifiée.
Element de Dimension du Rapport de Cube
Cet Onglet est habituellement vide. Il est utilisé par les développeurs pour définir une structure statique de Dimensions pour construire des états spécifiques, tels que le Rapport Financier Multi-Dimensionnel.
- Afficher. Comment l'élément de la Dimension est affiché. Il peut-être affiché lui-même (Membre), son fils (Enfant), ou à la fois lui-même et ses enfants (Membre et Enfant)
- Exclure. Si cette case est cochée, l'Elément sélectionné sera exclus plutôt qu'affiché. Avec cet indicateur il est possible d'avoir un élément affiché avec ses enfants, et ensuite d'exclure un enfant.
Rafraîchir le Schéma Mondrian
Après avoir modifié la définition du cube dans l'interface utilisateur, vous avez parfois besoin de demander à Mondrian/Saiku de rafraîchir le schéma qui est chargé en mémoire. Ceci peut se faire via l'interface utilisateur Saiku. En haut à droite de la section Cube (à gauche), vous trouverez un bouton de rafraîchissement, à droite du mot 'Cubes' :
En cliquant ce bouton, vous viderez tous vos caches, à la fois les données et le fichier du schéma lui-même.