IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

  1. #1
    Candidat au Club
    Femme Profil pro
    Data Analyst
    Inscrit en
    novembre 2020
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Data Analyst

    Informations forums :
    Inscription : novembre 2020
    Messages : 3
    Points : 2
    Points
    2
    Par défaut Possible de diviser les valeurs de la colonne d'une table par celles d'une autre table ?
    Bonjour,

    J'ai une table A composée de deux colonnes : nom_site, productibilité_mensuelle. J'ai une table B composée de deux colonnes : nom_site, production_mensuelle. Afin d'obtenir un ratio (de perte), je dois diviser la colonne production_mensuelle (table B) par la colonne productibilité_mensuelle (table A).

    Au départ, j'ai essayé mon propre DIVIDE en DAX mais comme je suis débutant, j'ai créé une "mesure rapide" comme cela :

    DIVIDE(
    SUM('TABLE_B'[production_mensuelle]),
    COUNTA('TABLE_A'[productibilité_mensuelle]))


    Les résultats obtenus via DAX, mesure rapide sont totalement aberrants. J'arrive pas à comprendre pourquoi et je me demande même si c'est possible d'effectuer des divisions sur des tables différentes. Surtout que les fusionner serait ma solution de dernier recours (je cherche à obtenir des modèles génériques).

    Merci par avance pour vos réponses,

  2. #2
    Membre actif
    Homme Profil pro
    Ctrl Gestion
    Inscrit en
    octobre 2011
    Messages
    131
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ctrl Gestion
    Secteur : Industrie

    Informations forums :
    Inscription : octobre 2011
    Messages : 131
    Points : 266
    Points
    266
    Par défaut
    Bonjour,

    Si je comprends bien, tu souhaites connaître le pourcentage de perte entre les deux chiffres de production (A vs B).
    J'aurais alors fait :
    - 1ère mesure : ProductionA = SUM(TableA[Production mensuelle])
    - 2ème mesure : ProductionB = SUM(TableB[Production mensuelle])
    (possible de le faire dans une seule avec des variables).
    Ensuite pour obtenir le pourcentage de perte, à mon avis ce serait :
    Pourcentage Perte = DIVIDE(TableA[ProductionA]-TableB[ProductionB],TableA[ProductionA],blank())
    Je n'ai peut-être pas compris ce que tu souhaitais faire, mais le fait de compter le nombre de valeur de la table B pour être le diviseur de la somme de la table A, doit donner des pourcentages très supérieurs à 100%.
    Si tu peux expliquer par un exemple, ce que tu souhaites obtenir, cela nous permettrait de mieux te répondre
    Cordialement
    DanixDB

  3. #3
    Candidat au Club
    Femme Profil pro
    Data Analyst
    Inscrit en
    novembre 2020
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Data Analyst

    Informations forums :
    Inscription : novembre 2020
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    Oui, j'essaye d'établir le ratio de perte (pourcentage de ce qui aurait pu être produit). En revanche, il me semble qu'il y a deux erreurs dans ta fonction DIVIDE : elle ne peut comporter d'opérateur "-" mais uniquement des "," et elle ne peut comporter plus que trois expressions, or tu en fais figurer quatre.

    Pour rappel, la fonction DAX c'est DIVIDE(<numerator>, <denominator> [,<alternateresult>]).

    Ahhh, je crois avoir compris ce que tu voulais me dire, pardon : DIVIDE([TableA[ProductionA]-TableB[ProductionB]],TableA[ProductionA],blank()) ?

  4. #4
    Membre actif
    Homme Profil pro
    Ctrl Gestion
    Inscrit en
    octobre 2011
    Messages
    131
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ctrl Gestion
    Secteur : Industrie

    Informations forums :
    Inscription : octobre 2011
    Messages : 131
    Points : 266
    Points
    266
    Par défaut
    Bonjour,

    Effectivement la fonction DIVIDE accepte trois arguments et c'est le cas dans ce que j'ai écrit.
    DIVIDE(<numerator> est la différence entre les deux valeurs TableA[ProductionA] et TableB[ProductionB], <denominator> est la valeur de TableA[ProductionA], BLANK())
    On pourrait aussi écrire cette mesure en utilisant des variables comme suit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Pourcentage Perte =
       VAR _ProductionA = SUM(TableA[Production])
       VAR _ProductionB = SUM(TableB[Production])
       VAR _Diff = _ProductionA - _ProductionB
    RETURN DIVIDE(_Diff,_ProductionA,BLANK())
    Cordialement
    DanixDB

  5. #5
    Candidat au Club
    Femme Profil pro
    Data Analyst
    Inscrit en
    novembre 2020
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Data Analyst

    Informations forums :
    Inscription : novembre 2020
    Messages : 3
    Points : 2
    Points
    2
    Par défaut Résolution ci-dessous
    Merci à tous pour votre aide, la réponse à ma question était :

    DIVIDE(
    SUM('TABLE_B'[production_mensuelle]),
    AVEERAGE('TABLE_A'[productibilité_mensuelle]))


    Il faut diviser la SUM par AVERAGE et non pas par SUM, COUNTA ou autre pour obtenir le résultat correct.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2019] Concaténer les valeurs de quatre colonnes en une seule dans un tableau
    Par atk_49 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 30/09/2019, 10h39
  2. [AC-2003] mettre a jour toutes les valeurs d'un colonne dans une zone de liste
    Par yieiyiei dans le forum VBA Access
    Réponses: 1
    Dernier message: 29/04/2015, 21h41
  3. Comparer les valeurs de deux colonnes d'une table
    Par nguim dans le forum Langage SQL
    Réponses: 9
    Dernier message: 14/03/2014, 11h30
  4. Comparer les valeurs de deux colonnes d'une feuille excel
    Par charrynsasi dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 03/12/2012, 14h40
  5. Réponses: 7
    Dernier message: 30/01/2008, 17h39

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo