Petite astuce du Jour : Comment “forcer” le langage d’une requête MDX dans un cube SSAS qui gère plusieurs langues ?

L’idée c’est d’avoir par exemple les résultats en anglais quelque soit la culture de mon poste.

Voici une requête MDX exécutée par défaut sur mon cube SSAS :

Select
{
    ( 
        [Delivery Date].[Calendar].[Calendar Year].&[2007],
        [Customer].[Customer Geography].[Country].&[Australia]
    )
    , 
    ( 
        [Delivery Date].[Calendar].[Calendar Year].&[2008],
        [Customer].[Customer Geography].[Country].&[Australia]
    ) 
    
} on 0,
{
    [Product].[Product Categories].[Category] 
} on 1
From [Adventure Works]

 

Le résultat est traduit en français, car mon PC, bien qu’installé avec un OS anglais, a été configuré avec une culture FR :

image

Vous remarquerez que les colonnes sont bien traduites en Français alors que les valeurs de mes 2 tuples composant mon set sont en $

Je veux donc avoir “tout en anglais”.

Une des solutions, sans modifier le cube, est de spécifier la localisation dans la chaine de connexion:

Si vous passez par SSMS, il vous suffit de rajouter le paramètre sur l’onglet option :

image

Une fois la requête ré exécutée, vous trouverez bien vos colonnes correctement traduites Sourire

image

Et voilà pour une méthode simple et efficace pour tester votre localisation !!

Si vous cherchez votre Locale ID (LCID) voici un tableau de récapitulation :

http://msdn.microsoft.com/en-us/goglobal/bb964664

Bon MDX !