Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Paramétrer un Lookup pour alléger les données mises en cache en Business Intelligence avec SSIS (SQL Server Integration Services)
Par Elros

Le , par Elros

0PARTAGES

Hello,

Afin de compléter l'un de mes anciens billets (SSIS : Lookup, Commande SQL avec paramètres et appel de procédure, etc.), je vais vous expliquer plus en détail comment gagner du temps et des ressources sur SSIS.

Nous allons créer un flux SSIS permettant de charger les n métiers d'un service. On pourrait faire une boucle pour charger tous les métiers de chaque service mais, on va passer par un paramètre projet.

Pour cela, nous ajoutons un nouveau paramètre "ServiceID" dans notre fichier : projet.params



Une fois notre paramètre créé, avec le service numéro 3 d'affecté, on peut créer notre package.
Dans la partie flux de contrôle, nous allons rendre paramétrable notre flux de données. Pour cela, il faut sélectionner la tâche de flux de données "METIER", trouver dans les propriétés la partie "Expressions" et cliquer sur les trois points.



Nous avons une première fenêtre où l'on choisit notre "Lookup" à paramétrer avec la propriété "SqlCommand". Puis, cliquer sur les trois points.



Une nouvelle fenêtre s'ouvre pour nous permettre de créer la requête paramétrée.
On peut retrouver notre paramètre projet "ServiceID" préfixé avec "$Project::", cela montre que c'est paramètre projet.

On crée la requête SQL en passant notre paramètre. L'éditeur d'expression attend du texte, on est obligé de convertir en chaîne de caractère notre paramètre qui initialement est un entier.
Nous pouvons évaluer l'expression pour vérifier que la requête est cohérente.



Une fois validé, nous avons un petit "Fx" qui apparaît au coin de notre tâche. Cela signifie que notre tâche est paramétrée.



Dans la partie flux de données, nous avons un petit triangle rouge/rose qui apparaît sur le "Lookup".
Initialement, ce triangle ne s'affiche pas mais, pour vous faciliter la vie je vous conseil d'utiliser un "Add-in" que je présente ici : BIDS Helper - Add-in Visual Studio



On vérifie que la requête jouée dans le "Lookup" correspond à notre paramètre. Nous pouvons constater que le "ServiceID" récupère bien la valeur 3 de notre paramètre.


Bon test

Une erreur dans cette actualité ? Signalez-le nous !