Archive

Archive for October, 2009

Rencontre avec Fausto Ibarra (Director of Product Management , SQL Server. Microsoft Corp)

October 15th, 2009 No comments

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’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 !

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 :

  • Du versionning
  • Du workflow
  • Des hiérarchies
  • De la sécurité

Cette brique encore absente de la beta que nous testons actuellement arrivera dans la prochaine beta à la fin du mois d’octobre.

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.

La sortie de SQL Server 2008 R2 est annoncée pour le 1er semestre 2010.

Quelques axes d’évolutions des futures versions:

  • L’intègration d’une brique Data Quality Services (issue du rachat de Zoomix)
  • L’amélioration des performances d’Analysis Services.

Cette version est pour l’instant prévue pour 2011…

Moteur de recherche et décisionnel

October 7th, 2009 No comments

Homsys et Exalead co-organisent un  petit déjeuner le 15 octobre prochain à Paris, sur le thème : « Donnez une nouvelle dimension à votre décisionnel avec les technologies de moteur de recherche » :  

  • Les technologies de moteur de recherche appliquées au système décisionnel ouvrent de nouvelles possibilités d’exploration et d’accès aux données de l’entreprise : rapprochement des données structurées et non structurées, vision 360°, recherche dans les rapports archivés, lien plus fluide avec les métadonnées…
  • On peut chercher de manière intelligente, exhaustive et en temps réel sur le Web mais aussi sur de très grandes bases de données.
  • Le moteur de recherche peut se substituer à la mise en place de solutions plus traditionnelles et coûteuses, pour de simples besoin de reporting opérationnel liés à des problématiques de traçabilité notamment.

=> Mettre un moteur de recherche au cœur du décisionnel : une alternative aux solutions classiques, innovante et à fort ROI.

En savoir + : sur le site d’Homsys  

Inscriptions en ligne : ici

Utilisation de la tâche de chargement en bloc sous SSIS

October 5th, 2009 No comments

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 négligeable en phase de développement)

clip_image002

Tâche d’insertion en bloc

    Son utilisation n’étant pas toujours triviale, voici une description des différentes étapes à suivre :

  • 1) Création d’une connexion vers le fichier texte à charger
  • 2) Utilisation de la tâche d’insertion en bloc (présente dans le flux de contrôle)
  • 3) Paramétrage de l’onglet Connexion de la tâche d’insertion en bloc
  • 4) Paramétrage de l’onglet Options de la tâche d’insertion en bloc
Etape 3) Paramétrage de l’onglet Connexion de la tâche d’insertion en bloc:

image Tâche d’insertion en bloc – Onglet Connexion

  • Connexion : Choisir la connexion vers la base de données dans laquelle les données seront chargées.
  • DestinationTable : 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.
  • File : Connexion vers le fichier plat source.
  • Format : Spécifier la valeur Utiliser un fichier pour charger un fichier dont le format est décrit dans un fichier de format .fmt. Pour les fichiers au format délimité sélectionner le format Spécifier.

Options pour les fichiers au format champs fixes :

  • FormatFile : Définir le chemin d’accès vers le fichier .fmt décrivant le format du fichier.

Options pour les fichiers au format délimité :

  • RowDelimiter : Définir les caractères séparateurs de lignes (en général {CR}{LF} en environnement windows).
  • ColumnDelimiter  : Définir les caractères séparateurs de colonnes

clip_image002[5]Le chemin utilisé vers le fichier de format dans la propriété FormatFile doit être au format UNC (Universal Naming Convention): \\NomServeur\Partage.

Etape 4) Paramétrage de l’onglet Option de la tâche d’insertion en bloc

clip_image006

Tâche d’insertion en bloc – Onglet Options

  • Options : Décocher les différents contrôles.
  • SortedDate : Laisser la valeur non renseignée par défaut.
  • MaxErrors : Laisser la valeur 0
  • CadePage : Spécifier la valeur RAW
  • DataFileType : Spécifier la valeur char
  • BatchSize : Laisser la valeur 0
  • LastRow : Laisser la valeur 0
  • FirstRow : Laisser la valeur 1 (sauf si le fichier contient un en-tête qui ne doit pas être chargé)

Exemple de fichier .fmt:

Le fichier .fmt 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).

Voici un exemple de fichier .fmt  simple :

10.0

2

1 SQLCHAR 0 3 “”       1 CH1 French_CI_AS

2 SQLCHAR 0 5 “\r\n” 2 CH2 French_CI_AS

  • 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…)
  • La deuxième ligne précise le nombre de colonnes présentes dans le fichier
  • 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).

clip_image002[6]La dernière ligne du fichier doit être un retour à la ligne.

Lclip_image001a génération du fichier fmt peut être également effectuée automatiquement à partir de la table cible en utilisant la commande bcp.

Générer un fichier .fmt à partir de la commande bcp:

Ouvrir une fenêtre d’Invite de commande et exécuter la commande suivante :

bcp NomBaseDeDonnées.Schéma.NomTable format nul -c -f

CHGT_BLOC.fmt -T -S NomServeur\NomInstance

image Exemple d’utilisation de la commande BCP

Conclusion:

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.

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.

Bienvenue

October 5th, 2009 No comments

Bienvenue sur le blog Business Intelligence d’Homsys.

Categories: Divers Tags: