Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.
Querida comunidad,
Tengo una matriz con 1 fila y 3 columnas, y un valor,
Quería comparar los valores de cada fila, si todos los valores son iguales, cambiar el color de la fila a azul, si no son lo mismo cambiarlo a gris,
¿cómo puedo manejar esto con DAX?
No @Helia9235 ,
Prueba esto:
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] )
)
Saludos
Icey
Si este post ayuda,entonces considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.
No @Helia9235 ,
Al igual que el error mencionado, no hay suficiente memoria para completar esta operación. Por favor, intente:
1. detener otras aplicaciones y servicios irrelevantes
2. Modifique las medidas de la siguiente manera:
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. Inténtelo de nuevo.
Saludos
Icey
Si este post ayuda,entonces considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.
@Helia9235, no hay nada como una operación de nivel de fila en power bi. Así que tienes que hacerlo usando una fórmula y medida de color
¿Puede compartir datos de ejemplo y salida de ejemplo en formato de tabla? O una muestra de pbix después de eliminar datos confidenciales.
Para la medida de color
https://radacad.com/dax-and-conditional-formatting-better-together-find-the-biggest-and-smallest-num...
https://docs.microsoft.com/en-us/power-bi/desktop-conditional-table-formatting#color-by-color-values
Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City
Check out the April 2024 Power BI update to learn about new features.
User | Count |
---|---|
1 | |
1 | |
1 | |
1 | |
1 |