<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Blog Homsys &#187; Alexis Sacksteder</title>
	<atom:link href="http://blog.homsys.com/author/asacksteder/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.homsys.com</link>
	<description>Business Intelligence</description>
	<lastBuildDate>Fri, 10 Feb 2012 16:31:00 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>IBM Techsoftware 2011</title>
		<link>http://blog.homsys.com/ecosysteme-bi/ibm-techsoftware-2011</link>
		<comments>http://blog.homsys.com/ecosysteme-bi/ibm-techsoftware-2011#comments</comments>
		<pubDate>Fri, 02 Sep 2011 08:36:53 +0000</pubDate>
		<dc:creator>Alexis Sacksteder</dc:creator>
				<category><![CDATA[Actualité événementielle]]></category>
		<category><![CDATA[Ecosystème BI]]></category>
		<category><![CDATA[BAO]]></category>
		<category><![CDATA[cloud]]></category>
		<category><![CDATA[Cognos]]></category>
		<category><![CDATA[IBM]]></category>
		<category><![CDATA[mobilité]]></category>
		<category><![CDATA[SPSS]]></category>

		<guid isPermaLink="false">http://blog.homsys.com/?p=738</guid>
		<description><![CDATA[Hier et aujourd'hui se tient l'IBM TechSoftware à Bois Colombes. L'événement est l'occasion de 2 plénières et plus de 120 sessions techniques et workshops.

Je vous propose dans cet article un retour sur la plénière d'hier qui donne un avant goût des sujets phares pour les prochaines années.]]></description>
			<content:encoded><![CDATA[<p>Hier et aujourd&#8217;hui se tient l&#8217;IBM TechSoftware à Bois Colombes. L&#8217;événement est l&#8217;occasion de 2 plénières et plus de 120 sessions techniques et workshops.</p>
<p>Je vous propose dans cet article un retour sur la plénière d&#8217;hier qui donne un avant goût des sujets phares pour les prochaines années.</p>
<p>3 thèmes se dégagent:</p>
<p><strong><span style="text-decoration: underline;">1) Le BAO:</span></strong></p>
<p>Très intéressant pour nous puisqu&#8217;il s&#8217;agit tout simplement de notre quotidien. BAO pour Business Analytics and optimisation. Il ne s&#8217;agit pas moins de ce que l&#8217;on appelle chez Homsys la BI ++: aller plus loin que le reporting rétroviseur, maintenant, bien ancré dans les entreprises.</p>
<p>2 axes forts dans cette mouvance: l&#8217;analyse prédictive et la gestion des gros volumes de données, ce que l&#8217;on appelle le Big Data (plusieurs peta octets de données).</p>
<p>Watson, <a href="http://www.01net.com/editorial/528437/watson-la-machine-d-ibm-lemporte-sur-les-humains-maj/">l&#8217;ordinateur d&#8217;IBM qui a battu les meilleurs humains au jeu Jeopardy</a> en début d&#8217;année est l&#8217;illustration de cette capacité à dégager une décision à partir de gros volumes d&#8217;information.</p>
<p>Hasard du calendrier, <a href="http://www.itespresso.fr/ibm-se-renforce-dans-le-secteur-de-l%E2%80%99analyse-informatique-grace-a-i2-45541.html">IBM annonçait hier le rachat de l&#8217;éditeur I2 spécialisé dans l&#8217;intelligence économique et l&#8217;analyse</a>.</p>
<p><strong><span style="text-decoration: underline;">2) Le cloud:</span></strong></p>
<p>2ème thèmatique de cette plénière, le cloud est un sujet de plus en plus présent mais qui nécessite une transformation dans notre manière de penser, de fonctionner.</p>
<p>Basculer vers le cloud équivaut à Virtualiser, Automatiser et Standardiser.</p>
<p>Tout n&#8217;est pas &laquo;&nbsp;cloudifiable&nbsp;&raquo; mais lorsque cela est possible les gains sont significatifs.</p>
<p>IBM propose notamment un cloud public qui permet d&#8217;obtenir en quelques clics une machine virtuelle prête à l&#8217;emploi.</p>
<p><span style="text-decoration: underline;"><strong>3) La mobilité:</strong></span></p>
<p>3ème et dernière thématique de cette plénière, la mobilité est poussée en entreprise en raison des pratiques privées. Les tablettes et smartphones font partie de notre quotidien mais en dehors de la sphère professionnelle (hormis pour les e mails). Les dirigeants d&#8217;entreprise veulent maintenant pouvoir utiliser ces outils qu&#8217;ils trouvent si pratiques à la maison dans l&#8217;entreprise. Cela me rappelle juste la réunion de ce lundi matin où notre DG préféré est venu en réunion avec sa tablette,&#8230;, pour un résultat mitigé (comme quoi il reste encore un peu de travail pour que la mobilité soit parfaite)&#8230;</p>
<p>La mobilité arrive avec un certains nombre de défis à surmonter:</p>
<p>- Les OS sont beaucoup plus hétérogènes, 5 majeurs dans le monde mobile pour 1 dans le monde PC (Windows avoisine les 99% de part de marché).</p>
<p>- Les failles de sécurité (à priori plus nombreuses sur les mobiles) auxquelles s&#8217;ajoute le risque de perte / vol, sont un problème pour la confidentialité des données</p>
<p>- Le mobile pour être attractif doit tirer partie du contexte: géolocalisation, contexte social (réseaux sociaux)&#8230;</p>
<p><span id="more-738"></span></p>
<p>En résumé de beaux défis pour demain, de belles évolutions en perspective dans notre monde de la BI.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.homsys.com/ecosysteme-bi/ibm-techsoftware-2011/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Lancement d&#8217;Office 2010</title>
		<link>http://blog.homsys.com/actualite-evenementielle/lancement-doffice-2010</link>
		<comments>http://blog.homsys.com/actualite-evenementielle/lancement-doffice-2010#comments</comments>
		<pubDate>Mon, 14 Jun 2010 20:55:53 +0000</pubDate>
		<dc:creator>Alexis Sacksteder</dc:creator>
				<category><![CDATA[Actualité événementielle]]></category>
		<category><![CDATA[Excel]]></category>
		<category><![CDATA[lancement]]></category>
		<category><![CDATA[nouveautés]]></category>
		<category><![CDATA[Office 2010]]></category>
		<category><![CDATA[Outlook]]></category>
		<category><![CDATA[Powerpoint]]></category>
		<category><![CDATA[Word]]></category>

		<guid isPermaLink="false">http://blog.homsys.com/?p=353</guid>
		<description><![CDATA[ David et moi étions présents hier soir à la soirée de lancement d’Office 2010, disponible dans les bacs depuis aujourd’hui mardi 15 juin 2010.
Une courte démo d’une demi-heure nous a permis de (re)découvrir quelques-unes des nouveautés du produit.
Un petit résumé des nouveautés qui nous ont été présentées :


Word
· L’apparition des SmartArts permettant de rapidement [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.homsys.com/wordpress/wp-content/uploads/2010/06/2010061419.41.53.jpg"><img style="margin: 0px 20px 0px 0px; display: inline; border: 0px;" title="2010-06-14 19.41.53" src="http://blog.homsys.com/wordpress/wp-content/uploads/2010/06/2010061419.41.53_thumb.jpg" border="0" alt="2010-06-14 19.41.53" width="436" height="327" align="left" /></a> David et moi étions présents hier soir à la soirée de lancement d’Office 2010, disponible dans les bacs depuis aujourd’hui mardi 15 juin 2010.</p>
<p>Une courte démo d’une demi-heure nous a permis de (re)découvrir quelques-unes des nouveautés du produit.</p>
<p>Un petit résumé des nouveautés qui nous ont été présentées :</p>
<p><strong></strong></p>
<p><strong></strong></p>
<p><strong><span style="text-decoration: underline;">Word</span></strong></p>
<p>· L’apparition des SmartArts permettant de rapidement intégrer des objets, qui étaient précédemment disponibles uniquement dans PowerPoint (effet sur les polices, objets hiérarchiques…)</p>
<p>· L’ajout de nouveaux effets pour la modification et l’intégration d’images. Notamment une fonction de détourage permettant d’intégrer automatiquement du texte autour d’une image (par exemple autour d’une fleur).</p>
<p><strong><span style="text-decoration: underline;">Excel</span></strong></p>
<p>· Mise en forme conditionnelle améliorée, même si le résultat présenté en démo était, comment dire… coloré…</p>
<p>· L’arrivée des sparklines (des petits graphiques de tendance qui tiennent dans une cellule du tableur).</p>
<p><strong><span style="text-decoration: underline;">Outlook</span></strong></p>
<p>· L’apparition du mode conversation qui regroupe automatiquement les mails ayant trait à la même discussion (fonctionnalité bien connue des utilisateurs de Zimbra et Gmail)</p>
<p>· Des fonctionnalités de nettoyage de mails permettant de supprimer des mails en doublons, d’ignorer certaines conversations afin de ne plus être spammé par des sujets pour lesquels nous ne serions pas concernés</p>
<p>· L’apparition du Outlook Social Connector qui permet d’accéder facilement à différentes informations rattachées à un contact : ses derniers mails, les dernières réunions en commun, ses flux rss mais également son profil LinkedIn et Viadeo et bientôt Facebook.</p>
<p><strong><span style="text-decoration: underline;">PowerPoint</span></strong></p>
<p>· L’intégration de vidéos plus poussée, avec notamment la possibilité de sélectionner le passage de la vidéo à diffuser (seconde de début et de fin)</p>
<p>· Des nouveaux effets de transition</p>
<p>· La possibilité d’enregistrer le déroulé du ppt au format vidéo</p>
<p>· La possibilité de partager un lien permettant à plusieurs utilisateurs distants de suivre le déroulé en live de la présentation.</p>
<p><strong><span style="text-decoration: underline;">Nouveautés générales à toute la suite</span></strong></p>
<p>· Modification du ruban contextuel avec notamment la disparition du rond Office et la réapparition des menus fichiers, mise en page, données&#8230;</p>
<p>· Un nouveau menu Fichier avec un accès rapide aux fonctions enregistrer, imprimer, envoyer…</p>
<p>· La possibilité d’effectuer des copies d’écran directement d’un menu Office (plus besoin de faire un ImprEcran et de redécouper l’image dans Paint)</p>
<p>· La possibilité d’enregistrer simplement le document sur le Sharepoint d’entreprise ou sur un répertoire web de stockage (avec la mise à disposition d’un espace de 5Go).</p>
<p><strong><span style="text-decoration: underline;">Les nouveautés web (Office Live)</span></strong></p>
<p>· Accès en lecture aux différents documents Office et modification directement dans le navigateur (IE, Mozilla et Safari) sans nécessairement disposer des produits Office installés sur son poste (nécessite Sharepoint 2010)</p>
<p>· La modification à plusieurs d’un même document en live et en simultanée.</p>
<p><span style="text-decoration: underline;"><strong>Mobile</strong></span></p>
<p>· La disponibilité des applications Office en version mobile pour un meilleur confort d&#8217;utilisation</p>
<p><strong><span style="text-decoration: underline;">Licencing</span></strong></p>
<p>· Nouveau mode de licencing : toutes les versions sont installées nativement (familiale, pro…) et l’activation de la version choisie se fait en fonction de la clé saisie</p>
<p>· Tarifs des produits : 99€ pour l’édition familiale, 199€ pour la version petite entreprise et 499€ pour la professionnelle</p>
<p><strong><span style="text-decoration: underline;">Conclusion:</span></strong></p>
<p>La brièveté de la démo ne permettait pas de faire le tour de toutes les nouveautés, mais, utilisant le produit depuis quelques mois, je trouve qu’il s’est enrichi de nombreuse améliorations assez sympas (notamment sur l’utilisation d’Excel comme un outil BI, peut-être l’occasion d’un prochain post…) et qu&#8217;il permet de gagner du temps au quotidien.</p>
<p>La possibilité de modifier des documents à plusieurs en simultané est assez bluffante (même si elle est un cran en dessous de ce que propose Google).</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.homsys.com/actualite-evenementielle/lancement-doffice-2010/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>La gestion des logs avec SSIS</title>
		<link>http://blog.homsys.com/trucs-astuces/la-gestion-des-logs-avec-ssis</link>
		<comments>http://blog.homsys.com/trucs-astuces/la-gestion-des-logs-avec-ssis#comments</comments>
		<pubDate>Mon, 01 Feb 2010 08:30:47 +0000</pubDate>
		<dc:creator>Alexis Sacksteder</dc:creator>
				<category><![CDATA[Trucs & astuces]]></category>
		<category><![CDATA[Audit]]></category>
		<category><![CDATA[log]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[SQL-Server]]></category>
		<category><![CDATA[SSIS]]></category>
		<category><![CDATA[suivi d'exploitation]]></category>

		<guid isPermaLink="false">http://blog.homsys.com/?p=274</guid>
		<description><![CDATA[Pouvoir être en mesure de suivre la bonne exécution des traitements batch SSIS est primordiale.
Plusieurs solutions permettent de répondre à ce besoin de suivi :

La méthode manuelle : Management Studio propose un historique d’exécution des jobs
L’utilisation de tâches SQL permettant de renseigner une table de log
L’utilisation des logs standards SSIS

La solution 2. est très souvent [...]]]></description>
			<content:encoded><![CDATA[<p>Pouvoir être en mesure de suivre la bonne exécution des traitements batch SSIS est primordiale.</p>
<p>Plusieurs solutions permettent de répondre à ce besoin de suivi :</p>
<ol>
<li>La méthode manuelle : Management Studio propose un historique d’exécution des jobs</li>
<li>L’utilisation de tâches SQL permettant de renseigner une table de log</li>
<li>L’utilisation des logs standards SSIS</li>
</ol>
<p>La solution 2. est très souvent rencontrée sur les projets par simple méconnaissance de la 3.</p>
<p>Cet article décrit donc comment mettre en place en quelques minutes un suivi des traitements SSIS performant.</p>
<p>L’activation des logs s’effectue pour chaque package dans le menu <em>SSIS\Enregistrement</em> (Logging en version anglaise)</p>
<p>Les étapes à réaliser sont les suivantes :</p>
<ol>
<li>Choisir dans la liste déroulante <em>type de fournisseur</em>, où seront stockés les logs (base de données, fichier XML,…) puis cliquer sur le bouton <em>Ajouter</em>. Personnellement, je préconise le stockage SQL Server qui permet une exploitation aisée de ces données</li>
<li>Cocher la case à cocher devant le nom du package</li>
<li>Activer la case à cocher devant le fournisseur SQL Server</li>
<li>Sélectionner la base de données hébergeant la table de log</li>
</ol>
<p><a href="http://blog.homsys.com/wordpress/wp-content/uploads/2010/02/clip_image002.jpg"><img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="clip_image002" src="http://blog.homsys.com/wordpress/wp-content/uploads/2010/02/clip_image002_thumb.jpg" border="0" alt="clip_image002" width="343" height="289" /></a></p>
<p><span style="text-decoration: underline;">Remarque :</span> Il n’est pas possible de choisir le nom de la table dans laquelle les logs seront stockés. SSIS 2005 les stocke dans la table sysdtslog90, SSIS 2008 dans sysssislog.</p>
<p>L’onglet Détails permet ensuite de spécifier le niveau de finesse dans le suivi des traitements :</p>
<p>Afin d’éviter des logs trop volumineux, je recommande de tracer uniquement les événements suivants :</p>
<ul>
<li>OnPreExecute : Trace le début d’exécution des différentes tâches présentes dans le niveau Flux de Contrôle</li>
<li>OnPostExecute : Trace la fin d’exécution des différentes tâches présentes dans le niveau Flux de Contrôle</li>
<li>OnError : Trace toutes les erreurs survenues aux niveaux Flux de contrôle et Flux de données</li>
</ul>
<p><a href="http://blog.homsys.com/wordpress/wp-content/uploads/2010/02/clip_image0025.jpg"><img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="clip_image002[5]" src="http://blog.homsys.com/wordpress/wp-content/uploads/2010/02/clip_image0025_thumb.jpg" border="0" alt="clip_image002[5]" width="351" height="296" /></a></p>
<p>Les principaux champs de la table de logs sont les suivants :</p>
<ul>
<li><strong>Event </strong>: événement qui a généré le log (OnPreExecute, OnPostExecute ou OnError)</li>
<li><strong>Computer </strong>: ordinateur qui l’a exécuté</li>
<li><strong>Operator </strong>: utilisateur qui l’a exécuté (permet par exemple de différencier une exécution automatique effectuée par l’agent SQL Server d’une exécution manuelle de rattrapage)</li>
<li><strong>Source </strong>: étape du flux qui a généré le log</li>
<li><strong>SourceId</strong> : Identifiant de l’élément (package, tâche de contrôle…) ayant généré le log</li>
<li><strong>executionId</strong> : identifiant unique de l’exécution</li>
<li><strong>Starttime </strong>: début de l’événement qui a généré le log</li>
<li><strong>Endtime </strong>: fin de l’événement qui a généré le log</li>
<li><strong>Message </strong>: détails de l’événement (notamment les messages d’erreurs sur l’événement OnError)</li>
</ul>
<ul>En quelques clics nous avons ainsi paramétré le stockage de l’information relative à l’exécution des flux SSIS. Ces données peuvent maintenant être requêtées en SQL ou utilisées via du reporting.</p>
<p>A noter qu&#8217;une ligne est écrite dans la table de log pour chaque événement: début d’une tâche, fin d’une tâche ou erreur. Les données doivent donc être manipulées pour obtenir une ligne du type: nom de la tâche, date de début, date de fin et statut d’exécution.</ul>
<ul>Homsys propose ainsi un ensemble de tableaux de suivi développés sous Reporting Services. Cet aspect sera présenté dans un prochain article…</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.homsys.com/trucs-astuces/la-gestion-des-logs-avec-ssis/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Les modèles de package SSIS</title>
		<link>http://blog.homsys.com/trucs-astuces/les-modeles-de-package-ssis</link>
		<comments>http://blog.homsys.com/trucs-astuces/les-modeles-de-package-ssis#comments</comments>
		<pubDate>Mon, 18 Jan 2010 17:14:26 +0000</pubDate>
		<dc:creator>Alexis Sacksteder</dc:creator>
				<category><![CDATA[Trucs & astuces]]></category>
		<category><![CDATA[model]]></category>
		<category><![CDATA[modèle]]></category>
		<category><![CDATA[package]]></category>
		<category><![CDATA[SSIS]]></category>

		<guid isPermaLink="false">http://blog.homsys.com/?p=261</guid>
		<description><![CDATA[Fonctionnalité souvent méconnue et sous utilisée : SSIS (SQL Server Integration Services) permet de créer des modèles de package qui intègrent les éléments récurrents d’un projet.
Pourquoi utiliser des modèles de package :
Un modèle de package pourra par exemple contenir les éléments suivants :

Cartouche d’en tête documentant le flux (description du flux, date de création, auteur…)
Activation des logs [...]]]></description>
			<content:encoded><![CDATA[<p>Fonctionnalité souvent méconnue et sous utilisée : SSIS (SQL Server Integration Services) permet de créer des modèles de package qui intègrent les éléments récurrents d’un projet.</p>
<h2>Pourquoi utiliser des modèles de package :</h2>
<p>Un modèle de package pourra par exemple contenir les éléments suivants :</p>
<ul>
<li>Cartouche d’en tête documentant le flux (description du flux, date de création, auteur…)</li>
<li>Activation des logs d’audit des traitements</li>
<li>Connexion vers les bases de données du projet</li>
<li>Variables communes (nom du serveur DWH, chemin de stockage des fichiers sources, chemin de l’archivage…)</li>
<li>Utilisation du fichier de configuration qui permet l’alimentation dynamique des variables communes</li>
<li>Propriété delayValidation valant True afin d’éviter les ralentissements à l’ouverture des packages</li>
</ul>
<p>La mise en place de ces éléments permet ainsi un gain de temps intéressant, une homogénéisation des différents développements (les variables communes auront le même nom dans l’ensemble des packages) ainsi qu’un risque d’anomalie réduit (erreur de paramétrage des connexions, du fichier de configuration…).</p>
<h2>Comment développer un package modèle ?</h2>
<p>Un package modèle est un package SSIS standard dans lequel les éléments communs auront été implémentés. Ce package doit ensuite être copié dans le répertoire :</p>
<p><em>C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\PrivateAssemblies\ProjectItems\DataTransformationProject\DataTransformationItems</em></p>
<p><em> </em></p>
<p><em> </em></p>
<p><em> </em></p>
<h2>Comment utiliser un package modèle :</h2>
<p><em> </em></p>
<p>L’utilisation du modèle de package s’effectue via les étapes suivantes :</p>
<p>Cliquer droit sur le projet puis <em>Ajouter\Nouvel Element</em> :</p>
<p><a href="http://blog.homsys.com/wordpress/wp-content/uploads/2010/01/clip_image0021.jpg"><img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="clip_image002" src="http://blog.homsys.com/wordpress/wp-content/uploads/2010/01/clip_image002_thumb1.jpg" border="0" alt="clip_image002" width="290" height="228" /></a></p>
<p align="center"><a name="_Toc249355403">Utiliser un modèle de package Etape 1</a></p>
<p>Ajouter l’élément Package_model_SSIS :</p>
<p><a href="http://blog.homsys.com/wordpress/wp-content/uploads/2010/01/clip_image004.jpg"><img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="clip_image004" src="http://blog.homsys.com/wordpress/wp-content/uploads/2010/01/clip_image004_thumb.jpg" border="0" alt="clip_image004" width="455" height="282" /></a></p>
<p align="center"><a name="_Toc249355404">Utiliser un modèle de package Etape 2</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.homsys.com/trucs-astuces/les-modeles-de-package-ssis/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>La gestion des doublons avec SSIS</title>
		<link>http://blog.homsys.com/trucs-astuces/la-gestion-des-doublons-avec-ssis</link>
		<comments>http://blog.homsys.com/trucs-astuces/la-gestion-des-doublons-avec-ssis#comments</comments>
		<pubDate>Tue, 12 Jan 2010 10:58:39 +0000</pubDate>
		<dc:creator>Alexis Sacksteder</dc:creator>
				<category><![CDATA[Trucs & astuces]]></category>
		<category><![CDATA[doublon]]></category>
		<category><![CDATA[SSIS]]></category>

		<guid isPermaLink="false">http://blog.homsys.com/?p=212</guid>
		<description><![CDATA[Plusieurs techniques existent permettant de détecter et traiter des lignes en doublon avec Microsoft SQL Server Integration Services (SSIS).
La plupart des ressources sur le web proposent de gérer ce point uniquement avec du SQL dans la source de données, certaines proposent même de passer par des tables temporaires.
Je vous propose ici une solution rapide à [...]]]></description>
			<content:encoded><![CDATA[<p>Plusieurs techniques existent permettant de détecter et traiter des lignes en doublon avec Microsoft SQL Server Integration Services (SSIS).</p>
<p>La plupart des ressources sur le web proposent de gérer ce point uniquement avec du SQL dans la source de données, certaines proposent même de passer par des tables temporaires.</p>
<p>Je vous propose ici une solution rapide à mettre en œuvre tout en bénéficiant des avantages de SSIS en termes de maintenance, de performance et de lisibilité en phase de développement.</p>
<p>Cette solution répond au besoin suivant :</p>
<ul>
<li>Ma table cible doit être alimentée avec des lignes uniques par rapport à une clé,</li>
<li>Dans le cas où des doublons sont rencontrés, l’une des lignes doit être conservée,</li>
<li>Les doublons peuvent être identifiés et éventuellement stockés dans une table de rejet.</li>
</ul>
<p>Ce cas est notamment rencontré lorsque l’on charge un référentiel client. Souvent, la base client doit être la plus complète possible mais dans le cas où la donnée serait dupliquée, on ne souhaite ni dupliquer le client ni perdre la trace de son existence. On appliquera alors une règle fonctionnelle permettant de déterminer la version du client à conserver en cas de doublon (le numéro de création le plus élevé ou la date de mise à jour la plus récente par exemple).</p>
<p><a href="http://blog.homsys.com/wordpress/wp-content/uploads/2010/01/clip_image002.jpg"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="clip_image002" src="http://blog.homsys.com/wordpress/wp-content/uploads/2010/01/clip_image002_thumb.jpg" border="0" alt="clip_image002" width="244" height="180" /></a></p>
<p align="center"><a name="_Toc248752017"></a>1 : Contrôle de doublon avec conservation de l’une des lignes du doublon</p>
<p>1) DOUBLON : Source contenant potentiellement des doublons</p>
<p>2) Contrôle doublon : Recherche effectuée avec les paramétrages spécifiques suivants :</p>
<p>a. Onglet <em>Général</em> : « Rediriger les lignes en erreur vers la sortie sans correspondance »</p>
<p>b. Onglet <em>Connexion</em> : requête sur la même table que la source DOUBLON permettant de renvoyer l’ensemble des lignes qui ne sont pas en doublon et, pour les lignes en doublon, la ligne qui devra être conservée. La requête est construite comme suit :</p>
<blockquote><p>select CLE, max(COND) COND from doublon group by CLE</p></blockquote>
<p>Où CLE correspond à la ou les colonnes constituant la clé sur laquelle le test d’unicité est effectué, COND correspond au critère permettant de choisir la ligne à conserver en cas de doublon (numéro de création, date de mise à jour…). Selon les cas, le Max peut être remplacé par un Min.</p>
<p>c. Onglet <em>Colonne</em> : Faire la jointure sur la ou les colonnes CLE et COND</p>
<p>3) Le flux de sortie « Sortie de recherche avec correspondance » fournit les lignes non doublonnées ainsi que la ligne devant être conservée en cas de doublon.</p>
<p>4) Le flux de sortie « Sortie de recherche sans correspondance » fournit les lignes qui sont doublonnées, qui pourront ensuite être insérées dans une table de rejet.</p>
<p>Remarque : Dans le cas où la présence de doublons doit interrompre le chargement, on pourra implémenter un compteur de nombre de lignes sur la branche « sortie sans correspondance » qui, s’il est différent de 0 bloquera la suite de l’exécution.</p>
<p><span style="text-decoration: underline;">Autres solutions permettant de traiter des doublons :</span></p>
<ul>
<li>Utilisation du composant MSDN : <a href="http://msdn.microsoft.com/fr-fr/library/ms160916%28SQL.90%29.aspx">http://msdn.microsoft.com/fr-fr/library/ms160916%28SQL.90%29.aspx</a> (je ne l’ai personnellement pas testé).</li>
<li>Utilisation de la tâche de Tri et de l’option « Supprimer les lignes avec valeurs de tri en double » : L’avantage de cette solution est sa simplicité de mise en œuvre, son inconvénient est qu’elle ne permet pas de récupérer les lignes en doublon.</li>
<li>Utilisation des composants multidiffusion, agrégation, jointure pour reproduire un fonctionnement identique à la requête SQL présente dans le lookup de la solution présentée ci-dessus. L’avantage de cette solution est qu’elle est uniquement basée sur l’utilisation de composants SSIS, son inconvénient est qu’elle est un peu plus longue à développer et ses performances sont un peu moins bonnes.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.homsys.com/trucs-astuces/la-gestion-des-doublons-avec-ssis/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Rencontre avec Fausto Ibarra (Director of Product Management , SQL Server. Microsoft Corp)</title>
		<link>http://blog.homsys.com/ecosysteme-bi/rencontre-avec-fausto-ibarra-director-of-product-management-enterprise-application-plateforme-microsoft-corp</link>
		<comments>http://blog.homsys.com/ecosysteme-bi/rencontre-avec-fausto-ibarra-director-of-product-management-enterprise-application-plateforme-microsoft-corp#comments</comments>
		<pubDate>Thu, 15 Oct 2009 21:23:36 +0000</pubDate>
		<dc:creator>Alexis Sacksteder</dc:creator>
				<category><![CDATA[Ecosystème BI]]></category>
		<category><![CDATA[CUBIM]]></category>
		<category><![CDATA[Gemini]]></category>
		<category><![CDATA[Master Data Services]]></category>
		<category><![CDATA[MDM]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[PowerPivot]]></category>
		<category><![CDATA[SQL Server 2008 R2]]></category>

		<guid isPermaLink="false">http://blog.homsys.com/?p=57</guid>
		<description><![CDATA[Les membres du CUBIM (Club Utilisateurs BI Microsoft) rencontraient jeudi 15 octobre  Fausto Ibarra pour un échange d’1 heure sur les nouveautés SQL Server 2008 R2 et sur les versions à venir.
Bien évidemment la majeure partie de la session fut consacrée à Gemini (qui s&#8217;appellera dorénavant PowerPivot) avec une démo assez bluffante sur de [...]]]></description>
			<content:encoded><![CDATA[<p>Les membres du CUBIM (Club Utilisateurs BI Microsoft) rencontraient jeudi 15 octobre  Fausto Ibarra pour un échange d’1 heure sur les nouveautés SQL Server 2008 R2 et sur les versions à venir.</p>
<p>Bien évidemment la majeure partie de la session fut consacrée à Gemini (qui s&#8217;appellera dorénavant PowerPivot) avec une démo assez bluffante sur de l’analyse instantanée sur 100 millions de lignes présentes dans un onglet Excel !</p>
<p>Autre sujet à suivre: Master Data Services. Grâce au rachat de Stratature (juin 2007), SQL Server 2008 R2 intégrera une solution de MDM (Master Data Management) permettant la gestion et la saisie de référentiel avec notamment :</p>
<ul>
<li>Du versionning</li>
<li>Du workflow</li>
<li>Des hiérarchies</li>
<li>De la sécurité</li>
</ul>
<p>Cette brique encore absente de la beta que nous testons actuellement arrivera dans la prochaine beta à la fin du mois d&#8217;octobre.</p>
<p>La session fut également l’occasion d’évoquer le sujet de la scalabilité avec le projet Madison et la distribution des données “on the cloud” avec le projet Azure.</p>
<p>La sortie de SQL Server 2008 R2 est annoncée pour le 1er semestre 2010.</p>
<p>Quelques axes d&#8217;évolutions des futures versions:</p>
<ul>
<li>L&#8217;intègration d&#8217;une brique Data Quality Services (issue du rachat de Zoomix)</li>
<li>L&#8217;amélioration des performances d’Analysis Services.</li>
</ul>
<p>Cette version est pour l’instant prévue pour 2011…</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.homsys.com/ecosysteme-bi/rencontre-avec-fausto-ibarra-director-of-product-management-enterprise-application-plateforme-microsoft-corp/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Utilisation de la tâche de chargement en bloc sous SSIS</title>
		<link>http://blog.homsys.com/trucs-astuces/utilisation-de-la-tache-de-chargement-en-bloc-sous-ssis</link>
		<comments>http://blog.homsys.com/trucs-astuces/utilisation-de-la-tache-de-chargement-en-bloc-sous-ssis#comments</comments>
		<pubDate>Mon, 05 Oct 2009 17:21:00 +0000</pubDate>
		<dc:creator>Alexis Sacksteder</dc:creator>
				<category><![CDATA[Trucs & astuces]]></category>
		<category><![CDATA[bulk insert]]></category>
		<category><![CDATA[chargement en bloc]]></category>
		<category><![CDATA[SSIS]]></category>

		<guid isPermaLink="false">http://blog.homsys.com/?p=43</guid>
		<description><![CDATA[La tâche SSIS (Microsoft SQL Server Integration Services) de chargement en bloc est utile pour charger un fichier plat dans une table d’une base de données dans les 2 cas suivants:

Le chargement d’un fichier volumineux
Le chargement d’un fichier à champs fixes contenant un nombre de colonnes important (ce qui permet un gain de temps non [...]]]></description>
			<content:encoded><![CDATA[<p>La tâche SSIS (Microsoft SQL Server Integration Services) de chargement en bloc est utile pour charger un fichier plat dans une table d’une base de données dans les 2 cas suivants:</p>
<ul>
<li>Le chargement d’un fichier volumineux</li>
<li>Le chargement d’un fichier à champs fixes contenant un nombre de colonnes important (ce qui permet un gain de temps non négligeable en phase de développement)</li>
</ul>
<p style="text-align: center"><img class="aligncenter" style="border-bottom: 0px;border-left: 0px;float: none;margin-left: auto;border-top: 0px;margin-right: auto;border-right: 0px" src="http://blog.homsys.com/wordpress/wp-content/uploads/2009/10/clip_image002_thumb.jpg" border="0" alt="clip_image002" width="153" height="56" /></p>
<p align="center"><span style="color: #808080">Tâche d’insertion en bloc</span></p>
<ul> Son utilisation n’étant pas toujours triviale, voici une description des différentes étapes à suivre :</p>
<p><a href="http://blog.homsys.com/wordpress/wp-content/uploads/2009/10/clip_image002.jpg"></a></p>
<li>1) Création d’une connexion vers le fichier texte à charger</li>
<li>2) Utilisation de la tâche d’insertion en bloc (présente dans le flux de contrôle)</li>
<li>3) Paramétrage de l’onglet Connexion de la tâche d’insertion en bloc</li>
<li>4) Paramétrage de l’onglet Options de la tâche d’insertion en bloc</li>
</ul>
<h5><span style="color: #004080"><span style="text-decoration: underline">Etape 3</span></span><a name="_Toc242270943"><span style="color: #004080"><span style="text-decoration: underline">) Paramétrage de l’onglet Connexion de la tâche d’insertion en bloc</span></span></a><span style="text-decoration: underline">:</span></h5>
<p><a href="http://blog.homsys.com/wordpress/wp-content/uploads/2009/10/clip_image004.jpg"></a></p>
<p style="text-align: center" align="center"><a href="http://blog.homsys.com/wordpress/wp-content/uploads/2009/10/image.png"><img class="aligncenter" style="border-bottom: 0px;border-left: 0px;float: none;margin-left: auto;border-top: 0px;margin-right: auto;border-right: 0px" src="http://blog.homsys.com/wordpress/wp-content/uploads/2009/10/image_thumb.png" border="0" alt="image" width="244" height="237" /></a> <span style="color: #808080">Tâche d’insertion en bloc – Onglet Connexion</span></p>
<ul>
<li><strong><span style="text-decoration: underline">Connexion :</span></strong> Choisir la connexion vers la base de données dans laquelle les données seront chargées.</li>
<li><strong><span style="text-decoration: underline">DestinationTable :</span></strong> Choisir le nom de la table dans laquelle les données seront insérées. La table devra contenir l’ensemble des colonnes présentes dans le fichier.</li>
<li><strong><span style="text-decoration: underline">File :</span></strong> Connexion vers le fichier plat source.</li>
<li><strong><span style="text-decoration: underline">Format :</span></strong> Spécifier la valeur <em>Utiliser un fichier</em> pour charger un fichier dont le format est décrit dans un fichier de format .<em>fmt. </em>Pour les fichiers au format délimité sélectionner le format <em>Spécifier.</em></li>
</ul>
<p>Options pour les fichiers au format champs fixes :</p>
<ul>
<li><strong><span style="text-decoration: underline">FormatFile </span></strong>: Définir le chemin d’accès vers le fichier .fmt décrivant le format du fichier.</li>
</ul>
<p>Options pour les fichiers au format délimité :</p>
<ul>
<li><strong><span style="text-decoration: underline">RowDelimiter :</span></strong> Définir les caractères séparateurs de lignes (en général {CR}{LF} en environnement windows).</li>
<li><strong><span style="text-decoration: underline">ColumnDelimiter  :</span></strong> Définir les caractères séparateurs de colonnes</li>
</ul>
<p><a href="http://blog.homsys.com/wordpress/wp-content/uploads/2009/10/clip_image0025.jpg"><img style="border-bottom: 0px;border-left: 0px;margin-left: 0px;border-top: 0px;margin-right: 0px;border-right: 0px" src="http://blog.homsys.com/wordpress/wp-content/uploads/2009/10/clip_image0025_thumb.jpg" border="0" alt="clip_image002[5]" hspace="12" width="43" height="43" align="left" /></a>Le chemin utilisé vers le fichier de format dans la propriété <em>FormatFile</em> doit être au format UNC (Universal Naming Convention): <a href="//\\NomServeur\Partage">\\NomServeur\Partage</a>.</p>
<h5><a name="_Toc242270944"><span style="text-decoration: underline">Etape 4) Paramétrage de l’onglet Option de la tâche d’insertion en bloc</span></a></h5>
<p style="text-align: center"><a href="http://blog.homsys.com/wordpress/wp-content/uploads/2009/10/clip_image006.jpg"><img class="aligncenter" style="border-bottom: 0px;border-left: 0px;float: none;margin-left: auto;border-top: 0px;margin-right: auto;border-right: 0px" src="http://blog.homsys.com/wordpress/wp-content/uploads/2009/10/clip_image006_thumb.jpg" border="0" alt="clip_image006" width="244" height="236" /></a></p>
<p align="center"><span style="color: #808080">Tâche d’insertion en bloc – Onglet Options</span></p>
<ul>
<li><strong><span style="text-decoration: underline">Options :</span></strong> Décocher les différents contrôles.</li>
<li><strong><span style="text-decoration: underline">SortedDate :</span></strong> Laisser la valeur non renseignée par défaut.</li>
<li><strong><span style="text-decoration: underline">MaxErrors :</span></strong> Laisser la valeur 0</li>
<li><strong><span style="text-decoration: underline">CadePage :</span></strong> Spécifier la valeur <em>RAW</em></li>
<li><strong><span style="text-decoration: underline">DataFileType :</span></strong> Spécifier la valeur <em>char</em></li>
<li><strong><span style="text-decoration: underline">BatchSize :</span></strong> Laisser la valeur 0</li>
<li><strong><span style="text-decoration: underline">LastRow :</span></strong> Laisser la valeur 0</li>
<li><strong><span style="text-decoration: underline">FirstRow :</span></strong> Laisser la valeur 1 (sauf si le fichier contient un en-tête qui ne doit pas être chargé)</li>
</ul>
<p><a name="_Toc242270944"><span style="text-decoration: underline">Exemple de fichier .fmt:</span></a></p>
<p>Le fichier .<em>fmt</em> permet de décrire le format du fichier à charger. Il liste les colonnes contenues dans le fichier ainsi que leurs caractéristiques. Sa construction est en général rapide à partir d’un document excel décrivant les colonnes du fichier (pour ceux qui le souhaitent, j’ai un exemple de fichier permettant la génération automatique de fichier fmt à partir de formules excel).</p>
<p>Voici un exemple de fichier .fmt  simple :</p>
<blockquote><p>10.0</p>
<p>2</p>
<p>1 SQLCHAR 0 3 &laquo;&nbsp;&nbsp;&raquo;       1 CH1 French_CI_AS</p>
<p>2 SQLCHAR 0 5 &laquo;&nbsp;\r\n&nbsp;&raquo; 2 CH2 French_CI_AS</p></blockquote>
<ul>
<li>La première ligne correspond à la version SQL Server utilisée (10.0 pour la version 2008, 9.0 pour la version 2005, 8.0 pour la version 2000 et 7.0 pour la version SQL 7…)</li>
<li>La deuxième ligne précise le nombre de colonnes présentes dans le fichier</li>
<li>Les lignes suivantes décrivent chaque colonne du fichier en précisant : la position de la colonne, SQLCHAR, 0, le nombre de caractères de la colonne, le numéro de la colonne, le nom de la colonne, la collation (FRENCH_CI_CI_AS).</li>
</ul>
<p><a href="http://blog.homsys.com/wordpress/wp-content/uploads/2009/10/clip_image0026.jpg"><img style="border-bottom: 0px;border-left: 0px;margin-left: 0px;border-top: 0px;margin-right: 0px;border-right: 0px" src="http://blog.homsys.com/wordpress/wp-content/uploads/2009/10/clip_image0026_thumb.jpg" border="0" alt="clip_image002[6]" hspace="12" width="43" height="43" align="left" /></a>La dernière ligne du fichier doit être un retour à la ligne.</p>
<p>L<a href="http://blog.homsys.com/wordpress/wp-content/uploads/2009/10/clip_image001.gif"><img style="border-bottom: 0px;border-left: 0px;margin-left: 0px;border-top: 0px;margin-right: 0px;border-right: 0px" src="http://blog.homsys.com/wordpress/wp-content/uploads/2009/10/clip_image001_thumb.gif" border="0" alt="clip_image001" width="26" height="31" align="left" /></a>a génération du fichier fmt peut être également effectuée automatiquement à partir de la table cible en utilisant la commande bcp.</p>
<p><a name="_Toc242270944"><span style="text-decoration: underline">Générer un fichier .fmt à partir de la commande bcp:</span></a></p>
<p>Ouvrir une fenêtre d’Invite de commande et exécuter la commande suivante :</p>
<blockquote><p>bcp <em>NomBaseDeDonnées.Schéma.NomTable</em> format nul -c -f</p>
<p>CHGT_BLOC.fmt -T -S <em>NomServeur\NomInstance</em></p></blockquote>
<p style="text-align: center" align="center"><a href="http://blog.homsys.com/wordpress/wp-content/uploads/2009/10/image1.png"><img class="aligncenter" style="border-bottom: 0px;border-left: 0px;float: none;margin-left: auto;border-top: 0px;margin-right: auto;border-right: 0px" src="http://blog.homsys.com/wordpress/wp-content/uploads/2009/10/image_thumb1.png" border="0" alt="image" width="244" height="48" /></a> <span style="color: #808080">Exemple d’utilisation de la commande BCP</span></p>
<p><a name="_Toc242270944"><span style="text-decoration: underline">Conclusion:</span></a></p>
<p>Ce composant a l’avantage d’être performant. Il a par contre l’inconvénient d’être difficile à auditer en cas d’erreur. En effet, si le fichier source ne respecte pas strictement le format décrit, le fichier sera rejeté en bloc sans possibilité d’identifier la ligne ou la colonne ayant généré une erreur. Il n’est pas possible également de placer une visionneuse sur les données pour suivre le chargement.</p>
<p>Ce composant n’est donc à utiliser que sur des fichiers dont la structure est connue et bien maîtrisée. Pour des fichiers non volumineux et contenant un nombre de colonnes raisonnables, on préférera utiliser le chargement classique via des sources OLE DB.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.homsys.com/trucs-astuces/utilisation-de-la-tache-de-chargement-en-bloc-sous-ssis/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

