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

Power BI Discussion :

Filtre comme SQL ?


Sujet :

Power BI

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Novembre 2008
    Messages : 38
    Points : 43
    Points
    43
    Par défaut Filtre comme SQL ?
    Bonjour, je débute en DAX et j'ai une requête SQL que je veux traduire en DAX pour générer mes rapport par PowerPivot. La requête va comme suit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT DISTINCT JOUR ,USAGER, INTER FROM Event_D
     WHERE  [TPO] = 'Détails'  AND  
        DATE BETWEEN '2011-05-01'  AND '2011-06-01'
    J'ai tenté cette formule DAX

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    CALCULATE(COUNTROWS(Event_D),DISTINCT(Event_D[USAGER]),DISTINCT(Event_D[INTER]),
    IF(Event_D[TPO]="Détails","1","0")="1")
    Mais ça marche pas. Je retourne directement le nombre de jour en filtrant de la sorte.

    Qu'Est-ce que je fais de mal ?

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Novembre 2008
    Messages : 38
    Points : 43
    Points
    43
    Par défaut
    je constate que DISTINCT n'agit pas comme en SQL.

    J'ai donc modifié la formule pour :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CALCULATE(COUNTROWS(Event_D),FILTER(ALL(Event_D[USAGER]),COUNTROWS(FILTER(DISTINCT(Event_D[INTER]),IF(LEFT(Event_D[INTER],1)="U","1","0")="1"))),IF(Event_D[TPO]="Détails","1","0")="1")
    Mais maintenant je retourne l'ensemble transactions "Détails".

    En somme je passe d'une extrême l'autre. Comment puis-je distinguer les transactions de type "Détails" selon la distinction des combinaisons JOUR/USAGER/INTER.

    J'ai une formule qui me retourne que les usagers et qui fonctionne bien :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CALCULATE(COUNTROWS(DISTINCT(Event_D[USAGER])),IF(LEFT(Event_Ad_Hoc[INTER],1)="U","1","0")="1", IF(Event_Ad_Hoc[TPO]="Détails","1","0")="1")
    Mais je n'arrive pas à filtrer mes combinaisons....

    Quelqu'un aurait une piste ?

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Novembre 2008
    Messages : 38
    Points : 43
    Points
    43
    Par défaut Réglé
    J'ai réglé mon problème en m'ajoutant des colonnes, à la table PowerPivot, qui servent à présenter mes tri. Je COUNT ensuite les lignes qui correspondent aux dates spécifiés.

    Finalement, faut foutre la logique SQL aux vidanges et ça va mieux

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

Discussions similaires

  1. valeur NULL comme sql parameter in vb.net
    Par jerseyshore dans le forum Accès aux données
    Réponses: 1
    Dernier message: 02/05/2013, 09h40
  2. Mise en place de filtres comme sur SeLoger.com
    Par Pierrick81 dans le forum Développement Web avec .NET
    Réponses: 4
    Dernier message: 06/08/2011, 22h49
  3. Réponses: 4
    Dernier message: 26/02/2008, 09h55
  4. Filtre complex SQL
    Par seven077 dans le forum Requêtes
    Réponses: 3
    Dernier message: 28/01/2008, 09h44
  5. Filtre requete SQL
    Par zizou771 dans le forum SQL
    Réponses: 1
    Dernier message: 26/12/2007, 16h18

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