Advance your Data & AI career with 50 days of live learning, dataviz contests, hands-on challenges, study groups & certifications and more!
Get registeredGet Fabric Certified for FREE during Fabric Data Days. Don't miss your chance! Learn more
 
					
				
		
Dear Community, 
I have a matrix with 1 row and 3 columns, and one value,
I wanted to compare values of each row , if all values are same, change the color of row to blue, if they are not same change it to gray, 
how can I handle this with DAX ? 
Hi @Anonymous ,
Try this:
Measure = 
VAR t1 =
    ADDCOLUMNS (
        ALLSELECTED ( 'Table' ),
        "Sum",
            CALCULATE (
                SUM ( 'Table'[Value] ),
                FILTER ( ALLSELECTED ( 'Table' ), 'Table'[Rows] = MAX ( 'Table'[Rows] ) )
            )
    )
VAR Disc_C1 =
    CALCULATE ( DISTINCTCOUNT ( 'Table'[Columns1] ), ALLSELECTED ( 'Table' ) )
VAR Disc_C2 =
    CALCULATE ( DISTINCTCOUNT ( 'Table'[Columns2] ), ALLSELECTED ( 'Table' ) )
VAR Disc_C3 =
    CALCULATE ( DISTINCTCOUNT ( 'Table'[Columns3] ), ALLSELECTED ( 'Table' ) )
VAR Disc_ =
    SWITCH (
        TRUE (),
        ISFILTERED ( 'Table'[Columns3] ) && ISFILTERED ( 'Table'[Columns2] )
            && ISFILTERED ( 'Table'[Columns1] ),
            Disc_C3 * Disc_C2 * Disc_C1,
        ISFILTERED ( 'Table'[Columns2] ) && ISFILTERED ( 'Table'[Columns1] ), Disc_C2 * Disc_C1,
        ISFILTERED ( 'Table'[Columns1] ), Disc_C1,
        ISFILTERED ( 'Table'[Columns3] )
            && NOT ( ISFILTERED ( 'Table'[Columns2] ) )
                && NOT ( ISFILTERED ( 'Table'[Columns1] ) ), Disc_C3,
        ISFILTERED ( 'Table'[Columns2] )
            && NOT ( ISFILTERED ( 'Table'[Columns3] ) )
                && NOT ( ISFILTERED ( 'Table'[Columns1] ) ), Disc_C2,
        ISFILTERED ( 'Table'[Columns1] )
            && NOT ( ISFILTERED ( 'Table'[Columns2] ) )
                && NOT ( ISFILTERED ( 'Table'[Columns3] ) ), Disc_C1
    )
VAR t2 =
    ADDCOLUMNS ( t1, "Avg", [Sum] / Disc_ )
VAR Avg_ =
    AVERAGEX ( t2, [Avg] )
RETURN
    IF ( SUM ( 'Table'[Value] ) = Avg_, 0, 1 )
Measure 2 = 
SWITCH (
    TRUE (),
    ISFILTERED ( 'Table'[Columns3] ) && ISFILTERED ( 'Table'[Columns2] )
        && ISFILTERED ( 'Table'[Columns1] ),
        MAXX (
            ALLSELECTED ( 'Table'[Columns1], 'Table'[Columns2], 'Table'[Columns3] ),
            [Measure]
        ),
    ISFILTERED ( 'Table'[Columns2] ) && ISFILTERED ( 'Table'[Columns1] ), MAXX ( ALLSELECTED ( 'Table'[Columns1], 'Table'[Columns2] ), [Measure] ),
    ISFILTERED ( 'Table'[Columns1] ), MAXX ( ALLSELECTED ( 'Table'[Columns1] ), [Measure] ),
    ISFILTERED ( 'Table'[Columns3] )
        && NOT ( ISFILTERED ( 'Table'[Columns2] ) )
            && NOT ( ISFILTERED ( 'Table'[Columns1] ) ), MAXX ( ALLSELECTED ( 'Table'[Columns3] ), [Measure] ),
    ISFILTERED ( 'Table'[Columns2] )
        && NOT ( ISFILTERED ( 'Table'[Columns3] ) )
            && NOT ( ISFILTERED ( 'Table'[Columns1] ) ), MAXX ( ALLSELECTED ( 'Table'[Columns2] ), [Measure] ),
    ISFILTERED ( 'Table'[Columns1] )
        && NOT ( ISFILTERED ( 'Table'[Columns2] ) )
            && NOT ( ISFILTERED ( 'Table'[Columns3] ) ), MAXX ( ALLSELECTED ( 'Table'[Columns1] ), [Measure] )
)
Best Regards,
Icey
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
@Icey Thanks for your help. I got this error, Is it normal ? do you have any idea? 
Hi @Anonymous ,
Just as the error mentioned, thereis not enough memory to complete this operation. Please try to:
1. stop other irrelevant applications and services
2. Modify the measures like so:
Measure_1 = 
VAR t1 =
    SUMMARIZE (
        'Table',
        'Table'[Rows],
        'Table'[Columns1],
        'Table'[Columns2],
        'Table'[Columns3],
        'Table'[Value],
        "Sum",
            CALCULATE (
                SUM ( 'Table'[Value] ),
                FILTER ( ALL ( 'Table' ), 'Table'[Rows] = MAX ( 'Table'[Rows] ) )
            )
    )
VAR Disc_C1 =
    CALCULATE ( DISTINCTCOUNT ( 'Table'[Columns1] ), ALLSELECTED ( 'Table' ) )
VAR Disc_C2 =
    CALCULATE ( DISTINCTCOUNT ( 'Table'[Columns2] ), ALLSELECTED ( 'Table' ) )
VAR Disc_C3 =
    CALCULATE ( DISTINCTCOUNT ( 'Table'[Columns3] ), ALLSELECTED ( 'Table' ) )
VAR Disc_ =
    SWITCH (
        TRUE (),
        ISFILTERED ( 'Table'[Columns3] ) && ISFILTERED ( 'Table'[Columns2] )
            && ISFILTERED ( 'Table'[Columns1] ),
            Disc_C3 * Disc_C2 * Disc_C1,
        ISFILTERED ( 'Table'[Columns2] ) && ISFILTERED ( 'Table'[Columns1] ), Disc_C2 * Disc_C1,
        ISFILTERED ( 'Table'[Columns1] ), Disc_C1,
        ISFILTERED ( 'Table'[Columns3] )
            && NOT ( ISFILTERED ( 'Table'[Columns2] ) )
                && NOT ( ISFILTERED ( 'Table'[Columns1] ) ), Disc_C3,
        ISFILTERED ( 'Table'[Columns2] )
            && NOT ( ISFILTERED ( 'Table'[Columns3] ) )
                && NOT ( ISFILTERED ( 'Table'[Columns1] ) ), Disc_C2
    )
VAR t2 =
    ADDCOLUMNS ( t1, "Avg", [Sum] / Disc_ )
VAR Avg_ =
    AVERAGEX ( t2, [Avg] )
RETURN
    IF ( SUM ( 'Table'[Value] ) = Avg_, 0, 1 )
Measure_2 = 
SWITCH (
    TRUE (),
    ISFILTERED ( 'Table'[Columns3] ) && ISFILTERED ( 'Table'[Columns2] )
        && ISFILTERED ( 'Table'[Columns1] ),
        MAXX (
            ALLSELECTED ( 'Table'[Columns1], 'Table'[Columns2], 'Table'[Columns3] ),
            [Measure_1]
        ),
    ISFILTERED ( 'Table'[Columns2] ) && ISFILTERED ( 'Table'[Columns1] ), MAXX ( ALLSELECTED ( 'Table'[Columns1], 'Table'[Columns2] ), [Measure_1] ),
    ISFILTERED ( 'Table'[Columns1] ), MAXX ( ALLSELECTED ( 'Table'[Columns1] ), [Measure_1] ),
    ISFILTERED ( 'Table'[Columns3] )
        && NOT ( ISFILTERED ( 'Table'[Columns2] ) )
            && NOT ( ISFILTERED ( 'Table'[Columns1] ) ), MAXX ( ALLSELECTED ( 'Table'[Columns3] ), [Measure_1] ),
    ISFILTERED ( 'Table'[Columns2] )
        && NOT ( ISFILTERED ( 'Table'[Columns3] ) )
            && NOT ( ISFILTERED ( 'Table'[Columns1] ) ), MAXX ( ALLSELECTED ( 'Table'[Columns2] ), [Measure_1] )
)
3. try it again.
Best Regards,
Icey
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
@Anonymous , there is nothing like a row-level operation in power bi. So you need to do it using a formula and color measure
Can you share sample data and sample output in table format? Or a sample pbix after removing sensitive data.
For color measure
https://radacad.com/dax-and-conditional-formatting-better-together-find-the-biggest-and-smallest-numbers-in-the-column
https://docs.microsoft.com/en-us/power-bi/desktop-conditional-table-formatting#color-by-color-values
 
					
				
				
			
		
Advance your Data & AI career with 50 days of live learning, contests, hands-on challenges, study groups & certifications and more!
Check out the October 2025 Power BI update to learn about new features.
 
            | User | Count | 
|---|---|
| 88 | |
| 49 | |
| 37 | |
| 31 | |
| 30 |