IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

SSIS Discussion :

Affecter une nouvelle valeur à une colonne dans l'outil Derived Column Transformation [2008R2]


Sujet :

SSIS

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Juin 2011
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2011
    Messages : 45
    Points : 32
    Points
    32
    Par défaut Affecter une nouvelle valeur à une colonne dans l'outil Derived Column Transformation
    Bonjour je voudrais affecter la valeur 0 aux champs d'une colonne qui sont à NULL. Je pense qu'il est possible de réaliser ce genre de tâche dans l'outil Derived Column Transformation. Comment je peux faire? Si quelqu'un a un tutoriel sur les expressions et leur syntaxe je suis preneur!

    Merci!

  2. #2
    Membre émérite Avatar de FrancoisJehl
    Homme Profil pro
    BI Engineer
    Inscrit en
    Juillet 2009
    Messages
    1 485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : BI Engineer
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2009
    Messages : 1 485
    Points : 2 883
    Points
    2 883
    Par défaut
    Un truc du genre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    (ISNULL([TaColonne]) ? 0 : [TaColonne])
    (C'est une conditionnelle ternaire, ( <condition> ? <then> : <else>))

    Pour la doc, MSDN est vraiment pas mal fichue sur cet aspect là. Je te passe le lien vers la référence des expressions SSIS. http://msdn.microsoft.com/fr-fr/library/ms140206.aspx
    François JEHL
    BI Engineer | MVP SQL Server
    http://fjehl.wordpress.com
    Pour me contacter, par MP ou ici, mais pas pour des questions techniques.

    /*
    Avant de poster cherchez dans la FAQ et utilisez la fonction "Rechercher" du forum.
    Au moment de poster, posez votre question dans le bon sous-forum (Débuter, SSAS, SSRS, SSIS), en utilisant les TAGs prédéfinis ([2K], [2K5], [2K8], [2K8R2]).
    */

  3. #3
    Membre chevronné Avatar de Jinroh77
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Février 2006
    Messages
    1 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Février 2006
    Messages : 1 964
    Points : 2 145
    Points
    2 145
    Par défaut
    Attention par contre, peut-être au cast de la valeur. SSIS est un peu sensible la-dessus
    Alexandre Chemla - Consultant MS BI chez Masao

  4. #4
    Membre émérite Avatar de FrancoisJehl
    Homme Profil pro
    BI Engineer
    Inscrit en
    Juillet 2009
    Messages
    1 485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : BI Engineer
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2009
    Messages : 1 485
    Points : 2 883
    Points
    2 883
    Par défaut
    Ouais pas bête ça. Bon après si, comme on peut l'imaginer, c'est pour remplacer une Surrogate Key entière non trouvée dans un LookUp par le 0 qu'on a gardé gentiment pour l'Unknown Member (bon pour ceux qui gèrent ça à l'ancienne dans l'ETL hein Alexandre ) ça risque pas grand chose.
    François JEHL
    BI Engineer | MVP SQL Server
    http://fjehl.wordpress.com
    Pour me contacter, par MP ou ici, mais pas pour des questions techniques.

    /*
    Avant de poster cherchez dans la FAQ et utilisez la fonction "Rechercher" du forum.
    Au moment de poster, posez votre question dans le bon sous-forum (Débuter, SSAS, SSRS, SSIS), en utilisant les TAGs prédéfinis ([2K], [2K5], [2K8], [2K8R2]).
    */

  5. #5
    Membre chevronné Avatar de Jinroh77
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Février 2006
    Messages
    1 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Février 2006
    Messages : 1 964
    Points : 2 145
    Points
    2 145
    Par défaut
    Hummm mais justement, si on traite cela proprement, avec un véritable membre inconnu dans la dimension, on effectue le remplacement du NULL par -1 comme ça, directement dans le packge SSIS, perdu au milieu de toute cette belle alimentation.
    Ce n'est pas jolie les valeurs en dur comme ça dans le code
    Alexandre Chemla - Consultant MS BI chez Masao

  6. #6
    Nouveau membre du Club
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Juin 2011
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2011
    Messages : 45
    Points : 32
    Points
    32
    Par défaut
    Bonjour à tous, FrançoisJehl et Jinroh77, merci pour vos réponses,

    voilà ce que j'avais fait hier soir:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    !ISNULL(LangueGa) ? LangueGa : !ISNULL(LangueCo) ? LangueCo : !ISNULL(LangueRe) ? LangueRe : !ISNULL(LangueDe) ? LangueDe : 0
    Voilà pourquoi je faisais ça: j'ai une dimension localisation, avec comme colonne Continent, Pays, Region, Département. Hors il existe dans le référentiel applicatif plusieurs langues, de sorte qu'après ma requête j'obtiens ce résultat:

    IdContinent Continent IdLangue IdPays Pays IdLangue ...
    1-----------Europe---- 1---------1-- France ------ 1
    1-----------Europa-----2---------1---France--------2
    1-----------Europe-----1---------null---null---------null

    Je dois faire un tri par langue, et je ne sais pas à l'avance si l'idLangue est nul, d'ou cette requête:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    !ISNULL(LangueGa) ? LangueGa : !ISNULL(LangueCo) ? LangueCo : !ISNULL(LangueRe) ? LangueRe : !ISNULL(LangueDe) ? LangueDe : 0
    Le problème est donc résolu je connais désormais la syntaxe des expressions.
    Connaissez vous la best practice pour gérer l'internationalisation dans mon datawarehouse, et donc comment on le gère sous SSAS, et in fine comment je dois concevoir mon Datawarehouse pour bien la gérer.

    L'intérêt vous l'avez compris et que si un Anglais se connecte, il veut les libelle des localisations en anglais^^

    @++

    PS: Si j'ouvre un post pour cette question, je le fais dans quelle partie?

  7. #7
    Membre émérite Avatar de FrancoisJehl
    Homme Profil pro
    BI Engineer
    Inscrit en
    Juillet 2009
    Messages
    1 485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : BI Engineer
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2009
    Messages : 1 485
    Points : 2 883
    Points
    2 883
    Par défaut
    Pour internationaliser les libellés avec SSAS tu as besoin d'une colonne de libellé alternatif par langue. Si tu jettes un coup d'oeil à Adventure Works tu verras que certaines dimensions ont plusieurs libellés (ex: FrenchProductName, EnglishProductName...) qui servent à ça. C'est une manière de faire.
    François JEHL
    BI Engineer | MVP SQL Server
    http://fjehl.wordpress.com
    Pour me contacter, par MP ou ici, mais pas pour des questions techniques.

    /*
    Avant de poster cherchez dans la FAQ et utilisez la fonction "Rechercher" du forum.
    Au moment de poster, posez votre question dans le bon sous-forum (Débuter, SSAS, SSRS, SSIS), en utilisant les TAGs prédéfinis ([2K], [2K5], [2K8], [2K8R2]).
    */

  8. #8
    Nouveau membre du Club
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Juin 2011
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2011
    Messages : 45
    Points : 32
    Points
    32
    Par défaut
    Et après au niveau de SSAS, si un utilisateur anglais se connecte, il ne veut pas voir les noms en français, comment fait on? Sans avoir de notions, intuitivement tu as pu voir que dans ma dimension un ligne correspond à un libelle avec un idLangue, donc j'aurai dans ma dimension par exemple

    Colombie; id Langue:1
    Colombia; idLangue: 2

    J'ai conçu la dimension de cette manière en pensant qu'après il était possible de passer un filtre à la dimension du genre: afficher les valeurs d'attribut de la dimension si l'idLangue = 1. Mais techniquement je ne sais pas encore le faire. C'est pour ça que je demande s'il existe des best practices, celle de Adventure Works ne parait correspondre aux besoins, car après comment je gère le fait de filtrer les bonnes colonnes selon la langue que je veux afficher? Il n'existe pas de la doc sur le sujet? Pour l'instant je n'ai pas trouvé

  9. #9
    Membre émérite Avatar de FrancoisJehl
    Homme Profil pro
    BI Engineer
    Inscrit en
    Juillet 2009
    Messages
    1 485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : BI Engineer
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2009
    Messages : 1 485
    Points : 2 883
    Points
    2 883
    Par défaut
    La gestion de la traduction en colonnes est plus appropriée si tu veux le gérer côté SSAS (en plus ça limite le nombre de membres).
    Donc la version d'AW est ce qui se rapproche le plus de ce qu'on fait en général. Tout cela se gère dans l'onglet "Translations" du dimension Designer, ou tu peux changer le nom des attributs, hiérarchies et niveaux mais aussi choisir la NameColumn spécifique à un langage, que l'on appelle CaptionColumn. C'est dans MSDN: http://msdn.microsoft.com/en-us/library/ms189014.aspx. Un petit exemple rapide dans un vieux post de Vidas Matelis (tu peux y voir l'attribut "Country" qui a comme libellé la colonne Pays en Français, Pais en Espagnol) http://www.ssas-info.com/VidasMateli...g-translations

    Si tu veux plus d'explications ouvre un nouveau sujet dans la partie SSAS, parce que là on part violemment dans le HS
    Et n'oublie pas de marquer celui là à !
    François JEHL
    BI Engineer | MVP SQL Server
    http://fjehl.wordpress.com
    Pour me contacter, par MP ou ici, mais pas pour des questions techniques.

    /*
    Avant de poster cherchez dans la FAQ et utilisez la fonction "Rechercher" du forum.
    Au moment de poster, posez votre question dans le bon sous-forum (Débuter, SSAS, SSRS, SSIS), en utilisant les TAGs prédéfinis ([2K], [2K5], [2K8], [2K8R2]).
    */

  10. #10
    Nouveau membre du Club
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Juin 2011
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2011
    Messages : 45
    Points : 32
    Points
    32
    Par défaut
    Pas de soucis, je vais copier coller tes réponses et ouvrir un nouveau post. La discussion continue ici: http://www.developpez.net/forums/d11...lisation-ssas/

    Celui là est résolu.

    Merci!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 14
    Dernier message: 11/03/2014, 09h01
  2. [XL-2002] Macro de comparaison d'une cellule d'une feuille avec une cellule d'une autre feuille.
    Par steelydan dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 08/09/2010, 12h59
  3. Réponses: 11
    Dernier message: 09/01/2007, 17h46
  4. Affecter des evenements sur une nouvelle balise
    Par Arnard dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 17/11/2006, 16h18
  5. [VBA]Affectation d'une valeur à une cellule par une fonction
    Par lallougri dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 27/02/2006, 14h24

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo