2017-10-12 7 views
3

Je compte le nombre d'identifiants uniques par mois dans un délai donné et j'ai noté deux choses étranges: 1. Chercher la même chose mais en utilisant deux approches différentes (valeur pour chaque mois et valeur cumulée mois par mois) donne des valeurs différentes. Voir la capture d'écran ci-dessous 2. Lorsque vous ajouterez manuellement les valeurs dans la première colonne (valeur mensuelle), le résultat est 868, lorsque PowerBI l'a été - c'est 864 o_OPower BI: Ajout simple donnant un mauvais résultat

des idées?

Formula for first column and result

DAX formules ci-dessous:

Y-1 Kandydaci = CALCULATE(
    distinctcount(getDataForTeb[ID_DANE_OSOBOWE]); 
    DATESBETWEEN(
     getDataForTeb[Złożenie podania]; 
     DATE(YEAR(now())-1;4;1); 
     IF(DATE(YEAR(NOW())-1;MONTH(NOW());DAY(NOW()))<=DATE(YEAR(NOW())-1;11;30); 
      DATE(YEAR(NOW())-1;MONTH(NOW());DAY(NOW()));DATE(YEAR(NOW())-1;11;30))); 
      ISBLANK(getDataForTeb[REZYGNACJA_DATA])) 

Y-1 Kandydaci cumulative = CALCULATE(
    DISTINCTCOUNT(getDataForTeb[ID_DANE_OSOBOWE]); 
    FILTER(
     ALL (getDataForTeb); 
     AND (
      getDataForTeb[Złożenie podania] <= MAX(getDataForTeb[Złożenie podania])-364; 
      AND (
       getDataForTeb[Złożenie podania] <= DATE(YEAR(NOW())-1; 11; 30); 
       getDataForTeb[Złożenie podania] >= DATE(YEAR(NOW())-1; 4; 1) 
      ) 
     ) 
    ); 
    ISBLANK(getDataForTeb[REZYGNACJA_DATA]) 
) 

Un autre exemple intéressant seulement d'un tout à l'heure: fichier différent, pas DAX impliqué:

Addition went crazy

+0

N'est pas 'DATE (YEAR (NOW()) - 1; MOIS (NOW()); DAY (NOW())) <= DATE (YEAR (NOW()) - 1; 11; 30)' la même chose que 'NOW() <= DATE (YEAR (NOW()); 11; 30)'? Je suis confus essayant de voir ce que votre mesure fait vraiment. – mendosi

+0

Ma commande se rapporte à l'année précédente. – Uzzy

+0

Oui, mais si 1 an avant maintenant est avant le 30 Novembre 1 an, il est également vrai que maintenant est avant le 30 Novembre de cette année. – mendosi

Répondre

2

Oui! C'est la magie de DISTINCTCOUNT(). Il a compté le nombre de valeurs distinctes pour la colonne [ID_DANE_OSOBOWE] chaque mois, mais lorsque la mesure est évaluée pour tous les mois, elle ne compte pas deux fois les valeurs qui apparaissent dans plus d'un mois.

simplifié:

| ID | Month | 
+----+-------+ 
| 1 | March | 
| 1 | April | 

Lorsque vous avez une mesure My Measure = DISTINCTCOUNT(tbl[ID]) pour chaque mois la valeur sera 1, mais quand vous faites un compte distinct pour tous les mois, la valeur sera toujours 1 parce qu'il n'y a qu'un seul valeur distincte.

+0

J'ai vérifié les données dans Excel, filtré la même période sur [Złożenie deklaracji] et compté les ID qui sont apparus plus d'une fois avec des dates différentes (dans différents mois) et il y en a 7. Autre chose intéressante est que collègue dans mon bureau travaille sur un rapport différent avec une source de données différente et utilise le CALCULATE (SUM (...) pour compter certaines choses et dans son cas aussi Grand Total n'est pas correct:/ – Uzzy

+0

IDs se produisent plus d'une fois dans le même mois? – mendosi

+0

Non, mais il pourrait un certain temps dans le futur. – Uzzy