Créer des colonnes dérivées d'une date dans SSIS
2014-04-01 15:19:57.000
2014-04-01 15:19:57.000
Dans le cadre d'un projet, j'ai eu besoin de créer des colonnes dérivées d'une date dans SSIS. J'en profite donc pour partager avec vous les fonctions de calcul.
Dans les lignes de code ci-dessous, il suffit de remplacer MaDate par le nom de votre colonne Date dans la donnée d'entrée du composant.
Pour générer un libellé de mois :
Pour générer un libellé de jour :
Pour générer un libellé de semestre :
Pour générer un libellé de trimestre:
Dans les lignes de code ci-dessous, il suffit de remplacer MaDate par le nom de votre colonne Date dans la donnée d'entrée du composant.
Pour générer un libellé de mois :
(MONTH(MaDate)==1)?"Janvier":(MONTH(MaDate)==2)?"Février":(MONTH(MaDate)==3)?"Mars":(MONTH(MaDate)==4)?"Avril":(MONTH(MaDate)==5)?"Mai":(MONTH(MaDate)==6)?"Juin":(MONTH(MaDate)==7)?"Juillet":(MONTH(MaDate)==8)?"Août":(MONTH(MaDate)==9)?"Septembre":(MONTH(MaDate)==10)?"Octobre":(MONTH(MaDate)==11)?"Novembre":(MONTH(MaDate)==12)?"Décembre":"Erreur"
Pour générer un libellé de jour :
(DATEPART("dw",MaDate)==1)?"Lundi":(DATEPART("dw",MaDate)==2)?"Mardi":(DATEPART("dw",MaDate)==3)?"Mercredi":(DATEPART("dw",MaDate)==4)?"Jeudi":(DATEPART("dw",MaDate)==5)?"Vendredi":(DATEPART("dw",MaDate)==6)?"Samedi":(DATEPART("dw",MaDate)==7)?"Dimanche":"Erreur"
Pour générer un libellé de semestre :
(DATEPART("qq",MaDate) < 3)?"1er semestre":"2ème semestre"
Pour générer un libellé de trimestre:
(DATEPART("qq",MaDate)==1)?"1er trimestre":(DATEPART("qq",MaDate)==2)?"2ème trimestre":(DATEPART("qq",MaDate)==3)?"3ème trimestre":"4ème trimestre"
L'installation de packages SSIS
2013-05-28 16:53:09.000
2013-05-28 16:53:09.000
Il existe plusieurs modes d'installation et de déploiement des packages SSIS, voici les plus communs :
Déploiement par SQL Server Data Tools :
Lors de la phase de développement, l'outil SQL Server Data Tools permet de déployer directement le package sur un serveur.
Installation par SQL Server Management Studio :
L'agent SQL Server (le service SQL Agent) permet de planifier l'exécution de packages SSIS. L'outil SQL Server Management Studio permet de le configurer.
Installation par utilitaire :
Au moment de la génération du package, le compilateur créé un fichier ayant pour nom "[nom_du_projet].ispac" dans le dossier bin/Development. Il s'agit d'un utilitaire d'installation des packages. Il suffit généralement de spécifier la source des données et la cible d'installation.
Installation en ligne de commande :
L'exécutable DtExec.exe permet de déployer un package en ligne de commande.Ce qui permet de se passer de SQL Agent et d'utiliser un autre outil de planification.
Pour éviter d'apprendre la syntaxe par coeur, il existe une astuce : Dans SQL Server Management Studio, au moment de l'exécution du package, aller dans la partie "Ligne de commande" et récupérer la chaîne de caractères. Il suffit ensuite d'ajouter DtExec.exe devant cette chaîne paramètre.
Déploiement par SQL Server Data Tools :
Lors de la phase de développement, l'outil SQL Server Data Tools permet de déployer directement le package sur un serveur.
Installation par SQL Server Management Studio :
L'agent SQL Server (le service SQL Agent) permet de planifier l'exécution de packages SSIS. L'outil SQL Server Management Studio permet de le configurer.
Installation par utilitaire :
Au moment de la génération du package, le compilateur créé un fichier ayant pour nom "[nom_du_projet].ispac" dans le dossier bin/Development. Il s'agit d'un utilitaire d'installation des packages. Il suffit généralement de spécifier la source des données et la cible d'installation.
Installation en ligne de commande :
L'exécutable DtExec.exe permet de déployer un package en ligne de commande.Ce qui permet de se passer de SQL Agent et d'utiliser un autre outil de planification.
Pour éviter d'apprendre la syntaxe par coeur, il existe une astuce : Dans SQL Server Management Studio, au moment de l'exécution du package, aller dans la partie "Ligne de commande" et récupérer la chaîne de caractères. Il suffit ensuite d'ajouter DtExec.exe devant cette chaîne paramètre.
Coach MSDN sur la BI
2013-02-07 13:52:10.000
2013-02-07 13:52:10.000
Pour avoir un aperçu rapide des outils BI de Microsoft, il existe des tutoriels téléchargeables. Pour le moment, ils n'existent des tutoriaux que pour SQL Server 2008 R2. Mais en attendant une correspondance avec 2012, les voici :
- Atelier 1 : Chapitre 1 - Découverte d'Analysis Services
- Atelier 2 : Chapitre 2 - Découverte de Reporting Services
- Atelier 3 : Chapitre 3 - Découverte d'Integration Services
Requête dynamique dans un package SSIS
2013-01-08 16:25:15.000
2013-01-08 16:25:15.000
Dans SSIS, il est possible de créer des requêtes dynamiques exécutées pour chaque élément d'un flux.
Par exemple, on veut initialiser la valeur d'une colonne en fonction de l'identifiant de la table :
Mettre "Id=" [Colonne_Id] dans une colonne [Colonne_Description]
Pour cela :
Par exemple, on veut initialiser la valeur d'une colonne en fonction de l'identifiant de la table :
Mettre "Id=" [Colonne_Id] dans une colonne [Colonne_Description]
Pour cela :
- Utiliser le composant "Colonne dérivée" pour créer une nouvelle donnée avec l'expression : "Id=" + (DT_WSTR,50) [Colonne_Id]
- Utiliser le composant "Commande OLE DB" et écrire la requête suivante :
UPDATE MaTable SET Colonne_Description = ? WHERE Colonne_Id = ? - Utiliser l'onglet "Mappage de colonnes" du composant pour mapper avec les bonnes données du flux. SSIS génère automatique des paramètres param_0 et param_1 qui correspondent aux ? rencontrés, dans l'ordre d'apparition.
1 2