Forum Discussion
If statement too many arguments
I am brand new to DAX. In one of my lessons I was told to enter an IF statement:
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 |
3 Replies
- uzuntasgokberkSuper 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 | - revisrNew Member
That did it thanks!!
- Wilson_Memorable Member
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 )