BI experience

6 novembre 2012
par maryam khiali
0 Commentaires

Package SSIS bloqué

Si vous êtes dans un contexte similaire :

  • grosse volumétrie
  • SQL server 2008 (ou les connexions ADO.NET ne sont pas supportées correctement)
  • On utilise des connexions OLEDB (si on était en SQL server 2008R2 avec ADO.NET, nous n’aurions pas rencontré ce problème de package bloqué)
  • La source de données utilise la table cible. Exemple concret : Ma stratégie de chargement est la suivante : je charge une table temporaire (Temp_ma_table) avec 5 jours d’historique par exemple (car c’est une table volumineuse). Et pour charger les nouvelles lignes dans la table cible (ma_table), je fais en source une requête du type :

SELECT a.*
FROM
Temp_ma_table a
LEFT OUTER JOIN ma_table b
ON a.champ1= b.champ1 and a.champ2= b.champ2
WHERE b.champ1 is null

Et donc lors du chargement, le lot utilise la même table en lecture et en écriture. Visiblement SSIS ne monte pas toutes les lignes en mémoire mais fait du coup par coup. Donc si vous ne faites pas certains réglages, le package reste bloqué et si vous allez  sur « management studio » voir le monitoring, vous pourrez y voir dans la colonne « Blocked By » un lock de la table:

Pour éviter ces problèmes de locks et donc de package SSIS bloqué, il faut jouer sur les paramètres suivants :

  • Dans les propriétés du composant « data Flow Task » dans le control Flow, vous pouvez jouer sur les paramètres suivants :
    • DefaultBufferMaxRows : 100 000 par exemple
    • DefaultBufferSize : 104 857 600 par exemple (on a ajouté un 0)
  • Dans le Data Flow dans le composant cible il y a l’option : « Table Lock », on peut le décocher:

Alors le fait de décocher cette option n’est pas forcement conseillé mais si elle peut vous débloquer le chargement, ça vaut le coup!

Si vous avez d’autres solutions pour ces problèmes de tables locked et de packages SSIS bloqués,n’hésitez pas à nous en faire part…

 

31 octobre 2012
par maryam khiali
0 Commentaires

Reporting services : Drill Down in a Matrix or Tablix, comme dans un cube

SSRS est plutôt un outil simple. Seulement pour faire une représentation ressemblant à l’exploitation des cubes analysis services dans excel, la manipulation est sioux.

En effet, si vous ne voulez pas avoir trop de colonnes pour exploiter vos données et donc rester sur des tailles de matrix ou tablix raisonnables la manipulation n’est pas évidente.

Ci dessous 2 images du tutorial que je vous indique plus bas.

Cette première image comme vous pouvez le constater est le début d’un tableau que vous pourrez exploiter en mode drill down comme les cubes analysis services. Le seul hic, c’est que le tableau va prendre, tout de suite, beaucoup de place.

Le but est donc d’arriver à ce résultat :

Le tableau aura donc une taille raisonnable. Bref voici ce fameux tutorial que j’ai trouvé sur le net après une longue recherche.

Profitez en bien!

Si vous avez d’autres astuces pour bien présenter vos données sur SSRS n’hésitez pas à nous les faire partager avec des commentaires!!

 

26 septembre 2012
par maryam khiali
0 Commentaires

Debugger un package SSIS

Lorsqu’un package plante il existe plusieurs possibilités pour le debugger. Dans cet article vous-y trouverez une bonne explication sur ces 3  outils:

  •  le « data Viewers » : si c’est un problème de données dans le flux. Cette option nous permet de visualiser les données sans les mettre dans une table physique ou un fichier…donc bien pratique!
  • Les sorties « redirect row ou error output » qui permettent de connaitre les données qui ne passent pas dans le flux donc qui ne vont pas dans la table de destination ou dans le fichier de destination. (exemple à la sortie d’un lookup => flèche rouge)
  • Les « breakpoints » qui permettent dans la fenêtre « locals » de visualiser les valeurs des variables. Voici un article un peu plus complet sur le sujet

Il y a aussi :

  • l’onglet « progress » voir cet article en exemple vous pourrez y voir les « errors » ou encore la durée des traitements…
  • Les errors pourront aussi être retrouvées dans la fenêtre « Output »
  • Vous pouvez aussi utiliser le composant « row count » pour mettre dans une variable le nombre de lignes qui transitent et ensuite le stocker dans une table d’audit par exemple.

Lorsque l’on développe en SSIS, il faut acquérir des techniques qui permettent rapidement de comprendre pourquoi des données sont manquantes en cible ou pourquoi le package plante. Ces outils sont donc là pour nous assister alors autant les utiliser…

Et vous comment faites-vous?

20 septembre 2012
par maryam khiali
0 Commentaires

Reporting services : Styles

Chaque entreprise a sa charte graphique. Lors de la création de rapports pour que la mise en page soit rapide et qu’elle respecte cette charte, Reporting services offre plusieurs possibilités :

  • On peut ajouter des templates (.rdl) qui seront accessibles lors de la création d’un rapport  dans un projet avec le menu suivant : Ces templates seront à placer dans le dossier ci-dessous (pour plus d’informations aller sur ce lien):

C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\IDE\PrivateAssemblies\ProjectItems\ReportProject

  • On peut agir aussi au niveau du wizard de création d’un nouveau rapport, nous pouvons proposer de nouveaux thèmes.Il faut modifier le fichier Style_Templates.xml situé dans le dossier ci-dessous pour ajouter son thème :

C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\IDE\PrivateAssemblies\Business Intelligence Wizards\Reports\Styles

C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\IDE\PrivateAssemblies\Business Intelligence Wizards\Reports\Styles\en

Ces 2 manipulations aideront les développeurs lors de la création d’un nouveau rapport par contre, elles ne permettront pas de rendre le rapport dynamique au niveau de son style. Dynamique dans le sens où si vous voulez changer la couleur de votre titre, par exemple, vous n’avez pas à passer sur chaque rapport, seule la modification d’une variable suffit dans un fichier ou autre.

  • Pour information, les fichiers .CSS ne fonctionnent pas pour les rapports. Sur msdn vous trouverez la phrase suivante :

« Dans Reporting Services, les rapports ne font pas référence à des feuilles de style. Les rapports ad hoc qui sont générés automatiquement par le serveur de rapports utilisent des informations de style qui sont stockées sous forme de ressources incorporées dans les fichiers programmes du serveur de rapports. Les rapports que vous créez dans le Concepteur de rapports utilisent les polices, les couleurs et la mise en page que vous spécifiez dans la définition de rapport. Les styles sont créés en accord avec le reste de la mise en page. » donc les choses sont statiques et on ne peut pas utiliser de .CSS.

  • Cependant des personnes ont pensé à utiliser la base de données comme référentiel de style. Voici un article très bien fait sur le sujet. C’est la seule manière pour l’instant de rendre un rapport dynamique au niveau de son style.

Et vous comment faites-vous?

10 septembre 2012
par maryam khiali
2 Commentaires

Etude Gartner : Data quality

Le gartner a récemment publié le positionnement des différents acteurs de la business intelligence sur la qualité de données. Et voici ce qu’il en ressort :

Les critères de classement :

* Profiling : capacité à récupérer des informations qui permettent de se rendre compte de la qualité de données et des types de problèmes dans les données
* Parsing and standardization: permettre la création de règles de gestion, pattern…pour standardiser les informations
* Generalized « cleansing »: pouvoir appliquer ces règles de gestion à un large spectre de données
* Matching: identifier, lier ou merger des données connexes ou non ou à travers un ensemble de données
* Monitoring: mettre des contôles pour s’assurer que les règles de gestion pour la qualité de données sont bien appliquées
* Enrichment: enrichir l’information avec des informations de ressources externes, des méta-datas…

* Connectivity/adapters: possibilité de faire communiquer plusieurs types de données
* Subject-area-specific support: pouvoir standardiser des informations spécifiques
* International support: gestion de multi langue
* Metadata management: ajouter des metadatas au process de data quality
* Configuration environment: Capacité à créer, gérer, déployer des règles de gestion.
* Operations and administration: Facilité à gérer le data quality process.
* Workflow/data quality process support: possibilité de données aux utilisateurs la validation de données.
* Service enablement: Architecture orienté SOA

Et je ne sais pas si vous l’avez remarqué mais Microsoft ne fait pas parti de ce cadran…Il n’est pas encore dans la course. Nous verrons si avec SQL server 2012, il réussira à rattraper son retard sur ces sujets de data management.

Qu’en pensez-vous?