Power Query dax avec référence

bennp

XLDnaute Occasionnel
Bonjour,

je n'arrive pas à récupérer une valeur sur une autre partie du tableau une ligne fait référence à une autre ligne de mon tableau pour indiquer une valeur, quelqu'un pourrait regarder mon fichier svp ?
tableau.png

if Code = "RSET_0151" and [#"Referentiel en usage - Copier"] = "RSET_0150" then .....



rechercher la même correspondance "Code" et [identifiant de la liaoson] et afficher la [valeur] qui est 1 pour mon exemple.

J'espère être assez clair :)

Merci d'avance pour tous les problèmes résolus sur ce forum, d'une grande aide pour comprendre et apprendre !!

Ben

ps: j'ai dû enlever un ] sinon il comprend que je veux saisir un code et non une variable qui s'appelle "Code"
 

Pièces jointes

  • rset.xlsx
    88.6 KB · Affichages: 9

Hasco

XLDnaute Barbatruc
Repose en paix
Met la sur un hébergeur de fichier.
bonjour,

Méthode non recommandée par la charte du forum (et elle a raison). D'autant qu' il y a des moyens d'alléger un fichier pour synthétiser un problème, si on veut bien s'en donner les moyens..
Avons-nous besoin de tout le fichier pour comprendre ? Ce dont on a besoin, ce sont des explications claires et quelques données anonymisées et sans données confidentielles.
 

xUpsilon

XLDnaute Accro
bonjour,

Méthode non recommandée par la charte du forum (et elle a raison). D'autant qu' il y a des moyens d'alléger un fichier pour synthétiser un problème, si on veut bien s'en donner les moyens..
Avons-nous besoin de tout le fichier pour comprendre ? Ce dont on a besoin, ce sont des explications claires et quelques données anonymisées et sans données confidentielles.
Bonjour Hasco,

Je suis entièrement d'accord avec toi, mais j'ai beau essayer de comprendre ce que notre cher demandeur cherche, je n'y arrive pas, donc je croise les doigts pour enfin avoir un exemple parlant.

Bonne journée,
 

bennp

XLDnaute Occasionnel
Bonjour, j'ai allégé le fichier.

Desolé si c'est imcompréhensible pour vous, ça l'ai aussi pour moi mais je pense être sur la bonne voix :)

pour info, ce fichier provient de data.gouv (

Données OPE 2021 (CSV compressé au format ZIP))​

--> https://www.data.gouv.fr/fr/datasets/r/747957ef-3b36-4c4c-bf33-c97283787dc1



J'ai aussi eu du mal à comprendre le fonctionnement des données entre-elles.
Nous avons ici, pleins de donées associées à un identiffiant opération (bâtiment construit) et certaines données peuvent être liées entre-elles via l'identifiant de liaison, ce qui est mon cas ici.
 

Pièces jointes

  • rset.xlsx
    99 KB · Affichages: 4

xUpsilon

XLDnaute Accro
Bonjour,

Donc si j'ai mieux compris, chaque "Identifiant de liaison" (qui est donc notre identificateur unique ?) a une valeur RSET_0150 ET une valeur RSET_0151. Sauf que cette valeur RSET_0151 dépend de la valeur de RSET_0150. C'est ça ?

Des questions supplémentaires donc :
- est-ce que chaque identifiant de liaison a forcément au moins une valeur RSET_0150 et une valeur RSET_0151 ?
- un identifiant de liaison peut-il avoir une valeur RSET_0151 sans avoir de valeur RSET_0150 ? Si oui, quelle doit être cette valeur ?
- est-il possible que la valeur de RSET_0150 soit autre que 1 2 3 4 ? Si oui, comment doit se comporter RSET_0151 ?

Bonne journée,
 

bennp

XLDnaute Occasionnel
Bonjour,

Des questions supplémentaires donc :
- est-ce que chaque identifiant de liaison a forcément au moins une valeur RSET_0150 et une valeur RSET_0151 ? oui
- un identifiant de liaison peut-il avoir une valeur RSET_0151 sans avoir de valeur RSET_0150 ? Si oui, quelle doit être cette valeur ? non
- est-il possible que la valeur de RSET_0150 soit autre que 1 2 3 4 ? Si oui, comment doit se comporter RSET_0151 ? non mais d'autres RSET du même genre, oui :

RSET_373 --> 13 valeurs
RSET_411 --> 3 valeurs

RSET_441 --> 3 valeurs


on retrouve ce nombre en fonction de la référence indiquée dans la colonne "Référentiel en usage" du tableau Dictionnaire RSET_0150 --> REF028 --> 4 lignes indiquées dans le Tableau Référentiel.

C'est pour ça que dans mes requêtes crées RSET_0150, RSET_0373, etc, l'étape nommée "Fractionner la colonne par position", je fractionne beaucoup plus que prévu que RSET_0150 afin que ce soit applicable dans d'autres formules.

j'avais filtré les données, je renvoie donc le fichier mis à jour pour voir apparaître RSET_0373, etc.

Merci :)
 

Pièces jointes

  • rset.xlsx
    99 KB · Affichages: 2

xUpsilon

XLDnaute Accro
Ok, alors voici comment je verrais les choses :
- la valeur associée à la ligne RSET_0151 dans cette ligne est en fait un calcul basé sur l'identifiant de liaison unique. Donc il faut que tu aies une ligne par identifiant unique.
- sur chaque ligne, il te faut la valeur du code RSET_0150 (puisque tout le monde a un RSET_0150, ce qui nous intéresse c'est la valeur qui y est associée, pas le fait qu'il y ait écrit RSET_0150)
- pour le même identifiant de liaison, importer sur la même ligne le code RSET Complémentaire, qui peut être RSET_0151, ou RSET_xxxx puisqu'apparemment il n'y a pas seulement le REST_0151 en complément
- par une formule personnalisée basée sur un Select Case, renvoyer la valeur du code RSET complémentaire, basé sur la valeur du RSET_0150 et la valeur du RSET complémentaire (ici donc basé sur la valeur 1 et sur le RSET_0151)

1663933124823.png



Bonne journée,

P.S : par curiosité, j'ai été regarder un peu plus de valeurs dans ton fichier, et je me suis rendu compte que toutes les identifiants de liaison n'ont pas forcément de ligne contenant RSET_0150 ni RSET_0151. Donc ce que tu as dit juste au dessus est faux ?
- est-ce que chaque identifiant de liaison a forcément au moins une valeur RSET_0150 et une valeur RSET_0151 ? oui
 

bennp

XLDnaute Occasionnel
Oui effectivement, en fait j'ai compris comme la question du dessous.

J'ai l'impression que tu crées une formule dans excel et non dans Power Query, tu ne pense pas que ça va poser problème par la suite ?

J'ai remarqué qu'il y avait plusieurs RSET_0150 pour une même opération. Je peux peut-être te renvoyer le tableau complet d'une seule opération pour qu'on puisse vérifier si tout est ok ?
 

xUpsilon

XLDnaute Accro
J'ai l'impression que tu crées une formule dans excel et non dans Power Query, tu ne pense pas que ça va poser problème par la suite ?
Quelle est la source originelle de tes données ? On peut faire une formule en dax sans problème pour répondre à la problématique, à supposer que l'extraction des données nous permette une structure comme celle que je t'ai montrée plus haut.

J'ai remarqué qu'il y avait plusieurs RSET_0150 pour une même opération.
Oui mais tu as un seul identifiant de liaison par combinaison RSET_0150 + RSET_0151 donc ce n'est pas un problème. Il te faudra une table de correspondance entre les identifiants opération et les identifiants de liaison, c'est tout. Comme ça pour un identifiant d'opération tu auras toutes les valeurs renvoyées par les différents identifiants de liaison.
 

Hasco

XLDnaute Barbatruc
Repose en paix
Desolé si c'est imcompréhensible pour vous, ça l'ai aussi pour moi mais je pense être sur la bonne voix :)

pour info, ce fichier provient de data.gouv
Bonjour,

Vous avez pourtant tout intérêt à comprendre la structure et le fonctionnement de ces jeux de données si vous voulez obtenir des certificats de conformités.

Voici l'URL Stable vers le fichier PDF de la documentation :

Cordialement
 

Hasco

XLDnaute Barbatruc
Repose en paix
Bonjour,

Voici une tentative à partir de vos requêtes et de ce que j'en ai compris.
J'ai créé deux requêtes, la premières nommée "Références" établit une table de correspondance ou association entre les codes et Références à retenir, par éclatement des chaînes Si ...=.... Alors .... Sinon...
1664022690598.png

Et une autre qui fait le reste "Fusionner2"
Cette dernière n'est pas aboutie afin que vous puissiez faire les vérifications idoines.

Cordialement
 

Pièces jointes

  • rset.xlsx
    113.8 KB · Affichages: 1

Discussions similaires

Réponses
7
Affichages
307

Statistiques des forums

Discussions
312 194
Messages
2 086 064
Membres
103 110
dernier inscrit
Privé