Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Earn the coveted Fabric Analytics Engineer certification. 100% off your exam for a limited time only!

Reply
WaheedAli
Helper I
Helper I

Cree una medida para buscar varios textos y devolver un valor específico en una variable

Soy relativamente nuevo con Power BI y codificación/programación, así que por favor tenga paciencia conmigo. Lo que quiero es obtener tres valores diferentes (por ejemplo, 1, 2 y 3), como salida en una variable basada en los valores de muchas columnas.

Por ejemplo, en la tabla siguiente

Si una fila contiene 3 tipos de líquido específico (por ejemplo, pespi, agua y fanta), en todas las columnas, debe devolver 1,

Y si una fila tiene el mismo (pepsi, agua, fanta) 3 líquidos, así como otros tipos de líquidos, en todas las columnas, debe devolver 2

Y si una fila tiene sólo 1 de 3 líquidos (pepsi, agua, fanta) debe devolver 3

Pero si una fila no tiene todos estos (pepsi, agua, fanta) 3 tipos de líquidos específicos, en todas las columnas, debe devolver 4.

Recuerde que estos líquidos en todas las columnas pueden estar en cualquier columna aleatoria

¿Puede alguien guiarme qué fórmula DAX tengo que usar o cómo crear esta medida?

Color on column based on the value of different columns.JPG

1 ACCEPTED SOLUTION

Utilice esta variación para eliminar los valores en blanco de las evaluaciones.

NewColumn á VAR liqs ?
Filtro(DISTINCT ( ?
Líquidos[Liquid1],
Líquidos[Liquid2],
Líquidos[Liquid3],
Líquidos[Liquid4],
Líquidos[Liquid5]
• [ Valor] <> "")
Var comparable ( VAR comparetable) ?
"Pepsi",
"Fanta",
"Agua"
}
Superposición de VAR (VAR overlap)
COUNTROWS (
INTERSECT (
comparable,
liqs
)
)
Liqcount de VAR (VAR liqcount)
COUNTROWS (
DISTINCT ( liqs )
)
devolución
SWITCH (
VERDADERO (),
Y (
solapamiento 3,
liqcount 3
), 1,
Y (
solapamiento 3,
liqcount > 3
), 2,
superposición > 1, 3,
solapamiento 0, 4
)
saludos
palmadita




Did I answer your question? Mark my post as a solution! Kudos are also appreciated!

To learn more about Power BI, follow me on Twitter or subscribe on YouTube.


@mahoneypa HoosierBI on YouTube


View solution in original post

6 REPLIES 6
mahoneypat
Employee
Employee

Normalmente sugeriría despivos sus datos. Pero esta expresión de columna obtiene el resultado en el formato actual.

Código de código ?
Fue liqs =
Distintas ( {
Líquidos[Liquid1],
Líquidos[Liquid2],
Líquidos[Liquid3],
Líquidos[Liquid4],
Líquidos[Liquid5]
} )
Fue comparable = {
"Pepsi",
"Fanta",
"Agua"
}
Fue Traslapo =
COUNTROWS (
Intersect (
comparable,
liqs
)
)
Fue liqcount =
COUNTROWS (
Distintas ( liqs )
)
devolución
Interruptor (
Verdad (),
Y (
Traslapo = 3,
liqcount = 3
), 1,
Y (
Traslapo = 3,
liqcount > 3
), 2,
Traslapo > 1, 3,
Traslapo = 0, 4
)

saludos

palmadita





Did I answer your question? Mark my post as a solution! Kudos are also appreciated!

To learn more about Power BI, follow me on Twitter or subscribe on YouTube.


@mahoneypa HoosierBI on YouTube


Querido Pat,

Muchas gracias por ayudar, pero la fórmula no está funcionando. Estoy adjuntando la captura de pantalla. Pero creo que cuando se utiliza el operador DISTINCT no le permite seleccionar tabla / columna y tal vez así es como funciona. Pero ya que usted es el experto, puede leer mejor el error y ver cuál es el problema.

El archivo puede ser archivo PIBX se puede descargar desde este ENLACE.

Y FYI estoy tratando de utilizar estos resultados variables (1,2,3) para dar formato condicional a los nombres basados en esas tres presencias de líquidos en una fila.

Liquids error.JPGLiquids table.JPG

La expresión que he proporcionado es una expresión de columna, no una medida. En Vista de datos para la tabla de líquidos, haga clic en Nueva columna en la cinta de opciones y escriba esa expresión. Dado que los datos no se unpid y la tabla de valores se crea en cada fila, una expresión de columna era más sencilla. Es posible hacer esto como una medida, pero sería aún más largo y yo sugeriría despivo los datos y escribir una medida más simple en ese momento.

saludos

palmadita





Did I answer your question? Mark my post as a solution! Kudos are also appreciated!

To learn more about Power BI, follow me on Twitter or subscribe on YouTube.


@mahoneypa HoosierBI on YouTube


Querido Pat,

Esto es muy útil y realmente aprecio su tiempo en él. Sólo una pequeña cosa. No regresa 1, donde los líquidos son sólo los tres tipos deseados, es decir, Pepsi, Fanta & Water. Es devuelve 2. Probé todas mis lógicas y pruebas, pero no pude hacer que regresara dos. Podría ser una cosa pequeña para usted, ¿puede por favor echar un vistazo al código de nuevo?It should return 1.JPG

Utilice esta variación para eliminar los valores en blanco de las evaluaciones.

NewColumn á VAR liqs ?
Filtro(DISTINCT ( ?
Líquidos[Liquid1],
Líquidos[Liquid2],
Líquidos[Liquid3],
Líquidos[Liquid4],
Líquidos[Liquid5]
• [ Valor] <> "")
Var comparable ( VAR comparetable) ?
"Pepsi",
"Fanta",
"Agua"
}
Superposición de VAR (VAR overlap)
COUNTROWS (
INTERSECT (
comparable,
liqs
)
)
Liqcount de VAR (VAR liqcount)
COUNTROWS (
DISTINCT ( liqs )
)
devolución
SWITCH (
VERDADERO (),
Y (
solapamiento 3,
liqcount 3
), 1,
Y (
solapamiento 3,
liqcount > 3
), 2,
superposición > 1, 3,
solapamiento 0, 4
)
saludos
palmadita




Did I answer your question? Mark my post as a solution! Kudos are also appreciated!

To learn more about Power BI, follow me on Twitter or subscribe on YouTube.


@mahoneypa HoosierBI on YouTube


Muchas gracias, pat. Muy apreciado. Me salvaste... Gracias a ton... Su funcionamiento funciona perfectamente 🙂

Helpful resources

Announcements
April AMA free

Microsoft Fabric AMA Livestream

Join us Tuesday, April 09, 9:00 – 10:00 AM PST for a live, expert-led Q&A session on all things Microsoft Fabric!

March Fabric Community Update

Fabric Community Update - March 2024

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

Top Solution Authors