Club Power BI

Please login or click SIGN UP FOR FREE to create your PowerBIUG account to join this user group.
 View Only
Expand all | Collapse all

exploiter une colonne contenant du texte dans un modèle avec une relation inactive

  • 1.  exploiter une colonne contenant du texte dans un modèle avec une relation inactive

    Posted Sep 28, 2022 06:51 AM
    Bonjour,

    Dans mon entreprise (publique) lorsque des commandes sont passées, elles peuvent être rattachées soit :
    - à rien
    - à un accord cadre
    - à un marché (qui lui-même peut être rattaché à un accord cadre)

    Je cherche à construire 3 colonnes :
    - n° de commande : ok pour celle-ci, elle est présente dans la table 1 de mon modèle ci-dessous
    - n° de marché : ok pour celle-ci, elle est présente dans la table 2 de mon modèle ci-dessous
    - n° d'accord cadre : comment construire celle-ci ?

    J'ai tenté de réaliser le modèle ci-dessous mais sans succès.
    J'imaginais pouvoir exploiter la liaison inactive entre les tables 2 et 3, afin d'utiliser dans mon rapport la table 3 pour construire la colonne "n° d'accord cadre".
    La fonction "USERELATIONSHIP" ne pouvant être combinée qu'avec d'autres fonctions générant des calculs (ex: CALCULATE), là où dans mon cas je voudrais renvoyer du texte (les n° d'accord cadre).

    J'ai pensé également à une solution via power query en réalisant les actions suivantes mais je me dis que ce n'est peut être pas la plus optimisée ? :
    - fusionner les tables 1 et 3 en important le champ "n° accord cadre" dans la table 1
    - fusionner les tables 2 et 3 en important le champ "n° accord cadre" dans la table 2
    - fusionner les tables 1 et 2 en important le champ "n° de marché" et "n° accord cadre" (obtenu grâce à la précédente fusion) dans la table 1
    - créer une colonne personnalisée dans la table 1 : si le champ "n° accord cadre" de la table 3 est différent de vide, alors renvoyer le champ "n° accord cadre" de la table 3, sinon renvoyer le champ "n° accord cadre" de la table 2
    Mais ceci me semble lourd et nécessiterait de multiplier les fusions si je souhaite exploiter d'autres champs des tables 2 et 3.

    Auriez-vous une solution plus simple svp ?



    Merci d'avance pour votre aide

    Cordialement,
    Arnaud

    ------------------------------
    Arnaud Recher
    ------------------------------


  • 2.  RE: exploiter une colonne contenant du texte dans un modèle avec une relation inactive

    Posted Sep 28, 2022 08:45 AM
    Bonjour Arnaud,

    Dans votre cas de figure, dans un premier temps, j'essaierai de fonctionner avec votre première solution en ajoutant des mesures DAX avec des IF pour pouvoir sortir des valeurs textes.

    L'autre solution que je vois est de créer une table composite dans des jointures des lignes suivantes :
    1. Les lignes non rattachées, les lignes rattachées avec des accords-cadres ;
    2. Les lignes rattachées à un marché avec la référence du marché dans une colonne spécifique et où je réutilise la colonne du point 1 qui contient les références des accords-cadres (issus de la table des marchés).
    Nous avons alors sensiblement le même schéma que votre image sauf que la jointure entre les tables 2 et 3 n'est pas utilisée et il y a une colonne supplémentaire dans la table 1 qui est en relation avec la table 2. Le champ PIECE_ACCORD_CADRE_ID de la table 1 n'est en relation qu'avec la table 3.

    Bien à vous,

    ------------------------------
    Philippe Geiger
    Spécialiste certifié Microsoft BI (Azure Data) et directeur des activités
    Metsys Grand-Est, Strasbourg, France
    ------------------------------