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

The Power BI Data Visualization World Championships is back! Get ahead of the game and start preparing now! Learn more

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

           )

)

 

Kind Regards,
Gökberk Uzuntaş

📌 If this post helps, then please consider Accepting it as a solution and giving Kudos — it helps other members find answers faster!

🔗 Stay Connected:
📘 Medium |
📺 YouTube |
💼 LinkedIn |
📷 Instagram |
🐦 X |
👽 Reddit |
🌐 Website |
🎵 TikTok |

 

 

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

           )

)

 

Kind Regards,
Gökberk Uzuntaş

📌 If this post helps, then please consider Accepting it as a solution and giving Kudos — it helps other members find answers faster!

🔗 Stay Connected:
📘 Medium |
📺 YouTube |
💼 LinkedIn |
📷 Instagram |
🐦 X |
👽 Reddit |
🌐 Website |
🎵 TikTok |

 

 

Helpful resources

Announcements
Power BI DataViz World Championships

Power BI Dataviz World Championships

The Power BI Data Visualization World Championships is back! Get ahead of the game and start preparing now!

November Power BI Update Carousel

Power BI Monthly Update - November 2025

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

FabCon Atlanta 2026 carousel

FabCon Atlanta 2026

Join us at FabCon Atlanta, March 16-20, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.