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

Join us for an expert-led overview of the tools and concepts you'll need to become a Certified Power BI Data Analyst and pass exam PL-300. Register now.

Reply
revisr
New Member

If statement too many arguments

I am brand new to DAX. In one of my lessons I was told to enter an IF statement:

 

Customer Age =
IF(
    FORMAT('Customer'[Birth Date], "mmdd") <= FORMAT(TODAY(), "mmdd"),
    DATEDIFF('Customer'[Birth Date], TODAY(), YEAR),
    DATEDIFF('Customer'[Birth Date], TODAY(), YEAR),-1)
It is telling me I have more than 3 arguments. My column has error. Where wm I going wrong?
1 ACCEPTED SOLUTION
uzuntasgokberk
Super User
Super User

Hello @revisr,

 

If statement syntax is IF(<logical_test>, <value_if_true>[, <value_if_false>])

IF function (DAX) - DAX | Microsoft Learn

Therefore, you code should be like this:


IF(
   FORMAT('Customer'[Birth Date]"mmdd") <= FORMAT(TODAY(), "mmdd"),

   DATEDIFF('Customer'[Birth Date]TODAY(), YEAR),

       IF(

          FORMAT('Customer'[Birth Date]"mmdd") > FORMAT(TODAY(), "mmdd"),

         DATEDIFF('Customer'[Birth Date], TODAY(), YEAR),

         1

           )

)

 

Best Regards,
Gökberk Uzuntaş

LinkedIn: https://www.linkedin.com/in/g%C3%B6kberk-uzunta%C5%9F-b43906198/

Medium: https://medium.com/@uzuntasgokberk

 

İf this post helps, then please consider Accept it as solution and kudos to help the other members find it more quickly.

 

 

View solution in original post

3 REPLIES 3
revisr
New Member

That did it thanks!!

Hi revisr,

 

Looks like the formula @uzuntasgokberk provided was unnecessarily complex. You were on the right track with your original measure. You just had an extra comma in your measure, before the -1 at the end. The comma made Power BI think the -1 was a fourth argument in your IF function. Hopefully that makes sense.

 

You had:

 

IF (
    FORMAT ( 'Customer'[Birth Date], "mmdd" ) <= FORMAT ( TODAY(), "mmdd" ),
    DATEDIFF ( 'Customer'[Birth Date], TODAY(), YEAR ),
    DATEDIFF ( 'Customer'[Birth Date], TODAY(), YEAR ), - 1
)

 

 

However, what you meant was:

 

IF (
    FORMAT ( 'Customer'[Birth Date], "mmdd" ) <= FORMAT ( TODAY(), "mmdd" ),
    DATEDIFF ( 'Customer'[Birth Date], TODAY(), YEAR ),
    DATEDIFF ( 'Customer'[Birth Date], TODAY(), YEAR ) - 1
)

 

 




Did I answer your question? Mark my post as a solution!

Proud to be a Super User!





uzuntasgokberk
Super User
Super User

Hello @revisr,

 

If statement syntax is IF(<logical_test>, <value_if_true>[, <value_if_false>])

IF function (DAX) - DAX | Microsoft Learn

Therefore, you code should be like this:


IF(
   FORMAT('Customer'[Birth Date]"mmdd") <= FORMAT(TODAY(), "mmdd"),

   DATEDIFF('Customer'[Birth Date]TODAY(), YEAR),

       IF(

          FORMAT('Customer'[Birth Date]"mmdd") > FORMAT(TODAY(), "mmdd"),

         DATEDIFF('Customer'[Birth Date], TODAY(), YEAR),

         1

           )

)

 

Best Regards,
Gökberk Uzuntaş

LinkedIn: https://www.linkedin.com/in/g%C3%B6kberk-uzunta%C5%9F-b43906198/

Medium: https://medium.com/@uzuntasgokberk

 

İf this post helps, then please consider Accept it as solution and kudos to help the other members find it more quickly.

 

 

Helpful resources

Announcements
Join our Fabric User Panel

Join our Fabric User Panel

This is your chance to engage directly with the engineering team behind Fabric and Power BI. Share your experiences and shape the future.

June 2025 Power BI Update Carousel

Power BI Monthly Update - June 2025

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

June 2025 community update carousel

Fabric Community Update - June 2025

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