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

Modules:Analytics Debug/fr

Contents

Fenêtre de chargement OB Analytics

Lorsque une Société a un problème avec le Module Analytics, la première chose est de s'assurer que les opérations de base fonctionnent.

En tant que Administrateur Société, ouvrir la fenêtre OB Analytics. Elle peut prendre un certain temps à se charger, comme expliqué dans la Documentation.

Quand la fenêtre est ouverte, cliquez sur la liste de choix pour sélectionner un Cube. S'il y a des cubes définis, et que la liste est vide, il y a un problème dans l'instance. A ce stade, la meilleure source d'informations pour régler les problèmes sont les logs. Si les cubes sont chargés, d'autres erreurs peuvent être résolues sans regarder dans les logs.

Debugger les requêtes avec Mondrian

Quand Mondrian exécute une requête MDX, ce qui se passe réellement, c'est la génération de plusieurs requêtes SQL qui sont exécutées sur la base de données relationnelles pour extraire des informations.

Lorsqu'il y a un problème pour retrouver des informations depuis une requête MDX, il peut être utile de voir les résultats des requêtes SQL. Il est possible de faire ceci en ajoutant ces lignes à la fin du fichier log4j.lcf.

# Set root logger level to DEBUG and its only appender to MONDRIAN.
log4j.rootLogger=WARN, MONDRIAN
 
# MONDRIAN is set to be a ConsoleAppender.
log4j.appender.MONDRIAN=org.apache.log4j.ConsoleAppender
 
# MONDRIAN uses PatternLayout.
log4j.appender.MONDRIAN.layout=org.apache.log4j.PatternLayout
log4j.appender.MONDRIAN.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n
 
# Trace MDX and SQL statements
log4j.category.mondrian.mdx=DEBUG, MONDRIAN
log4j.category.mondrian.sql=DEBUG, MONDRIAN

Debugger les Schémas de Cube

Il est possible de voir la définition XML des Cubes en utilisant le service de mapping Mondrian en utilisant l'url web spécifique:

http://localhost:8080/openbravo/analytics/schema

Remplacer le hôte/port/contexte avec les paramètres relatifs à votre installation.

La structure du fichier XML de la définition de Cube est expliqué plus en détail dans la Documentation Mondrian.

Le fichier MDX peut être divisé basiquement en trois parties.

Vue

Dans cette partie du code XML est définie la façon dont les données sont extraites depuis la table principale.

<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_order o where o.issotrx='Y' and alias1_26.c_order_id=o.c_order_id))
</SQL>
    </View>

Dimensions

Dans cette partie du code XML les Dimensions sont définies. Pour chaque Dimension, il est possible de voir les tables à partir desquelles les données sont extraites, et le code SQL qui doit être ajouté à la clause WHERE.

Les différents niveaux de chaque dimension sont ainsi affichés.

<Dimension name="salesOrder-businessPartnerCategory" foreignKey="c_order_id" caption="Sales Order - Business Partner Category">
        <Hierarchy hasAll="true" primaryKey="c_order_id" primaryKeyTable="c_order">
            <Join leftKey="c_bpartner_id" rightKey="c_bpartner_id">
                <Table name="c_order" alias="alias1_37">
                    <SQL>
alias1_37.ad_org_id in ('E443A31992CB4635AFCAEABE7183CE85','0','DC206C91AA6A4897B44DA897936E0EC3','7BABA5FF80494CAFA54DEBD22EC46F01','BAE22373FEBE4CCCA24517E23F0C8A48',
'19404EAD144C49A0AF37D54377CF452D','B843C30461EA4501935CB1D125C9C25A','2E60544D37534C0B89E765FE29BC0B43')
</SQL>
                </Table>
                <Join leftKey="c_bp_group_id" rightKey="c_bp_group_id" leftAlias="alias1_38" rightAlias="alias1_39">
                    <Table name="c_bpartner" alias="alias1_38">
                        <SQL>
alias1_38.ad_org_id in ('E443A31992CB4635AFCAEABE7183CE85','0','DC206C91AA6A4897B44DA897936E0EC3','7BABA5FF80494CAFA54DEBD22EC46F01','BAE22373FEBE4CCCA24517E23F0C8A48',
'19404EAD144C49A0AF37D54377CF452D','B843C30461EA4501935CB1D125C9C25A','2E60544D37534C0B89E765FE29BC0B43')
</SQL>
                    </Table>
                    <Table name="c_bp_group" alias="alias1_39">
                        <SQL>
alias1_39.ad_org_id in ('E443A31992CB4635AFCAEABE7183CE85','0','DC206C91AA6A4897B44DA897936E0EC3','7BABA5FF80494CAFA54DEBD22EC46F01','BAE22373FEBE4CCCA24517E23F0C8A48',
'19404EAD144C49A0AF37D54377CF452D','B843C30461EA4501935CB1D125C9C25A','2E60544D37534C0B89E765FE29BC0B43')
</SQL>
                    </Table>
                </Join>
            </Join>
            <Level name="businessPartnerCategoryLevel" column="c_bp_group_id" caption="Business Partner Category" table="alias1_39" uniqueMembers="true" ordinalColumn="name">
                <Annotations>
                    <Annotation name="entity">BusinessPartnerCategory</Annotation>
                </Annotations>
                <MemberFormatter className="org.openbravo.client.analytics.OBMondrianMemberFormatter" />
            </Level>
            <Level name="businessPartnerLevel" column="c_bpartner_id" caption="Business Partner" table="alias1_38" uniqueMembers="true" ordinalColumn="name">
                <Annotations>
                    <Annotation name="entity">BusinessPartner</Annotation>
                </Annotations>
                <MemberFormatter className="org.openbravo.client.analytics.OBMondrianMemberFormatter" />
            </Level>
        </Hierarchy>
    </Dimension>

Mesures

Cette partie du code XML affiche la définition des Mesures. Certaine d'entre-elles peuvent être construites à partir d'une expression MDX.

<Measure name="invoicedQuantity" column="qtyinvoiced" aggregator="sum">
        <CellFormatter className="org.openbravo.client.analytics.MondrianCellFormatter$Quantity" />
    </Measure>

Debugger les Requêtes pour Saiku

Il est possible de voir les requêtes Saiku enregistrées dans la fenêtre des Requêtes Analytics.

Une façon de générer un rapport qui génère une requête Saiku est de créer la requête elle-même en utilisant la fenêtre OB Analytics et ensuite de la sauvegarder. Le code XML de la requête générée par Saiku peut être utilisé comme modèle pour créer la requête pour le rapport.

Chaque requête peut être divisée en trois parties.

Entête

Dans l'entête les détails de la connexion sont définis. Le nom doit être unique dans la requête, un UUID peut être utilisé. La connexion est la même que montre la fenêtre OB Analytics quand elle affiche les Cubes.

<Query name="6793C26C4B504EF9822E16C2C63BAE0FDAF5CA2984604E1A8673D1C659B4057D" type="QM" connection="Openbravo" cube="DPL - P&amp;L - F&amp;B International Group US_A_US Dollar" 
catalog="Openbravo" schema="Openbravo">

Axes

Pour chaque axe les Dimensions qui vont être affichées sont spécifiées. De même que les membres qui vont être inclus ou exclus.

<Axis location="COLUMNS" nonEmpty="true">
                <Dimensions>
                    <Dimension name="accountingDate">
                        <Inclusions>
                            <Selection dimension="accountingDate" type="member" node="[accountingDate].[2013]" operator="MEMBER" />
                        </Inclusions>
                        <Exclusions />
                    </Dimension>
                    <Dimension name="organization" hierarchizeMode="PRE" hierarchyConsistent="true">
                        <Inclusions>
                            <Selection dimension="organization" type="level" node="[organization].[organizationLevel]" operator="MEMBERS" />
                        </Inclusions>
                        <Exclusions />
                    </Dimension>
                </Dimensions>
            </Axis>

Propriétés

Les propriétés nécessaires à Saiku pour savoir comment afficher les données.

<Properties>
        <Property name="saiku.ui.render.mode" value="table" />
        <Property name="org.saiku.query.explain" value="true" />
        <Property name="saiku.olap.query.nonempty.columns" value="true" />
        <Property name="saiku.olap.query.nonempty.rows" value="true" />
        <Property name="org.saiku.connection.scenario" value="false" />
        <Property name="saiku.ui.formatter" value="flat" />
        <Property name="saiku.olap.query.automatic_execution" value="true" />
        <Property name="saiku.olap.query.drillthrough" value="true" />
        <Property name="saiku.olap.query.filter" value="true" />
        <Property name="saiku.olap.query.limit" value="true" />
        <Property name="saiku.olap.query.nonempty" value="true" />
    </Properties>

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

This page has been accessed 2,130 times. This page was last modified on 25 April 2014, at 14:45. Content is available under Creative Commons Attribution-ShareAlike 2.5 Spain License.