Accueil – Le CFO masqué › Forums › Excel › Filter avec paramètre dans fonction DAX
- This topic has 8 réponses, 3 participants, and was last updated il y a 4 years et 7 months by jrenauld.
-
AuteurArticles
-
24 avril 2020 à 8 h 18 min #63736jrenauldParticipant
Bonjour,
J’ai fait une fonction DAX qui marche très bien et qui fait la somme des 10 plus grosses rémunérations de l’entreprise :
=CALCULATE(SUMX(‘BDDSalaries’;BDDSalaries[Annual gross salary]);BDDSalaries[Mois];FILTER(‘BDDSalaries’;BDDSalaries[RangRem]<=10);FILTER(ALL(‘BDDSalaries'[Mois]);’BDDSalaries'[Mois]=MAX([Mois])))
Mais j’ai aussi fait une fonction qui calcule 10% de l’effectif de l’entreprise :
10%Effectif =[Effectif]*0,10 avec [Effectif], une mesure calculée par ailleurs. Elle fonctionne parfaitement aussi et me renvoie un chiffre (7 ou 8 actuellement selon les mois)Et je voudrais que le critère de ma première fonction ne soit pas <=10 mais <= [10%Effectif]. Or, ça ne fonctionne pas ☹.
Auriez-vous un conseil à me donner ?
Merci beaucoup par avance,
Juliette
24 avril 2020 à 14 h 43 min #63880Kim LeblancParticipantBonjour Juliette,
Est-ce que vous obtenez un message d’erreur, si oui lequel? ou bien le résultat escompté n’est pas la bon?
Kim
25 avril 2020 à 7 h 33 min #63891Sophie MarchandParticipantBonjour,
Il faudrait avoir accès à votre fichier et surtout à votre modèle de données.
Je prends pour acquis que la colonne Rang[Rem] est une colonne calculée pour obtenir le rang de la rémunération. Vous pouvez alors directement filtrer sur cette colonne pour obtenir les rangs de 1 à 10, comme vous le faites dans votre première mesure.
Mais si ensuite vous utilisez un %, vous ne pouvez plus vous fier sur le numéro de rang et il faut alors faire attention au contexte d’évaluation…
Pour y voir plus clair, et vous proposer une solution, il faudrait avoir accès à votre modèle de données ou un exemple réduit de celui-ci.
Merci.
Sophie
28 avril 2020 à 4 h 56 min #63976jrenauldParticipantBonjour Mesdames,
Je n’obtiens pas de message d’erreur mais une colonne vide quand je remplace la valeur fixe par ma mesure.
Dans les fichiers joints (qui doivent être dans le même dossier) :
Le fichier indicateurs RH contient les mesures qui posent problème (et le modèle de données).
La mesure 10% effectif fonctionne bien, elle donne le nombre de personnes représentant 10% de l’effectif
La mesure TopNRemunerations fonctionne : elle prend les x rémunérations les plus élevées avec X en dur (c’est ce qui me pose problème, je veux que X évolue en fonction de l’effectif).
La mesure Essai Top10% ne fonctionne pas : elle renvoie une colonne vide en prenant en paramètre 10%effectif. Si je remplace par la valeur 6, je retombe sur TopNRemunerations.Merci pour votre aide !
Juliette
28 avril 2020 à 5 h 01 min #63978jrenauldParticipantProblème de fichiers… JE recommence
28 avril 2020 à 8 h 47 min #63981Kim LeblancParticipantBonjour Juliette,
Vos données sont plutôt de nature confidentiel, vous êtes consciente que n’importe qui peut y avoir accès? Avez-vous modifié les données pour les remplacer par des données fictives?
Kim
28 avril 2020 à 9 h 13 min #63983Kim LeblancParticipantEssayer de mettre la mesure [Effectif]*0,10 dans une variable et utilisez cette variable pour filtrer le rang. Voir la variable top10 dans l’Exemple ci-dessous.
Essai top10%:=VAR top10 = [Effectif]*0,10
RETURN
CALCULATE(SUMX(‘BDDSalaries’;BDDSalaries[Annual gross salary]);BDDSalaries[Mois];FILTER(‘BDDSalaries’;BDDSalaries[RangRem]<=top10);FILTER(ALL(‘BDDSalaries'[Mois]);’BDDSalaries'[Mois]=MAX([Mois])))Kim
28 avril 2020 à 11 h 42 min #63991jrenauldParticipantCe sont des données fictives (du moins complètement remaniées). Les noms sont changés, les rémunérations aussi.
Si vous avez juste la possibilité de supprimer le premier fichier que j’avais mis ce serait très bien ainsi que de remplacer mon fichier d’origine par celui joint à ce message pour lequel j’ai fait une petite modification.
Merci,
JulietteAttachments:
You must be logged in to view attached files.28 avril 2020 à 12 h 11 min #63993jrenauldParticipantJ’ai testé, ça marche très bien !
Un grand merci pour votre aide.
Juliette -
AuteurArticles
- Vous devez être connecté pour répondre à ce sujet.