Prendre la date minimum d’une colonne

Accueil – Le CFO masqué Forums Power Pivot Prendre la date minimum d’une colonne

  • Ce sujet contient 8 réponses, 2 participants et a été mis à jour pour la dernière fois par Stéphane Lorin, le il y a 3 années et 2 mois.
9 sujets de 1 à 9 (sur un total de 9)
  • Auteur
    Articles
  • #86480
    ilyes.boumezrag
    Participant

    Bonjour,

    Je travaille sur des tableaux sur Power Pivot et je suis en face d’un problème lequel je n’ai pas trouvé de solution.

    J’ai plusieurs lignes avec le même nom de contrat et des dates de facture différente dans chaque ligne, je veux créer une colonne qui prend la date la plus ancienne pour chaque contrat.

    J’ai mis un exemple sur le tableau excel.

    Merci.

    Attachments:
    You must be logged in to view attached files.
    #86482
    Stéphane Lorin
    Participant

    Bonjour

    Vous indiquez “Power Pivot” mais il n’y a pas le moindre modèle de données dans votre fichier, ni même le moindre tableau !

    alors avec une fonction Excel classique, vous pouvez utiliser MIN.SI.ENS

    sinon avec un mesure DAX du style : CALCULATE(MIN([Date de facture]);FILTER(Votre_Tableau;[Contrat]=[Contrat]))
    vous filtrez votre tableau sur le champ [contrat] pour chaque valeur de [contrat] et vous afficher la valeur minimal dans votre restitution
    Si vous tenez à votre colonne calculée dans PowerPivot il faudra sûrement ajouter un ALLEXCEPT dans le FILTER

    Avec un tableau croisé classique, vous pouvez aussi afficher le champ [Date de Facture] et le synthétiser par “Min”

    Stéphane

    #86500
    ilyes.boumezrag
    Participant

    Merci Stéphane pour votre réponse j’ai utilisé celle en DAX, mais y a-t-il une solution sans filtrer chaque contrat tout seul car j’ai beaucoup de contrat.

    #86504
    Stéphane Lorin
    Participant

    Que cherchez vous à faire exactement ?
    En construisant un tableau croisé dynamique à partir du modèle de données, vous mettez en ligne les contrats et votre mesure en valeur et vous obtenez la date min de chaque contrat.
    Stéphane

    #86506
    ilyes.boumezrag
    Participant

    J’ai besoin de la date de facturation la plus ancienne pour chaque contrat pour créer une autre colonne calculée donc un TCD ne me va pas être utile.

    Je cherche une solution qui me donnera le résultat du genre

    GROUP BY contrat
    HAVING MIN (date de facture)

    en sql

    #86514
    Stéphane Lorin
    Participant

    Dans ce cas il faut créer une table inversée et utilisé la fonction SUMMARIZE

    Données/Connexions existantes/Table/ Tableau1 et choisir l’affichage tableau
    Puis Clic Droit/Table/Modifier DAX pour mettre le code

    EVALUATE(
    SUMMARIZE(
    Tableau1,
    Tableau1[Contrat],
    “Min”,
    MIN(Tableau1[Date de facture])
    )
    )

    Et ensuite mettre cette table dans le modèle de données

    Voir la pièce jointe

    Stéphane

    Attachments:
    You must be logged in to view attached files.
    #86542
    ilyes.boumezrag
    Participant

    Merci Stéphane ça marche correctement.

    Bonne journée.

    #86547
    ilyes.boumezrag
    Participant

    Re-bonjour,

    j’ai eu un autre problème après l’écriture du code, en cliquant sur ok pour valider le code j’ai un ce message en dessous, avez vous une idée ?

    Merci.

    Attachments:
    You must be logged in to view attached files.
    #86580
    Stéphane Lorin
    Participant

    Bonsoir
    sans fichier, difficile de vous dire.
    Regarder à la 5ème ligne, s’il n’y a pas un ” qui traîne.

    L’éditeur Excel des tables inversées DAX n’est pas du tout convivial. C’est le moins que l’on puisse dire !

    Je le connais, il peut être très pratique, je vous l’ai proposé car il répond à votre demande mais personnellement je ne l’utilise pas. Je préfère passer par PowerQuery pour ce genre de manip et ajouter la table obtenue au modèle de données.

    Stéphane

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