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

July 7 - July 17 | Round 2 of the Power BI Dataviz World Championships. Don't miss your chance! Learn more

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
FabCon and SQLCon Barcelona 2026

FabCon & SQLCon – Barcelona 2026

Join us in Barcelona for FabCon and SQLCon, the Fabric, Power BI, SQL, and AI community event. Save €200 with code FABCMTY200.

60 days of Data Days Carousel

Data Days 2026

Join Data Days 2026: 60 days of free live/on-demand sessions, challenges, study groups, and certification opportunities.

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.

Top Solution Authors