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

The Power BI DataViz World Championships are on! With four chances to enter, you could win a spot in the LIVE Grand Finale in Las Vegas. Show off your skills.

Reply
Cosik
Helper I
Helper I

Calculation with function in filter

Hi,

 

I try to add dynamic filter to the calculation but i receiving error.

 

This is the function:

DPA = CALCULATE
(COUNTROWS(VALUES('MDS current'[WO #])),
'MDS current'[WO Status]="COMPLETED",
'MDS current'[RFS Quater]=ROUNDUP(MONTH(TODAY())/3, 0),
'MDS current'[RFS Year]=YEAR(TODAY()))
 
When i enter static filter value in:
'MDS current'[RFS Quater]=ROUNDUP(MONTH(TODAY())/3, 0)   --- 'MDS current'[RFS Quater]="2"
'MDS current'[RFS Year]=YEAR(TODAY())  ---- 'MDS current'[RFS Year]= "2020"
 the function working fine.
I dont know why i receiving error.
 
Both function ROUNDUP(MONTH(TODAY())/3, 0) and YEAR(TODAY()) giving me the same value as above.
I try also add those function in VALUE function but the result was the same (error).
1 ACCEPTED SOLUTION
mahoneypat
Microsoft Employee
Microsoft Employee

Your static example has the quarter as a text value ("2"). Your roundup function is returning an integeter.  You'll need to convert it to a text value with FORMAT() (or change your quarter value to whole number).  Also, you can pre-calculate your comparison values as variables first, as follows.  This sometimes solves some errors inside calculate.

 

DPA =
VAR quartervalue =
FORMAT(ROUNDUP ( MONTH ( TODAY () ) / 3, 0 ), "General Number")
VAR thisyear =
YEAR ( TODAY () )
RETURN
CALCULATE (
COUNTROWS ( VALUES ( 'MDS current'[WO #] ) ),
'MDS current'[WO Status] = "COMPLETED",
'MDS current'[RFS Quater] = quartervalue,
'MDS current'[RFS Year] = thisyear
)

If this works for you, please mark it as solution.  Kudos are appreciated too.  Please let me know if not.

Regards,

Pat





Did I answer your question? Mark my post as a solution! Kudos are also appreciated!

To learn more about Power BI, follow me on Twitter or subscribe on YouTube.


@mahoneypa HoosierBI on YouTube


View solution in original post

2 REPLIES 2
mahoneypat
Microsoft Employee
Microsoft Employee

Your static example has the quarter as a text value ("2"). Your roundup function is returning an integeter.  You'll need to convert it to a text value with FORMAT() (or change your quarter value to whole number).  Also, you can pre-calculate your comparison values as variables first, as follows.  This sometimes solves some errors inside calculate.

 

DPA =
VAR quartervalue =
FORMAT(ROUNDUP ( MONTH ( TODAY () ) / 3, 0 ), "General Number")
VAR thisyear =
YEAR ( TODAY () )
RETURN
CALCULATE (
COUNTROWS ( VALUES ( 'MDS current'[WO #] ) ),
'MDS current'[WO Status] = "COMPLETED",
'MDS current'[RFS Quater] = quartervalue,
'MDS current'[RFS Year] = thisyear
)

If this works for you, please mark it as solution.  Kudos are appreciated too.  Please let me know if not.

Regards,

Pat





Did I answer your question? Mark my post as a solution! Kudos are also appreciated!

To learn more about Power BI, follow me on Twitter or subscribe on YouTube.


@mahoneypa HoosierBI on YouTube


Thx for help, probably working.

I find the problem, my column were not converted to any specyfic type. I change to number and the formula working.

It is quite a strange that i need to do this while there are only numbers.

Helpful resources

Announcements
Las Vegas 2025

Join us at the Microsoft Fabric Community Conference

March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount!

FebPBI_Carousel

Power BI Monthly Update - February 2025

Check out the February 2025 Power BI update to learn about new features.

Feb2025 NL Carousel

Fabric Community Update - February 2025

Find out what's new and trending in the Fabric community.