cancel
Showing results for
Did you mean:

Find everything you need to get certified on Fabric—skills challenges, live sessions, exam prep, role guidance, and more. Get started

New Member

## Conditional format Card value based on the result on another Card

Hi all,

I am unsure if its possible, but i tried looking around and can't seem to find a way.

Im fairly new using and learning on my own pace PowerBI and had to say this so you know my level... quite basic.

I would like to know if its possible to conditional format color of a Card value, based on the result of another card.

I have some data, and basically it has some items with a column with dates, and column with its status.

In a card1, i display the sum of items up to Today.

And in another card2, i have the sum of items up to today, that are still pending status.

And i would like to color code the result of the card2 , depending on the card1 result.

So if i am having 10 items until today, but only 2 complete, means card1 will show 10 and card2 will display 8 items.

Cant use threshold since each day, the value will be different, if that makes sense...

So would like to be able to display red/green depending if the value is below or (for whatever reason higher) than the card1.

I hope i managed to explain the idea and that there is someone able to help 🙂

1 ACCEPTED SOLUTION
Solution Supplier

Then you will need to create a measure with those filters.

Create the ones bellow

``````# Items =
--Bellow put the column refering to the items being summed
SUM('table'[column])

Card 1 Measure =
CALCULATE(
[# Items],
DATESINPERIOD('Date'[Date], TODAY() , -1000 , DAY )
)

Card 2 Measure =
CALCULATE(
[# Items],
status[status] in {"Not Started","On Hold","In progress"}
)

Conditional formating measure =
VAR _carddiff = [Card 2 Measure] - [Card 1 Measure]

RETURN
IF( _carddiff <> 0, 1, 0)
``````

8 REPLIES 8
Solution Supplier

Hi,

Yes, you can use conditional formating on a card background based on any measure you want. Just click on the fx icon shown bellow. Then add create the measure you want  to be analyzed and add a rule to it.

In your example, maybe create a measure like this:

``````Conditional formating measure =
VAR _carddiff = [Measure Card 1] - [Measure Card 2]

RETURN
IF( _carddiff <> 0, 1, 0)
``````

This will return 1 if the card measures have diferent values

Then add a rule the if the value is 1 has some colour

Hope it helps.

Kind regards,
José

New Member

I am unsure in how to make the quick measure with what appears in the Card1/2.

Card1 value is basically the total, but to the card i apply some filters in order to obtain the result.

So card1 would be total items, up to today.

and card2 would be total items up to today, not complete.

But, as mentioned, both Card1 and 2 are showing values based on filteres applied to the visual.

Is your method requiring that the calculations are made without filters in the visual? or how i can add the card code so i can complete the formula you suggested for the measure?

Solution Supplier

Yes, in this case you will need to pass the filters to the measures.

Could you share your pbix file so i can provide and example?

New Member

Can't share the file, but hopefully screens below help:

Card1 filters:

Card2 filters:

same as above+

Card1 is displaying a 5, and Card2 is displaying a 2 in this case.

is this enough? thanks 🙂

Solution Supplier

Then you will need to create a measure with those filters.

Create the ones bellow

``````# Items =
--Bellow put the column refering to the items being summed
SUM('table'[column])

Card 1 Measure =
CALCULATE(
[# Items],
DATESINPERIOD('Date'[Date], TODAY() , -1000 , DAY )
)

Card 2 Measure =
CALCULATE(
[# Items],
status[status] in {"Not Started","On Hold","In progress"}
)

Conditional formating measure =
VAR _carddiff = [Card 2 Measure] - [Card 1 Measure]

RETURN
IF( _carddiff <> 0, 1, 0)
``````

New Member

thanks, i try replicate the measure, but unsure what part of it makes me get error:

Code below (taken from yours, and adjusted to my table names):

``````FDSColor =
--Bellow put the column refering to the items being summed
SUM('RICEFW'[FDS Status])

Card 1 Measure =
CALCULATE(
[FDSColor],
DATESINPERIOD('Date'[Date], TODAY() , -1000 , DAY )
)

Card 2 Measure =
CALCULATE(
[FDSColor],
RICEFW[FDS Status] in {"Not Started","On Hold","In progress"}
)

Conditional formating measure =
VAR _carddiff = [Card 2 Measure] - [Card 1 Measure]

RETURN
IF( _carddiff <> 0, 1, 0)``````

Is it Card 2 Status part? unsure if i messed up the translation into my table/column name.

I call measure FDS Color because i will have to do this same measure 5x more times for other 5 different types. so wanted to have some easy time to identify each.

Solution Supplier

Hi

I guess you posting all that code in the same measure.

You need to create each measure separadly in order to make it work.

If you want to learn more about measures in power BI you can watch the video bellow

New Member

Ill have a look, thanks for your help! 🙂

Announcements

#### Europe’s largest Microsoft Fabric Community Conference

Join the community in Stockholm for expert Microsoft Fabric learning including a very exciting keynote from Arun Ulag, Corporate Vice President, Azure Data.

#### Power BI Monthly Update - August 2024

Check out the August 2024 Power BI update to learn about new features.

#### Fabric Community Update - August 2024

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

Top Solution Authors
Top Kudoed Authors