Modules:Analytics Widgets/fr
Languages: |
English | Français | Translate this article... |
Contents |
Utiliser les Requêtes du Cube dans la fenêtre des Traitements et les Widgets
Les Requêtes Openbravo Analytics peuvent être utilisées à la fois dans la fenêtre des Traitements et les Widgets. Une fonctionnalité importante est que les Requêtes peuvent être paramétrées. Donc la requête MDX peut être définie avec des paramètres qui sont substitués aux paramètres définis dans la fenêtre des Traitements ou le Widget.
Remarque: Il n'est pas nécessaire d'écrire à la main les requêtes que vous souhaitez utiliser dans la fenêtre des Traitements ou les Widgets, elles peuvent être créées dans la fenêtre générique OB Analytics, puis sauvegardées, et enfin copiées depuis la fenêtre 'Requête Analytics' vers le Widget ou la fenêtre des Traitements.
Requêtes du Cube dans la fenêtre des Traitements
Le Traitement permet de manière puissante de contrôler et afficher des requêtes Analytics. Vous pouvez faire usage de la flexibilité offerte par la définition de paramètres dans le Traitement et ensuite utiliser ces paramètres dans le MDX.
Voici l'exemple d'une fenêtre de traitement affichant plusieurs résultats Analytics dans de multiples onglets:
Ce traitement est installé en paramétrant les requêtes de rapport dans la fenêtre de Traitements et en utilisant le 'org.openbravo.client.analytics.AnalyticsProcessReportHandler' en tant que gestionnaire de rapport:
Widget du Cube
Openbravo Analytics peut aussi servir à définir un Widget:
Pour créer un nouveau widget, renseigner les informations suivantes dans l'enregistrement widget:
- la superclasse widget devrait être 'Analytics Widget'
- définir une requête dans la fenêtre Analytics enfant, la requête sera copiée directement depuis la fenêtre 'Requête Analytics'. Vous pouvez remplacer les paramètres du widget dans la requête (voir les prochaines sections)
Requêtes paramétrées
Dans le XML Saiku dans les définitions de Widget et de Traitement, il est possible d'utiliser des paramètres définis dans le traitement/widget. Les paramètres sont spécifiés sous la forme ${parameterName.property} dans le XML Saiku.
<MDX>SELECT NON EMPTY {[Measures].[orderedQuantity]} ON COLUMNS, NON EMPTY {Hierarchize({[salesOrder-businessPartnerCategory].[businessPartnerLevel].Members})} ON ROWS FROM [Purchase Orders] WHERE CrossJoin({[salesOrder-orderDate].[${year}]}, {[salesOrder-organization].[${organization.id}]})</MDX>
Dans la partie ${organization.id} ci-dessus, il est fait référence au paramètre organisation qui correspond à l'objet Organisation. L'Id de l'objet Organisation est substitué dans le MDX.
Paramètres et chemin d'accès au propriétés
L'exemple ci-dessus retrouve l'id de l'objet organisation, mais vous pouvez aussi cheminer dans le Modèle et utiliser les valeurs des objets référencés. Par exemple, cette définition de paramètre fonctionnera aussi correctement: ${organization.client.id}
Paramètres Date
Si une propriété fait référence à une date, alors le paramètre date peut être plus finement qualifié en ANNÉE, MOIS, JOUR, TRIMESTRE.
Par exemple voir le section [salesOrder-accountingDate].[${year}] dans le XML Saiku ci-dessous:
<?xml version="1.0" encoding="UTF-8"?> <Query name="BF868C59-7FDF-E82F-8106-CEBC4178C56F" type="QM" connection="Openbravo" cube="[Sales Orders]" catalog="Openbravo" schema="Openbravo"> <MDX>SELECT NON EMPTY Hierarchize(Union(CrossJoin({[salesOrder-organization].[${organization.id}]}, CrossJoin({[salesOrder-accountingDate].[${year}]}, {[Measures].[orderedQuantity]})), CrossJoin({[salesOrder-organization].[${organization.id}]}, CrossJoin({[salesOrder-accountingDate].[2013]}, {[Measures].[lineNetAmount]})))) ON COLUMNS, NON EMPTY {Hierarchize({{[product-productCategory].[All product-productCategorys], [product-productCategory].[All product-productCategorys].Children}})} ON ROWS FROM [Sales Orders]</MDX></Query>
Paramètres Standards
Openbravo Analytics permet l'utilisation de paramètres standard spécifiques dans le XML Saiku:
- currentClient: par exemple ${currentClient.id}
- currentOrganization: par exemple ${currentOrganization.id}
- currentUser: par exemple ${currentUser.name}
- currentDate: par exemple ${currentDate.YEAR} ou ${currentDate.MONTH}