dimanche 28 juin 2009

Visualiser l'odre du tri de votre collation SQL Server

Petite astuce pour trouver le caractère suivant le "z" lors d'un tri sur votre base de données.
Cela peut s'avérer utile si vous souhaitez avoir un membre qui apparaisse toujours en dernier lorsque vous classez les membres d'une table par ordre alphabétique (sans la nécessité d'une colonne supplémentaire de tri).
Pour retrouver le classement des caractères sur votre base, utilisez la requête suivante:

CREATE TABLE T1 ( ID int, CARACTERE AS char(ID))

DECLARE @I AS Int
SET @I=1


WHILE (@I <256)

BEGIN
INSERT INTO T1(ID) VALUES (@I)
SET @I = @I+1
END

SELECT * FROM T1 ORDER BY CARACTERE go

DROP TABLE T1

Réponse (sur une base en SQL_Latin1_General_CP1_CS_AS): Il existe donc 4 caractères étant classés après le "z" dans un tri. Dans l'ordre: Ð, ð, Þ et þ.

Bien sûr, cela dépend de la collation définie sur votre base. Par exemple la même requête en French_CI_AS donnera le résultat suivant: Ž et ž

Pour information, Ð, ð, Þ et þ sont des lettres utilisées dans l'alphabet islandais...j'aurais pu les chercher longtemps sans cette requête!

mardi 23 juin 2009

SSIS 2008 a fait le ménage

Petite surprise en appliquant à une base SQL Server 2008 un script créé en 2005 et qui manipulait les vues et fonctions systeme sysdtspackagefolders90, sysdtspackages90, sp_dts_deletepackage, sp_dts_deletefolder et autres... Celles ci n'existent plus en 2008! Pour être plus exact, elles ont été renommées. Microsoft a en effet fait du ménage dans ces labels qui faisaient référence à la version 2000 de l'ETL (DTS). Vous utiliserez donc désormais les vues et fonctions systeme sysssipackages, sysssispackagefolders, sp_ssis_deletefolder, sp_ssis_deletepackage etc.

jeudi 18 juin 2009

Financial Planning Accelerator

Une annonce parue aujourd'hui sur le site Partners de Microsoft et commentée sur le très bon blog de Chriss Webb: PerformancePoint Planning est de retour dans une version quasi open-source!

Finalement, Microsoft a entendu les appels de ses partenaires (cf post du mois de fevrier) et permet donc de reprendre le projet planning et d'y apporter sa touche personnelle. Les utilisateurs eux, pourrons bénéficier de ce produit via la licence Sharepoint qui donne accès par la même occasion à PerformancePoint Services Monitoring & Analytics (ex Proclarity).

mercredi 17 juin 2009

Kimball Slowly Changing Dimension (SCD)

L'une des composantes d'un projet BI est la gestion de ce qu'on appelle les "Slowly Changing Dimension" (SCD) ou "dimensions à variation lente". L'enjeu est le suivant, historiser ou non les attributs d'une dimension et si oui, dans quelle mesure. Il existe plusieurs types de SCD, numérotés de 0 à 6, chacun permettant de couvrir un cas de figure particulier, les plus couramment utilisés étant les types 1 et 2.

Prenons l'exemple d'une dimension employé, chaque employé occupant un poste précis. Une SCD de type 1 ne garderait dans le datawarehouse que le dernier poste occupé par un employé. Une SCD de type 2 permettrait elle de garder un historique des postes occupés par l'employé, en précisant les dates de début et de fin de chacun de ces postes.

Il existe différentes méthodes pour appliquer ces principes dans un lot de chargement Integration Services, que ce soit à l'aide de composants de recherche (lookup) ou du composant SSIS SCD. Il existe cependant une alternative gratuite et performante: Le Kimball Slowly Changing Dimension component. Ce composant développé par Todd McDermid et disponible gratuitement sur CodePlex permet de gérer très facilement le chargement des SCD de type 1 et 2.




Seul petit bémol, l'impossibilité de transférer des champs techniques or audit... ce qui n'est pas nécessairement bloquant.

Si vous souhaitez l'essayer, la version 1.4 est disponible ici, je vous le conseille vivement!