2017-09-15 2 views
0

j'ai utilisé le code ci-dessous DAX Power BI (motifs DAX 2015), qui fonctionne très bien pour obtenir de nouveaux clients.

Le client est compté comme NOUVEAU, s'il utilise Product_1 ou Product_2. Maintenant, je voudrais créer le même, mais cette fois lié à chaque produit séparément. La nouvelle mesure PRODUCT_1 du CLIENT serait donc si le client a commencé à utiliser Product_1 pour la première fois (sans tenir compte de Product_2).

Dans la table FACT du modèle de données, j'ai la colonne avec les produits 1 et 2, si en un mois a été utilisé seulement le produit 2, le produit 1 est vide dans la même rangée et vice versa. J'ai essayé d'ajouter Filtre (MAIN; MAIN ([Product_1]> 0)) mais il m'a donné des résultats étranges. Les nouveaux clients ont répété toute l'année, au lieu d'être comptés une seule fois.Nouveaux clients après les lignes de filtrage

Absolute_NEW_Customers(PRODUCT_1) = 
COUNTROWS ( 
     FILTER(
       ADDCOLUMNS(VALUES(MAIN[Customer No]);"PreviousSales"; 
         CALCULATE(COUNTROWS(MAIN);FILTER(ALL('DateKey');DateKey[Date]<MIN('DateKey'[Date])))); 
     [PreviousSales]=0)) 

Répondre

1

J'ai enfin trouvé la fonction qui m'a aidé. Il était nécessaire d'utiliser la fonction "CALCULATETABLE" par laquelle j'ai filtré toute la table. Voici le code final:

Absolute_NEW_Customers(Product_1) = 
COUNTROWS ( 
FILTER(
     ADDCOLUMNS(
       CALCULATETABLE(VALUES(MAIN[Customer No]);FILTER(MAIN;NOT ISBLANK(MAIN[Product_1])));"PreviousSales"; 
         CALCULATE(COUNTROWS(CALCULATETABLE(MAIN;FILTER(MAIN;NOT ISBLANK(MAIN[Product_1]))));FILTER(ALL('DateKey');DateKey[Date]<MIN('DateKey'[Date])))); 
     [PreviousSales]=0))