Précédent   Forum du club des développeurs et IT Pro > Logiciels > Solutions d'entreprise > Business Intelligence > Microsoft BI
Microsoft BI Forum d'entraide sur les outils Microsoft BI (Integration Services, Analysis Services, Reporting Services,...) Avant de poster --> FAQ Microsoft BI, Tutoriels Microsoft BI
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 07/06/2011, 14h59   #1
Ledobs
Membre à l'essai
 
Inscription : novembre 2008
Messages : 34
Détails du profil
Informations personnelles :
Localisation : Canada

Informations forums :
Inscription : novembre 2008
Messages : 34
Points : 24
Points : 24
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 :
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 :
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 ?
Ledobs est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/06/2011, 18h27   #2
Ledobs
Membre à l'essai
 
Inscription : novembre 2008
Messages : 34
Détails du profil
Informations personnelles :
Localisation : Canada

Informations forums :
Inscription : novembre 2008
Messages : 34
Points : 24
Points : 24
je constate que DISTINCT n'agit pas comme en SQL.

J'ai donc modifié la formule pour :

Code :
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 :
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 ?
Ledobs est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/06/2011, 16h03   #3
Ledobs
Membre à l'essai
 
Inscription : novembre 2008
Messages : 34
Détails du profil
Informations personnelles :
Localisation : Canada

Informations forums :
Inscription : novembre 2008
Messages : 34
Points : 24
Points : 24
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
Ledobs est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Cette discussion est résolue.
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 21h58.


 
 
 
 
Partenaires

Hébergement Web