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
Anonymous
Not applicable

Conditional Formatting Workaround for Dates

Hi - I currently have a table that is aggregated by date in the columns and a text label as the rows. I have another table (Deals and Coupons) that has those same text labels and returns deal dates according to which items we had on a deal and when. I would like for this formula to return the conditional formatting for every deal that occured in the table, but I have only made it able to work by taking the max aka last deal date in the list. Any ideas how to get around this?

Deal Format = if(and(SELECTEDVALUE('Calendar'[Date])>=MAX('Deals and Coupons'[Coupon Start Date]),SELECTEDVALUE('Calendar'[Date])<=MAX('Deals and Coupons'[Coupon End Date])),"#A9F099"
 
I've included an example of what is curretly happening vs desired result. The current result is using this MAX() formula above.example.png I would like the formula to return true at every instance of a date match within range.
1 ACCEPTED SOLUTION
MFelix
Super User
Super User

Hi @Anonymous ,

 

Try the following code:

Deal format =
VAR tempTable =
    FILTER (
        'Deals and Coupons',
        'Deals and Coupons'[Coupon Start Date] <= SELECTEDVALUE ( 'Calendar'[Date] )
            && 'Deals and Coupons'[Coupon End Date] >= 'Deals and Coupons'[Coupon End Date]
    )
VAR MiNIMuMDATE =
    MINX ( tempTable, 'Deals and Coupons'[Coupon Start Date] )
VAR MAXIMUMDATE =
    MAXX ( tempTable, 'Deals and Coupons'[Coupon End Date] )
RETURN
    IF (
        AND (
            SELECTEDVALUE ( 'Calendar'[Date] ) >= MiNIMuMDATE,
            SELECTEDVALUE ( 'Calendar'[Date] ) <= MAXIMUMDATE
        ),
        "#A9F099"
    )

 

In this case for testing I added a new line for the discounts that was in the middle of the period so that I could see if everything was being picked up:

MFelix_0-1669920320593.png

 


Regards

Miguel Félix


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

Proud to be a Super User!

Check out my blog: Power BI em Português





View solution in original post

3 REPLIES 3
MFelix
Super User
Super User

Hi @Anonymous ,

 

Try the following code:

Deal format =
VAR tempTable =
    FILTER (
        'Deals and Coupons',
        'Deals and Coupons'[Coupon Start Date] <= SELECTEDVALUE ( 'Calendar'[Date] )
            && 'Deals and Coupons'[Coupon End Date] >= 'Deals and Coupons'[Coupon End Date]
    )
VAR MiNIMuMDATE =
    MINX ( tempTable, 'Deals and Coupons'[Coupon Start Date] )
VAR MAXIMUMDATE =
    MAXX ( tempTable, 'Deals and Coupons'[Coupon End Date] )
RETURN
    IF (
        AND (
            SELECTEDVALUE ( 'Calendar'[Date] ) >= MiNIMuMDATE,
            SELECTEDVALUE ( 'Calendar'[Date] ) <= MAXIMUMDATE
        ),
        "#A9F099"
    )

 

In this case for testing I added a new line for the discounts that was in the middle of the period so that I could see if everything was being picked up:

MFelix_0-1669920320593.png

 


Regards

Miguel Félix


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

Proud to be a Super User!

Check out my blog: Power BI em Português





Anonymous
Not applicable

Hi MFelix - thank you so much! This worked perfectly.

Anonymous
Not applicable

Hey @MFelix any idea how I can alter this formula to be used as a column value for a slicer? I would like to have a column that I can slice "coupon" or "no coupon" by.

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 Fabric 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.