Check your eligibility for this 50% exam voucher offer and join us for free live learning sessions to get prepared for Exam DP-700.
Get StartedDon't miss out! 2025 Microsoft Fabric Community Conference, March 31 - April 2, Las Vegas, Nevada. Use code MSCUST for a $150 discount. Prices go up February 11th. Register now.
Hola
Las 7 columnas de la izquierda son parte de una tabla más grande que debo usar para obtener el resultado deseado en la columna de resultado requerido para cada fila de mi tabla.
Necesito ignorar los campos en blanco y, si todos los campos restantes contienen los mismos datos, devuelva ese valor en la columna de resultados. Si los campos restantes no contienen los mismos datos, el resultado debe ser "Mixto".
Cualquier ayuda será agradecida.
Gracias
Ene
Solved! Go to Solution.
Hola @JanCronje16
Pruebe esto:
Output =
// Define a variable `_TBL` to create a virtual table with specified columns
VAR _TBL = {
'Table'[Column1],
// Column 1 from the table
'Table'[Column2],
// Column 2 from the table
'Table'[Column3],
// Column 3 from the table
'Table'[Column4],
// Column 4 from the table
'Table'[Column5] // Column 5 from the table
} // Calculate the count of unique non-blank values in `_TBL`
VAR UniqueCount =
COUNTROWS (
// Count the number of rows in the resulting table
DISTINCT (
// Extract unique values from the filtered table
FILTER (
// Filter out blank values from `_TBL`
_TBL,
NOT ( ISBLANK ( [Value] ) ) // Keep rows where [Value] is not blank
)
)
) // Return the result based on the count of unique values
RETURN
IF (
UniqueCount > 1,
// If there is more than 1 unique non-blank value
"Mixed",
// Return "Mixed"
MAXX ( _TBL, [Value] ) // Otherwise, return the maximum value in `_TBL`
)
Hola @JanCronje16 , Pruebe esto:
Result =
VAR NonBlankValues =
UNION(
SELECTCOLUMNS(FILTER(ALL('Table'), NOT(ISBLANK('Table'[Column1])) && 'Table'[Column1] = EARLIER('Table'[Column1])), "Value", 'Table'[Column1]),
SELECTCOLUMNS(FILTER(ALL('Table'), NOT(ISBLANK('Table'[Column2])) && 'Table'[Column2] = EARLIER('Table'[Column2])), "Value", 'Table'[Column2]),
SELECTCOLUMNS(FILTER(ALL('Table'), NOT(ISBLANK('Table'[Column3])) && 'Table'[Column3] = EARLIER('Table'[Column3])), "Value", 'Table'[Column3]),
SELECTCOLUMNS(FILTER(ALL('Table'), NOT(ISBLANK('Table'[Column4])) && 'Table'[Column4] = EARLIER('Table'[Column4])), "Value", 'Table'[Column4]),
SELECTCOLUMNS(FILTER(ALL('Table'), NOT(ISBLANK('Table'[Column5])) && 'Table'[Column5] = EARLIER('Table'[Column5])), "Value", 'Table'[Column5]),
SELECTCOLUMNS(FILTER(ALL('Table'), NOT(ISBLANK('Table'[Column6])) && 'Table'[Column6] = EARLIER('Table'[Column6])), "Value", 'Table'[Column6]),
SELECTCOLUMNS(FILTER(ALL('Table'), NOT(ISBLANK('Table'[Column7])) && 'Table'[Column7] = EARLIER('Table'[Column7])), "Value", 'Table'[Column7])
)
VAR DistinctNonBlankValues =
FILTER(
DISTINCT(NonBlankValues),
[Value] <> BLANK()
)
VAR FirstValue = MAXX(DistinctNonBlankValues, [Value])
VAR AllSame =
COUNTROWS(
FILTER(
DistinctNonBlankValues,
[Value] <> FirstValue
)
) = 0
RETURN
IF(
COUNTROWS(DistinctNonBlankValues) = 0,
BLANK(),
IF(
AllSame,
FirstValue,
"Mixed"
)
)
Cambie los nombres de las columnas según corresponda.
Salidas:
¡Espero que esto ayude!
Si esto resolvió su problema, ¡acéptelo como una solución y felicitaciones!
Saludos
Shahariar Hafiz
Hola @JanCronje16
Pruebe esto:
Output =
// Define a variable `_TBL` to create a virtual table with specified columns
VAR _TBL = {
'Table'[Column1],
// Column 1 from the table
'Table'[Column2],
// Column 2 from the table
'Table'[Column3],
// Column 3 from the table
'Table'[Column4],
// Column 4 from the table
'Table'[Column5] // Column 5 from the table
} // Calculate the count of unique non-blank values in `_TBL`
VAR UniqueCount =
COUNTROWS (
// Count the number of rows in the resulting table
DISTINCT (
// Extract unique values from the filtered table
FILTER (
// Filter out blank values from `_TBL`
_TBL,
NOT ( ISBLANK ( [Value] ) ) // Keep rows where [Value] is not blank
)
)
) // Return the result based on the count of unique values
RETURN
IF (
UniqueCount > 1,
// If there is more than 1 unique non-blank value
"Mixed",
// Return "Mixed"
MAXX ( _TBL, [Value] ) // Otherwise, return the maximum value in `_TBL`
)
Gracias, funciona muy bien.