Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
7 years ago
Solved

Multiple Running totals

Hello, I am new to PowerBI, and would greatly appreciate some help. I am attempting to populate a matrix with values of three accounts (Savings, Checking, and Certificate) I am having trouble when...
  • MFelix's avatar
    7 years ago

    Hi Anonymous ,

     

    For starting don't use the bidirectionallity of filter then create the following measures:

    Savings sum = 
    IF (
        MIN ( 'Date'[Date] )
            <= CALCULATE ( MAX ( Savings[Date] ); ALLSELECTED ( Savings) );
        CALCULATE (
            MAX ( Savings[Savings]);
            FILTER ( ALLSELECTED ( 'Date' ); 'Date'[Date] <= MAX ( 'Date'[Date] ) )
        )
    )
    
    Certicate sum = 
    IF (
        MIN ( 'Date'[Date] )
            <= CALCULATE ( MAX ( Certificate[Date] ); ALLSELECTED ( Certificate) );
        CALCULATE (
            MAX ( Certificate[Certificate] );
            FILTER ( ALLSELECTED ( 'Date' ); 'Date'[Date] <= MAX ( 'Date'[Date] ) )
        )
    ) 
    
    Checking sum = 
    IF (
        MIN ( 'Date'[Date] )
            <= CALCULATE ( MAX ( Checking[Date] ); ALLSELECTED ( Checking) );
        CALCULATE (
            MAX ( Checking[Checking] );
            FILTER ( ALLSELECTED ( 'Date' ); 'Date'[Date] <= MAX ( 'Date'[Date] ) )
        )
    ) 

    Final result is below:

     

     

    Check also PBIX file attach.

     

    Regards,

    MFelix

  • MFelix's avatar
    MFelix
    7 years ago

    Hi Anonymous ,

     

    You are correct, because I used the MAX function on the values, need to pickup the maximum date and not maximum value.

     

    Redo your measure to the following:

    Savings sum = VAR Date_Selection =
        CALCULATE (
            LASTDATE ( Savings[Date] );
            FILTER ( ALL ( 'Date'[Date] ); 'Date'[Date] <= MAX ( 'Date'[Date] ) )
        )
    RETURN
        IF (
            MIN ( 'Date'[Date] )
                <= CALCULATE ( MAX ( Savings[Date] ); ALLSELECTED ( Savings ) );
            CALCULATE (
                SUM ( Savings[Savings] );
                FILTER ( ALL ( 'Date'[Date] ); 'Date'[Date] = Date_Selection )
            )
        )
    Certicate sum = 
    VAR Date_Selection =
        CALCULATE (
            LASTDATE ( Certificate[Date] );
            FILTER ( ALL ( 'Date'[Date] ); 'Date'[Date] <= MAX ( 'Date'[Date] ) )
        )
    RETURN
        IF (
            MIN ( 'Date'[Date] )
                <= CALCULATE ( MAX ( Certificate[Date] ); ALLSELECTED ( Certificate ) );
            CALCULATE (
                SUM ( Certificate[Certificate] );
                FILTER ( ALL ( 'Date'[Date] ); 'Date'[Date] = Date_Selection )
            )
        )
    Checking sum = 
    VAR Date_Selection =
        CALCULATE (
            LASTDATE ( Checking[Date] );
            FILTER ( ALL ( 'Date'[Date] ); 'Date'[Date] <= MAX ( 'Date'[Date] ) )
        )
    RETURN
        IF (
            MIN ( 'Date'[Date] )
                <= CALCULATE ( MAX ( Checking[Date] ); ALLSELECTED ( Checking) );
            CALCULATE (
                SUM ( Checking[Checking]);
                FILTER ( ALL ( 'Date'[Date] ); 'Date'[Date] = Date_Selection )
            )
        )

    See result below:

     

    Also attached revised PBIX file.

     

    Sorry for the misleading in the previous answer.

     

    Regards,

    MFelix