aide ajout de colonne

Accueil – Le CFO masqué Forums Power BI aide ajout de colonne

  • Ce sujet contient 7 réponses, 2 participants et a été mis à jour pour la dernière fois par Kim Leblanc, le il y a 3 années.
8 sujets de 1 à 8 (sur un total de 8)
  • Auteur
    Articles
  • #88702
    jp.prive
    Participant

    Bonjour,

    J’ai joint une version simplifié de ma table pour illustrer le problème

    J’ai une source de données qui n’est malheureusement pas idéale. Elle collecte des informations sur une unité familiale, mais pour une raison que je ne peux expliquer ou corriger, la source ne réplique pas toujours l’information pour chaque membre de la famille comme ça devrait être le cas.

    Par contre, le membre principal contient toujours les données valides et a toujours le Family ID=1

    Mon but premier, c’est de valider pour chaque ligne qui a fait le travail en fonction de la présence de date dans différentes colonnes. S’il n’y en a pas alors ce n’est pas moi. Comme les dates ne sont pas toujours collectées adéquatement, je me ramasse avec plusieurs cas ou l’enfant est codé “autre” par ma formule alors que j’ai fait le dossier pour la famille.

    J’aimerais donc savoir comment je peux ajouter une étape à mon If, pour vérifier si il existe une autre ligne avec le même “filename” et le “family ID”=1, et si oui simplement copier la valeur de la colonne “who did”
    Si ça ne peut pas se faire dans la même colonne ce n’est pas grave, je pourrai les associer.

    Voici donc la formule de colonne que j’utilise actuellement ajouter une colonne à une table de source sécurisé

    Who did = IF(
    OR( AND(
    NOT(ISBLANK(‘Datamart TaxprepT1V1′[date 1])),
    NOT(ISBLANK(‘Datamart TaxprepT1V1′[date 4]))),
    OR(AND(
    NOT(ISBLANK(‘Datamart TaxprepT1V1′[date 2])),
    NOT(ISBLANK(‘Datamart TaxprepT1V1′[date 3]))),
    AND(
    NOT(ISBLANK(‘Datamart TaxprepT1V1′[date 3])),
    NOT(ISBLANK(‘Datamart TaxprepT1V1′[date 1]))))),
    “Me”,”Else”)

    Attachments:
    You must be logged in to view attached files.
    #88709
    Kim Leblanc
    Participant

    Bonjour,

    Personnellement, c’est le genre de transformation que je ferais dans Power Query en créant une référence à ma requête principale et en filtrant sur les ID = 1, puis fusionner cette requête avec la première en utilisant le filename comme élément commun, si la valeur est null c’est qu’il n’y a pas de filename avec un ID =1.

    Voir le fichier ci-joint.

    Kim

    Attachments:
    You must be logged in to view attached files.
    #88716
    jp.prive
    Participant

    Bonjour Kim,
    effectivement tu n’as pas tord, mais je n’ai pas la main mise sur la source de donnée. Alors je ne peux rien faire à partir de la section “transformer les données” et donc pas de power query pour moi. Je ne peux même pas rafraichir moi-même les données de la table.

    C’est pour cela que je dois passer par l’ajout de colonne. Ce n’est pas optimal, mais je n’aurai pas d’aide des TI pour améliorer la situation avant plusieurs mois.

    En excel, j’ai réussi quelque chose en ayant ma table trié par nom de fichier et ID de famille. Comme ça la recherche V récupère directement en fonction de la première correspondance.

    #88723
    Kim Leblanc
    Participant

    Dans ce cas, la mesure en dax, ressemblerait à ceci:
    var FName = (‘Tableau1 3′[Filename])
    var Minid = CALCULATE(min([Id]);FILTER(all(‘Tableau1 3’);[Filename]=FName))
    var who = CALCULATE(min([WhoDid]);FILTER((ALL(‘Tableau1 3’));[Filename]=FName && [Id] = Minid))
    Return
    IF(Minid = 1;who;”other”)

    Voir le fichier joint. J’ai ajouté la mesure dans Power Pivot.

    Kim

    Attachments:
    You must be logged in to view attached files.
    #88751
    jp.prive
    Participant

    Merci, j’ai adapté la formule pour mon Bi réel et le comportement semble bon

    #88948
    jp.prive
    Participant

    Bonjour,
    j’ai essayé de convertir votre formule pour utiliser une colonne qui contenait des dates au lieu d’un texte.
    Malgré différent test, je n’arrive pas à changer le comportement de la VAR who dans le cas d’une date

    #88954
    jp.prive
    Participant

    Bon, j’ai pris le temps de creuser le problème et le message d’erreur que j’avais.

    voici comment j’ai eu ma solution. Si jamais vous avez une meilleure proposition, je suis preneur, mais ça semble déjà bien fonctionner

    var who = CALCULATE(CONVERT(min([Date In]),STRING),FILTER((ALL(‘Datamart T1V1’)),[Nom du fichier]=FName && [ID du groupe familiale] = Minid))

    #88988
    Kim Leblanc
    Participant

    Je crois que vous auriez pu utiliser aussi la fonction FORMAT au lieu du CONVERT ça vous laisserait choisir le format désiré. ex: FORMAT(min[Date In],”YYYYMMDD”

    Kim

8 sujets de 1 à 8 (sur un total de 8)
  • Vous devez être connecté pour répondre à ce sujet.