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

Earn a 50% discount on the DP-600 certification exam by completing the Fabric 30 Days to Learn It challenge.

Reply
abbytank
Frequent Visitor

calculate and sameperiodlastyear not working IF function

Hi, 
I am having issue with the following calculation, I want to calculate the total sales, which is working correct, but when I select a year whose previous year had no sales like the initial year, it show blank, I needed to use if to avoid showing blank, but it returned error. Here is the code:
Previous_year_sales = if(ISBLANK(SAMEPERIODLASTYEAR('Date'[Date])),

"No Sales",

CALCULATE([TotalSales],

        SAMEPERIODLASTYEAR('Date'[Date]))
)
Please someone help.
 
Thank you in advance.
 
1 ACCEPTED SOLUTION

Hi @abbytank ,

Actually, the function ISBLANK is to check whether a value is blank. But it will return a table when you apply the function SAMEPERIODLASTYEAR. You can find the details in the following links.

ISBLANK

SAMEPERIODLASTYEAR

Best Regards

Community Support Team _ Rena
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

View solution in original post

3 REPLIES 3
v-yiruan-msft
Community Support
Community Support

Hi @abbytank ,

You can update the formula of measure [Previous_year_sales] as below, please notice that the data type of returned result will be Text type instead of Number type. If you still want to keep the data type as Number type, you can change "No Sales" to 0.

Previous_year_sales =
VAR _pysales =
    CALCULATE ( [TotalSales], SAMEPERIODLASTYEAR ( 'Date'[Date] ) )
RETURN
    IF ( ISBLANK ( _pysales ), "No Sales", _pysales )

yingyinr_0-1670901130132.png

 

If the above one can't help you get the desired result, please provide some sample data in your tables (exclude sensitive data) with Text format and your expected result with backend logic and special examples. It is better if you can share a simplified pbix file. You can refer the following link to upload the file to the community. Thank you.

How to upload PBI in Community

Best Regards

Community Support Team _ Rena
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

Thank you very much @v-yiruan-msft  for your supportive response.

 

I see your solutions is 100% working and providing the very desired result, but concern is:

This is working:

VAR _pysales =
    CALCULATE ( [TotalSales], SAMEPERIODLASTYEAR ( 'Date'[Date] ) )
return _pysales

And also, the following is working:

ISBLANK(SAMEPERIODLASTYEAR('Date'[Date]))

And even the first the part of the code is working, because when the previous years sales is empty (no sales on previous year) the result is working and showing "No Sales" result:

Previous_year_sales = if(ISBLANK(SAMEPERIODLASTYEAR('Date'[Date])),

"No Sales",

 

But the problem is, when the calculate function or even sumx function put on the IF functions as (if function's) return values (return values on true or false) according to the following:

Previous_year_sales = if(ISBLANK(SAMEPERIODLASTYEAR('Date'[Date])),

"No Sales",

CALCULATE([TotalSales],

        SAMEPERIODLASTYEAR('Date'[Date]))
)

So, why calculate is not working in IF function's argument, that is my concern?

 

Thank you very much.

Hi @abbytank ,

Actually, the function ISBLANK is to check whether a value is blank. But it will return a table when you apply the function SAMEPERIODLASTYEAR. You can find the details in the following links.

ISBLANK

SAMEPERIODLASTYEAR

Best Regards

Community Support Team _ Rena
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

Helpful resources

Announcements
RTI Forums Carousel3

New forum boards available in Real-Time Intelligence.

Ask questions in Eventhouse and KQL, Eventstream, and Reflex.

LearnSurvey

Fabric certifications survey

Certification feedback opportunity for the community.