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 11 mois.
-
AuteurMessages
-
27 janvier 2021 à 3 h 51 min #86480ilyes.boumezragParticipant
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.27 janvier 2021 à 5 h 19 min #86482Stéphane LorinParticipantBonjour
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 FILTERAvec un tableau croisé classique, vous pouvez aussi afficher le champ [Date de Facture] et le synthétiser par “Min”
Stéphane
27 janvier 2021 à 7 h 48 min #86500ilyes.boumezragParticipantMerci 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.
27 janvier 2021 à 7 h 56 min #86504Stéphane LorinParticipantQue 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éphane27 janvier 2021 à 8 h 05 min #86506ilyes.boumezragParticipantJ’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
27 janvier 2021 à 9 h 35 min #86514Stéphane LorinParticipantDans 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 codeEVALUATE(
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.28 janvier 2021 à 4 h 00 min #86542ilyes.boumezragParticipantMerci Stéphane ça marche correctement.
Bonne journée.
28 janvier 2021 à 5 h 24 min #86547ilyes.boumezragParticipantRe-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.28 janvier 2021 à 12 h 46 min #86580Stéphane LorinParticipantBonsoir
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
-
AuteurMessages
- Vous devez être connecté pour répondre à ce sujet.