Chart et Lookup: ça marche aussi!

Un précepte, que dis-je un commandement CharltonHestonnien est tombé avec la sortie de SSRS 2008 R2: le fait de ne pas pouvoir utiliser plusieurs DataSets dans une DataRegion. Ce précepte est tombé avec l’arrivée des fonctions Lookup, MultiLookup et LookupSet. Que font ces fonctions?

Pour le Lookup par exemple, sur le modèle de son équivalent SSIS, il prend en paramètre une clé dans le DataSet de la DataRegion (une colonne) et va chercher une valeur dans un second DataSet dont la clé correspond à la clé du premier (en gros une jointure qui ne ramènerait que le premier match). Multilookup permet de passer un ensemble de clés de la source et donc de retourner l’ensemble des premiers matchs pour chaque clé, LookupSet permet de faire un Lookup qui ne retourne plus le premier match mais tous (une jointure interne, en somme). Pour les anglicistes, Stacia Misner a fait un très bon papier ici que je ne m’amuserai pas à paraphraser.

Pour revenir au sujet en revanche personne n’a expliqué que cela pouvait être utile pour des charts. Ce qui fait que j’ai beaucoup entendu que les charts restaient mono-dataset. Eh bien non et en voilà la démonstration:

Ici j’ai fait un rapport tout bête sur AWDW2008R2: un DataSet qui renvoie la somme des InternetSales par année, un autre pour les ResellerSales. Je crée la courbe associée:

Pour rajouter mon Lookup, je vais créer une série de valeurs calculée (Expressions).

Cette expression sera donc une recherche du champ Sales du DataSet InternetSales, en jointant avec les champs CalendarYear des deux DataSets.
Et voilà le résultat!
A vous les charts avec plein de DataSets!
A bientôt!

Une réflexion sur “Chart et Lookup: ça marche aussi!

Laisser un commentaire