BI experience

16 juin 2009
par maryam khiali
7 Commentaires

Prompt, invit, parameters et Jasperserver

Lorsqu’un rapport s’exécute on peut proposer à l’utilisateur de préciser un paramètre dans un prompt ou une invit qui fera que son rapport sera généré pour ce paramètre particulier.

Exemple : on entre le nom d’un pays pour avoir le nombre de ventes de maillots de bain pour les villes concernant ce pays.

Mais voilà, au lieu d’avoir une liste de plus ou moins 200 pays, l’utilisateur voudrait, dans un premier temps, pourvoir choisir le continent puis avoir la liste des pays présents dans ce continent.

JasperSoft appelle cela les « cascading parameters » c’est à dire des paramètres liés entre eux.

Pour pouvoir les réaliser, JasperSoft propose un développement assez simple qui passe par de la configuration de fichier XML.

Par contre si votre besoin est de créer plusieurs paramètres liés :

exemple1 : choisir le continent puis les pays de ce continent
exemple2 : choisir un pays puis une liste de villes de ce pays

dans ce cas il faudra l’intervention d’un personne de JasperSoft ou un développeur car cela implique un développement dans ce Framework JAVA qu’est Jasperserver.

D’après l’éditeur, la version de JasperSever qui sortira début 2010 proposera l’option.

10 juin 2009
par maryam khiali
1 Commentaire

Vue matérialisée : une alternative?

Lors de la modélisation d’un datamart, une granularité est choisie au niveau des dimensions ce qui permet d’avoir une certaine précision sur les indicateurs de la table de fait.

Mais lorsque le besoin impose d’avoir un datamart très détaillé, l’utilisation des données dans un rapport lors d’agrégation peut s’avérer gourmande en temps de réponse.

Alors pourquoi ne pas utiliser comme alternative : les vues matérialisées…

Elles stockent les données (calcul par exemple) et permettent donc une accessibilité aux données, nettement plus rapide.

Ces vues matérialisées sont natives sous Oracle alors que sous Postgres (la base ou mon datawarehouse est stocké), il faut créé des fonctions pour les gérer.

Pour plus de précisions sur la création et la gestion des vues matérialisées sous Postgres, je vous laisse consulter ce lien

Que pensez-vous de cette méthodologie? Si vous avez des conseils, n’hésitez pas, postez!

8 juin 2009
par maryam khiali
4 Commentaires

UNION SQL tips

En temps normal, la fonction SQL UNION est utilisée pour avoir l’ensemble des possibilités présentes dans 2 ensembles différents

exemple :

table1

Objet devFr montantFr devMar montantMar devUSA montantUSA
réveil Euros 30 Dirhams 300 Dollards 25
montre Euros 50 Dirhams 500 Dollards 45
ordinateur Euros 5000 Dirhams 50000 Dollards 4500

table2

Objet devFr montantFr devMar montantMar devUSA montantUSA
collier Euros 30 Dirhams 300 Dollards 25
bague Euros 50 Dirhams 500 Dollards 45
bracelet Euros 5000 Dirhams 50000 Dollards 4500

/************************Exemple de requête*****/

SELECT Objet FROM table1

UNION

SELECT Objet FROM table2

/*****************************/

Résultat

Objet
réveil
montre
ordinateur
collier
bague
bracelet

Donc à part cette fonctionnalité, l’UNION peut servir, grossièrement, à transformer les colonnes en lignes.

Exemple sur la table1

SELECT Objet, devFr as devise, montantFr as montant FROM table1

UNION

SELECT Objet, devMar as devise, montantMar as montant FROM table1

UNION

SELECT Objet, devUSA as devise, montantUSA as montant FROM table1

Résultat

Objet devise montant
collier Euros 30
montre Euros 50
ordinateur Euros 500
collier Dirhams 300
montre Dirhams 500
ordinateur Dirhams 5000
collier Dollards 25
montre Dollards 45
ordinateur Dollards 4500

Ce type de tips peut vraiment être utile à certaines occasions.

27 mai 2009
par maryam khiali
3 Commentaires

Le typage Float avec Talend, un ennemi?

Aujourd’hui j’ai fait les frais du type Float avec Talend.

En effet j’avais un flux qui avait pour but de lire certains champs de fichiers Excel. Je les rapportais en tant que String (typage Java du flux).

Ces champs étaient ensuite transformés en Float avant d’être stockés en base.

Le problème est qu’en base les chiffres étaient complètement incohérents.

La cause? Le typage FLOAT…Du coup j’ai dû reconvertir, tous les champs qui étaient en float, en double afin que mon flux fonctionne correctement…

Donc à savoir, le type FLOAT n’est pas forcement notre ami!

Par ailleurs lors de la lecture des fichiers Excel, je me suis rendue compte que le format des cellules avaient beaucoup d’importance.

En effet quand je lisais une cellule avec un format « standard » (avec un schéma où la cellule est considérée comme String pour Java), les chiffres étaient arrondis par exemple…Il fallait que les cellules soient en format « Nombre » pour que je puisse avoir la totalité des chiffres après une virgule…

Si le changement de typage est à effectuer sur une centaine de fichiers…Je vous laisse imaginer…J’en conclu que la gestion des fichiers Excel n’est pas forcément facile avec Talend.

Après peut-être que je manque d’expérience et qu’il y a une autre manière de faire…Dans ce cas n’hésitez pas à poster!

10 mai 2009
par maryam khiali
2 Commentaires

Illustration du MOLAP, ROLAP, HOLAP

Quand on demande aux gens d’expliquer les 3 modes principaux de stockage de l’OLAP ce n’est pas toujours évident de comprendre… D’ailleurs j’avais déjà tenté ces explications dans un précédent post sur ce sujet

Cette fois-ci j’ai envie d’illustrer les concepts principaux de stockage de l’OLAP avec des schémas souvent beaucoup plus parlant.

illustrationrmholap
Que pensez-vous de mes schémas?