View source | Discuss this page | Page history | Printable version   

Modules:Analytics CubeDef/fr

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.

AnalyticsCubeDef1.png

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.

AnalyticsCubeDef2.png

Champs importants:

<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 :

AnalyticsCubeDef3.png


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.

AnalyticsDim1.png

Champs importants:

<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.

AnalyticsDim2.png

Champs Importants:

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.

AnalyticsDim3.png

Champs Importants:

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.

AnalyticsDim4.png

Champs Importants:

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.

AnalyticsDim5.png

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.

AnalyticsDim6.png

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.

AnalyticsDim7.png

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' :


Analytics Refresh Button1.png

En cliquant ce bouton, vous viderez tous vos caches, à la fois les données et le fichier du schéma lui-même.

Retrieved from "http://wiki.openbravo.com/wiki/Modules:Analytics_CubeDef/fr"

This page has been accessed 2,691 times. This page was last modified on 30 September 2014, at 09:10. Content is available under Creative Commons Attribution-ShareAlike 2.5 Spain License.