Join us at FabCon Atlanta from March 16 - 20, 2026, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.
Register now!The Power BI Data Visualization World Championships is back! Get ahead of the game and start preparing now! Learn more
Hi all, I have a question about using DAX to convert dates into a corresponding status.
I have a column with calibration due dates for some equipment. There are a few possibilities:
- The equipment has a date 4 or more months in the future. All is good.
- The equipment has a date less than 4 months in the future. I need to set up a new calibration.
- The equipment has a date in the past. This is not good, urgent action is needed.
- The cell is blank. There is no information available on the calibration due date. Also not good, but a different kind of action is needed.
How do I write DAX code to make this distinction?
I have tried this, for example:
Solved! Go to Solution.
Thank you again for your help! The first if-statement needed a slight modification, as it interpreted a blank cell as 0, therefore giving all blank cells the output 'urgent action required'. I have added an 'is not blank' statement to that line and now it works perfectly.
Thanks!
IsCalibrationDue =
IF ( [calibration_due] <= TODAY() && NOT(ISBLANK([calibration_due])), "Urgent Action Required",
IF ( [calibration_due] >= EDATE(TODAY(), 3), "OK",
IF ( [calibration_due] > TODAY() && [calibration_due] < EDATE(TODAY(), 3), "Set up new Calibration",
IF ( [calibration_due] = BLANK(), "Set Up Calibration Date"))))
Hi @oliverome
Please try the following
Status =
IF ( [calibration_due] <= TODAY(), "Urgent Action Required",
IF ( [calibration_due] >= EDATE(TODAY(), 3), "OK",
IF ( [calibration_due] > TODAY() && [calibration_due] < EDATE(TODAY(), 3), "Set up new Calibration",
IF ( [calibration_due] = BLANK(), "Set Up Calibration Date")
Joe
Proud to be a Super User! | |
Date tables help! Learn more
Hi Joe,
Thanks for your help. Your code gave me an error as I don't have an 'incidents' column. I replaced those parts, and ended up with this:
Sorry, I edited afterwards as I seen an error, please give the below a shot
Status =
IF ( [calibration_due] <= TODAY(), "Urgent Action Required",
IF ( [calibration_due] >= EDATE(TODAY(), 3), "OK",
IF ( [calibration_due] > TODAY() && [calibration_due] < EDATE(TODAY(), 3), "Set up new Calibration",
IF ( [calibration_due] = BLANK(), "Set Up Calibration Date")
Proud to be a Super User! | |
Date tables help! Learn more
Thank you again for your help! The first if-statement needed a slight modification, as it interpreted a blank cell as 0, therefore giving all blank cells the output 'urgent action required'. I have added an 'is not blank' statement to that line and now it works perfectly.
Thanks!
IsCalibrationDue =
IF ( [calibration_due] <= TODAY() && NOT(ISBLANK([calibration_due])), "Urgent Action Required",
IF ( [calibration_due] >= EDATE(TODAY(), 3), "OK",
IF ( [calibration_due] > TODAY() && [calibration_due] < EDATE(TODAY(), 3), "Set up new Calibration",
IF ( [calibration_due] = BLANK(), "Set Up Calibration Date"))))
The Power BI Data Visualization World Championships is back! Get ahead of the game and start preparing now!
| User | Count |
|---|---|
| 19 | |
| 13 | |
| 10 | |
| 4 | |
| 4 |
| User | Count |
|---|---|
| 30 | |
| 27 | |
| 18 | |
| 11 | |
| 10 |