jeudi 20 août 2009

Gemini Vs QlikView

La rentrée s'annonce plutôt intéressante compte tenu des différentes CTP sorties ces derniers jours. Entre autre, SQL Server 2008 R2 dont le très attendu Gemini, Office 2010, SharePoint 2010. Bref, de longues heures de beta testing en perspective.

Parmi ces nouveautés, on trouve donc une première version CTP du projet Gemini. Présenté pour la première fois à la Microsoft BI Conference en octobre dernier, ce nouvel outil fait parti de la 3ème génération Business Intelligence .

Gemini est un add-in Excel principalement destiné aux utilisateurs fonctionnels et permettant d'analyser de grands volumes de données. A la différence d'un cube, les données sont traitées en mémoire (in-memory), ce qui grâce à un système de compression par colonne, propose de très bons temps de réponse.

Microsoft vient donc concurrencer QlikTech et son produit phare: QlikView.
Ayant pas mal travaillé sur QlikView ces derniers temps, je vous propose de commencer un comparatif entre les deux produits, tout en gardant en tête que Gemini reste en version beta.

Général

De façon générale, le principal avantage de Gemini est son intégration dans Excel. C'est un outil connu de tous ou presque et qui ne nécessite donc pas de formation particulière. Inconvénient, Gemini ne fonctionne pour le moment qu'avec Office 2010.


Onglet Gemini dans Excel 2010:



QlikView est quant à lui un outil client spécifique, indépendant, et nécessite un temps d'adaptation et de formation (comme pour tout nouvel outil).

Application QlikView:


Manipulation des données

Même si ces deux outils permettent de charger et manipuler des données, il ne peuvent en aucun cas se substituer à de vrais ETL. Les données utilisées sont censées avoir déjà été "nettoyées", le plus souvent issues d'un datawarehouse ou datamart.

Des deux outils, c'est Gemini qui semble le plus user-friendly. En effet, aucun script technique n'est présenté à l'utilisateur pour le chargement des données. Même si dans le cas de QlikView ce script peut être rempli automatiquement via des assistants de configuration, un utilisateur réticent à la technique peut être dérouté. Gemini est donc plus transparent…bon point pour un outil destiné à des personnes plutôt fonctionnelles.

Script de chargement QlikView:


Concernant les liaisons entre les tables, Gemini et QlikView ont deux approches assez différentes. QlikView crée ces liaisons par homonymies. Autrement dit, une liaison est crée dès que deux champs de deux tables différentes ont le même nom. Cette méthode a ses avantages et ses inconvénient. Avantage, pas de lien à spécifier manuellement ce qui peut faire gagner beaucoup de temps. Inconvénient, de mauvaises liaisons peuvent se créer, voir des liaisons circulaires si on est pas vigilent dans le nommage de ses colonnes…
Gemini a donc une approche différente. Si on utilise une base existante, les clés étrangères sont conservées. Il faudra cependant créer manuellement les liaisons manquantes, notamment avec les sources complémentaires utilisées.

Gestion des relations entre tables dans Gemini:


Elément appréciable dans Gemini, la possibilité de voir directement le résultat des colonnes calculées qu'on rajoute sans tout recharger. On détecte ainsi immédiatement les erreurs dans les formules saisies.

Cependant, un des manques de Gemini par rapport à QlikView (du moins dans cette version beta) est de pouvoir visualiser de manière graphique les tables et leurs liaisons. Dans QlikView, cela est réalisable grâce à la visionneuse de tables, un peu à la manière des diagrammes dans SQL Server.

Visionneuse de tables dans QlikView:


Création des objets graphiques

In fine, le but de ces deux outils est de fournir une visualisation des données sélectionnées dans la 1ère partie.
Globalement, tous deux répondent à la plupart des besoins. Les résultats sont plutôt esthétiques, attrayant pour le consommateur du rapport.

Gemini profite de son intégration dans Excel qui gère déjà un grand nombre de graphes dont voici une liste non exhaustive:


QlikView propose une gamme de graphe équivalente avec la particularité de proposer en plus des jauges et les blocs (Cf cartes de performance dans Proclarity). Certains autres éléments proposés par QlikView comme les glissières ou les tableaux statistiques mériteraient leur place dans Gemini.

Types de graphiques dans QlikView:


Gemini concurrence sérieusement QlikView dans le domaine de l'associativité. Grâce à l'utilisation des slicers, nouveauté des tableaux croisés Excel 2010, on peut sélectionner rapidement et simplement les données qui nous intéressent , ce qui a pour conséquence de mettre à jour le reste des zones de sélection, sans hiérarchies prédéfinies. Par exemple, en sélectionnant une année, la liste des mois disponibles est mise à jour ainsi que des monnaies présentes dans les tables de fait durant cette période.
Petite différence cependant, dans QlikView quand on sélectionne un élément, la sélection est globale sur l'ensembles de pages et des rapports du fichier. Sur Excel, la sélection ,n'est à première vue valable que sur le graphe ou tableau concerné. Je n'ai pas encore vu s'il est possible d'étendre la portée de la sélection…à suivre.
[edit: Après quelques tests supplémentaires, il est finalement possible d'étendre la portée de la sélection d'un slicer]

Exemple de rapport Gemini:



Publication

Une fois créés, les rapports Gemini et QlikView peuvent être diffusés afin de les partager avec d'autres utilisateurs. Le principe est le même, seules les plateformes diffèrent.
Les rapports Gemini sont diffusés via un serveur Sharepoint 2010 (du moins dans la version beta).
Les rapports QlikView sont diffusés via un serveur QlikView qui peuvent éventuellement par la suite être inclus dans un site Sharepoint via une Webpart.


Conclusion

Gemini vient donc concurrencer sérieusement QlikView. Destiné aux utilisateurs fonctionnels, il est assez simple d'utilisation et directement intégré dans Excel.

QlikView quant à lui garde une petite avance grâce à un choix d'objets graphiques un peu plus large et une personnalisation des scripts de chargement un peu plus forte. Mais ce dernier argument ne pèse peut être pas autant pour un utilisateur non technique qui recherche avant tout la simplicité.

N'oublions pas que Gemini reste une beta de version 1 ( Nb: QlikView est en version 9). Il reste donc surement des choses à découvrir avant la sortie de la version finale prévue pour le premier semestre 2010... To be continued...

lundi 13 juillet 2009

SSRS 2008 et la fonctionnalité "Repeat Header"

Pour poursuivre dans la lancée de l'article publié par Gurvan il y a quelques jours, voici une autre petite anomalie apparue dans la version 2008 de Reporting Services.

Dans les propriétés d'une table ou d'une matrix, vous pouvez préciser si vous désirez que l'entête des colonnes (et/ou des lignes) se répète sur chaque page. Pour les matrices, pas de problème, l'option est bien prise en compte en 2008. Ce n'est pas le cas pour les tables ne possédant pas de groupe sur les colonnes. L'option est ignorée.


Il existe heureusement une façon de contourner le problème. Dans la fenêtre de gestion des groupes, passez en mode "avancé". Vous verrez alors apparaître les groupes "statiques" qui étaient jusque là masqués.


Cliquez sur le groupe statique que vous souhaitez voir se répéter sur chaque page et configurer la valeur de la propriété "RepeatOnNewPage" de ce groupe à "true".
Le problème est alors réglé et les entêtes de colonnes de la table se répéteront bien sur chaque nouvelle page. Dommage que l'option ne soit pas directement prise en compte au niveau de l'interface graphique, le contournement n'est cependant pas trop compliqué.

dimanche 5 juillet 2009

CUBIM & Cubes Asymétriques

Il y a quelques semaines, j'ai assisté pour la première fois à une réunion du club des utilisateurs de la Business Intelligence Microsoft: CUBIM.

Loin d'être un groupe de support anonyme à l'arrêt de la consommation de BI ("Bonjour je m'appelle Aurélien et j'ai pas construit de cube depuis 2 jours"), ce club est destiné aux échanges sur ces technologies. C'est l'occasion notammement d'avoir des retours projets mais aussi des présentations de fonctionnalités creusées par tel ou tel membre.

C'est au cours de cette réunion que j'ai rencontré Renaud Harduin qui m'a parlé d'un article sur les cubes assymétriques qu'il a publié l'année dernière.
C'est un sujet assez intéressant et peu documenté, la possibilité de mettre en place des cubes ayant des partitions "actuelle" avec une granularité à la journée et une partition "historique" avec une granularité au mois. Cet article est donc un tutoriel qui vous permettra de mettre en place facilement ce mécanisme.
Vous trouverez plus de détails ICI. Bonne lecture!

dimanche 28 juin 2009

Visualiser l'odre du tri de votre collation SQL Server

Petite astuce pour trouver le caractère suivant le "z" lors d'un tri sur votre base de données.
Cela peut s'avérer utile si vous souhaitez avoir un membre qui apparaisse toujours en dernier lorsque vous classez les membres d'une table par ordre alphabétique (sans la nécessité d'une colonne supplémentaire de tri).
Pour retrouver le classement des caractères sur votre base, utilisez la requête suivante:

CREATE TABLE T1 ( ID int, CARACTERE AS char(ID))

DECLARE @I AS Int
SET @I=1


WHILE (@I <256)

BEGIN
INSERT INTO T1(ID) VALUES (@I)
SET @I = @I+1
END

SELECT * FROM T1 ORDER BY CARACTERE go

DROP TABLE T1

Réponse (sur une base en SQL_Latin1_General_CP1_CS_AS): Il existe donc 4 caractères étant classés après le "z" dans un tri. Dans l'ordre: Ð, ð, Þ et þ.

Bien sûr, cela dépend de la collation définie sur votre base. Par exemple la même requête en French_CI_AS donnera le résultat suivant: Ž et ž

Pour information, Ð, ð, Þ et þ sont des lettres utilisées dans l'alphabet islandais...j'aurais pu les chercher longtemps sans cette requête!

mardi 23 juin 2009

SSIS 2008 a fait le ménage

Petite surprise en appliquant à une base SQL Server 2008 un script créé en 2005 et qui manipulait les vues et fonctions systeme sysdtspackagefolders90, sysdtspackages90, sp_dts_deletepackage, sp_dts_deletefolder et autres... Celles ci n'existent plus en 2008! Pour être plus exact, elles ont été renommées. Microsoft a en effet fait du ménage dans ces labels qui faisaient référence à la version 2000 de l'ETL (DTS). Vous utiliserez donc désormais les vues et fonctions systeme sysssipackages, sysssispackagefolders, sp_ssis_deletefolder, sp_ssis_deletepackage etc.

jeudi 18 juin 2009

Financial Planning Accelerator

Une annonce parue aujourd'hui sur le site Partners de Microsoft et commentée sur le très bon blog de Chriss Webb: PerformancePoint Planning est de retour dans une version quasi open-source!

Finalement, Microsoft a entendu les appels de ses partenaires (cf post du mois de fevrier) et permet donc de reprendre le projet planning et d'y apporter sa touche personnelle. Les utilisateurs eux, pourrons bénéficier de ce produit via la licence Sharepoint qui donne accès par la même occasion à PerformancePoint Services Monitoring & Analytics (ex Proclarity).

mercredi 17 juin 2009

Kimball Slowly Changing Dimension (SCD)

L'une des composantes d'un projet BI est la gestion de ce qu'on appelle les "Slowly Changing Dimension" (SCD) ou "dimensions à variation lente". L'enjeu est le suivant, historiser ou non les attributs d'une dimension et si oui, dans quelle mesure. Il existe plusieurs types de SCD, numérotés de 0 à 6, chacun permettant de couvrir un cas de figure particulier, les plus couramment utilisés étant les types 1 et 2.

Prenons l'exemple d'une dimension employé, chaque employé occupant un poste précis. Une SCD de type 1 ne garderait dans le datawarehouse que le dernier poste occupé par un employé. Une SCD de type 2 permettrait elle de garder un historique des postes occupés par l'employé, en précisant les dates de début et de fin de chacun de ces postes.

Il existe différentes méthodes pour appliquer ces principes dans un lot de chargement Integration Services, que ce soit à l'aide de composants de recherche (lookup) ou du composant SSIS SCD. Il existe cependant une alternative gratuite et performante: Le Kimball Slowly Changing Dimension component. Ce composant développé par Todd McDermid et disponible gratuitement sur CodePlex permet de gérer très facilement le chargement des SCD de type 1 et 2.




Seul petit bémol, l'impossibilité de transférer des champs techniques or audit... ce qui n'est pas nécessairement bloquant.

Si vous souhaitez l'essayer, la version 1.4 est disponible ici, je vous le conseille vivement!