Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

A new Data Days event is coming soon! This time we’re going bigger than ever. Fabric, Power BI, SQL, AI and more. Don't miss out.

Reply
setis
Post Partisan
Post Partisan

Measure (LY variation)

Hi all, 

 

Could somebody please help me to do the Last Year variation of the following measure? :

 

NrCases Payment&NOFee = 
COUNTROWS(
    EXCEPT(
        FILTER(
            DISTINCT (Financial_Combined[Job No.]);
            CALCULATE ( SUM (Financial_Combined[Amount Paid]))>0
        );
        FILTER (
            DISTINCT (Fees[CaseID]);
            CALCULATE (SUM (Fees[FeeAmount]))>0
        )
    )
)

 

 

I have tried with: 

 

NrCases Payment&NOFee LY =
COUNTROWS (
    EXCEPT (
        FILTER (
            DISTINCT ( Financial_Combined[Job No.] );
            CALCULATE (
                SUM ( Financial_Combined[Amount Paid] );
                SAMEPERIODLASTYEAR ( 'Calendar'[Date] )
            ) > 0
        );
        FILTER (
            DISTINCT ( Fees[CaseID] );
            CALCULATE (
                SUM ( Fees[FeeAmount] );
                SAMEPERIODLASTYEAR ( 'Calendar'[Date] )
            ) > 0
        )
    )
)

 

 

 

but this gives me blank results.

2 ACCEPTED SOLUTIONS
AlB
Community Champion
Community Champion

Hi @setis 

 

If I remember your data model correctly, you'll probably need something like the following. Do bear in mind that for time intelligence functions to work properly, the date table should always have complete years and contain all the dates that you need. I.e. if you have a date table from 01/01/2017 on,  SAMEPERIODLASTYEAR(anything in 2017) will return blank since the date table has no dates in 2016.

In any case, why not just use the date table to select the year you want?

 

NrCases Payment&NOFee =
CALCULATE (
    COUNTROWS (
        EXCEPT (
            FILTER (
                DISTINCT ( Financial_Combined[Job No.] );
                CALCULATE ( SUM ( Financial_Combined[Amount Paid] ) ) > 0
            );
            FILTER ( DISTINCT ( Fees[CaseID] ); CALCULATE ( SUM ( Fees[FeeAmount] ) ) > 0 )
        )
    );
    SAMEPERIODLASTYEAR ( 'Calendar'[Date] )
)

View solution in original post

AlB
Community Champion
Community Champion

@setis 

 

You can always create a second measure based on the first one for the last year, i.e., you have the initial measure:

 

NrCases Payment&NOFee =
COUNTROWS (
    EXCEPT (
        FILTER (
            DISTINCT ( Financial_Combined[Job No.] );
            CALCULATE ( SUM ( Financial_Combined[Amount Paid] ) ) > 0
        );
        FILTER ( DISTINCT ( Fees[CaseID] ); CALCULATE ( SUM ( Fees[FeeAmount] ) ) > 0 )
    )
)

and then, based on that:

 

NrCases Payment&NOFee LY =
CALCULATE ( [NrCases Payment&NOFee]; SAMEPERIODLASTYEAR ( 'Calendar'[Date] ) )

It's probably neater.

 

Cheers

View solution in original post

4 REPLIES 4
AlB
Community Champion
Community Champion

Hi @setis 

 

If I remember your data model correctly, you'll probably need something like the following. Do bear in mind that for time intelligence functions to work properly, the date table should always have complete years and contain all the dates that you need. I.e. if you have a date table from 01/01/2017 on,  SAMEPERIODLASTYEAR(anything in 2017) will return blank since the date table has no dates in 2016.

In any case, why not just use the date table to select the year you want?

 

NrCases Payment&NOFee =
CALCULATE (
    COUNTROWS (
        EXCEPT (
            FILTER (
                DISTINCT ( Financial_Combined[Job No.] );
                CALCULATE ( SUM ( Financial_Combined[Amount Paid] ) ) > 0
            );
            FILTER ( DISTINCT ( Fees[CaseID] ); CALCULATE ( SUM ( Fees[FeeAmount] ) ) > 0 )
        )
    );
    SAMEPERIODLASTYEAR ( 'Calendar'[Date] )
)

Hi @AlB,

 

Thanks again!!

 

I needed the LY measure for a KPI card 🙂

AlB
Community Champion
Community Champion

@setis 

 

You can always create a second measure based on the first one for the last year, i.e., you have the initial measure:

 

NrCases Payment&NOFee =
COUNTROWS (
    EXCEPT (
        FILTER (
            DISTINCT ( Financial_Combined[Job No.] );
            CALCULATE ( SUM ( Financial_Combined[Amount Paid] ) ) > 0
        );
        FILTER ( DISTINCT ( Fees[CaseID] ); CALCULATE ( SUM ( Fees[FeeAmount] ) ) > 0 )
    )
)

and then, based on that:

 

NrCases Payment&NOFee LY =
CALCULATE ( [NrCases Payment&NOFee]; SAMEPERIODLASTYEAR ( 'Calendar'[Date] ) )

It's probably neater.

 

Cheers

OMG, of course. I had a very long day today. 🙂

Thanks!

Helpful resources

Announcements
May Power BI Update Carousel

Power BI Monthly Update - May 2026

Check out the May 2026 Power BI update to learn about new features.

Fabric SQL PBI Data Days

Data Days 2026 coming soon!

Sign up to receive a private message when registration opens and key events begin.

New to Fabric survey Carousel

New to Fabric Survey

If you have recently started exploring Fabric, we'd love to hear how it's going. Your feedback can help with product improvements.

Power BI DataViz World Championships carousel

Power BI DataViz World Championships - June 2026

A new Power BI DataViz World Championship is coming this June! Don't miss out on submitting your entry.