enter image description here

J'ai trois colonnes : date, companyID & Users. Ci-dessous un exemple de tableau :

Date         CompanyID     Users
2/14/2020        1           20
1/30/2020        1           45
12/30/2019       1           55

Ce que je cherche à faire, c'est créer une mesure DAX, qui recherchera la valeur précédente. Par exemple:

Date         CompanyID     Users       Pre_value
2/14/2020        1           20           45
1/30/2020        1           45           55
12/30/2019       1           55            0

Les fonctions d'ajout de date ne fonctionnent pas, car mes dates sont incohérentes. Ma colonne de date affichera la date d'aujourd'hui et la date de fin de mois pour les mois précédents.

0
Vincent Diciglio 14 févr. 2020 à 22:25

1 réponse

Meilleure réponse

Peut-être quelque chose comme ça:

Pre_Value = 
    VAR CompanyID = 'Table'[CompanyID]
    VAR Date1 = 'Table'[Date]
    VAR Pre_Date = CALCULATE(MAX('Table'[Date]),FILTER('Table','Table'[CompanyID]=CompanyID),FILTER('Table','Table'[Date]<Date1))    
    VAR Prev_Val = CALCULATE(MAX('Table'[Users]),FILTER('Table','Table'[CompanyID]=CompanyID),FILTER('Table','Table'[Date]=Pre_Date))
RETURN IF(Prev_Val=BLANK(),0,Prev_Val)

L'idée est d'obtenir la date précédente de la ligne actuelle (VAR pre_date) et de l'utiliser pour obtenir la valeur correspondante. J'espère que cela t'aides.

Edit : si vous souhaitez revenir en arrière de 2 enregistrements :

Pre_Value_2 = 
    VAR CompanyID = 'Table'[CompanyID]
    VAR Date1 = 'Table'[Date]
    VAR Pre_Date = CALCULATE(MAX('Table'[Date]),FILTER('Table','Table'[CompanyID]=CompanyID),FILTER('Table','Table'[Date]<Date1))    
    VAR Pre_Date_2 = CALCULATE(MAX('Table'[Date]),FILTER('Table','Table'[CompanyID]=CompanyID),FILTER('Table','Table'[Date]<Pre_date))
    VAR Prev_Val_2 = CALCULATE(MAX('Table'[Users]),FILTER('Table','Table'[CompanyID]=CompanyID),FILTER('Table','Table'[Date]=Pre_Date_2))
RETURN IF(Prev_Val_2=BLANK(),0,Prev_Val_2)

J'ai créé une autre variable pour revenir en arrière d'une date de plus (pre_date_2).

0
CR7SMS 14 févr. 2020 à 22:35