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

The ultimate Microsoft Fabric, Power BI, Azure AI & SQL learning event! Join us in Las Vegas from March 26-28, 2024. Use code MSCUST for a $100 discount. Register Now

Reply
Syndicate_Admin
Administrator
Administrator

filtrar para (selección múltiple con AND)

@parry2k selección múltiple con AND

Tengo una capa más al problema presentado en el post "selección múltiple con AND". Recapitulo las cuestiones esenciales.

Tengo las mismas dos listas de palabras clave: Causa y Efecto. Tengo filtros que permiten la selección múltiple de ambas listas (incluida la selección de todo).

1. La primera tarea es encontrar todas las palabras clave seleccionadas a la vez de (ambas) listas en una columna de texto de la tabla y luego sumar las cantidades de valor correspondientes a esta selección. (Ya resuelto en "selección múltiple con AND".)

CausaEfecto
manzanaalergia
cacahueterecordar
uva

2. Además, la Tabla tiene una columna adicional para la Categoría de Riesgo, que restringe las posibles causas y efectos. (Aparece como un filtro visual adicional).

Por ejemplo, el riesgo bajo debe permitir buscar solo la alergia, sea cual sea la causa, el riesgo medio para todas las causas, pero solo el recuerdo del efecto, y el riesgo alto para todas las combinaciones posibles de causas y efectos.

Mensaje de texto

Fecha

Valor

Categoría de riesgo

El riesgo de las manzanas en China

9/8/2023

778,985

de bajo riesgo

Recoge cacahuetes, recoge manzanas y sal de la ciudad

10/1/2023

13,270,269

de bajo riesgo

Un servicio de entrega de comestibles de bajo costo con mucho más que manzanas feas

11/9/2023

5,543,076

de bajo riesgo

Krispy Kreme retira urgentemente un paquete de cuatro donas por temor a la alergia al maní

8/7/2023

4,013,349

de alto riesgo

Recuerde sobre los temores de alergia: los bocadillos de chocolate con pasas pueden contener maní

10/9/2023

6,518,508

de alto riesgo

Tengo una alergia severa a las fresas

9/23/2023

4,013,349

de bajo riesgo

Aldi retira urgentemente los embutidos por temor a alergias

8/23/2023

4,013,349

de alto riesgo

La alergia a las pasas envía al bebé de Patrick y Brittany Mahomes a la sala de emergencias

8/19/2023

199,000

de alto riesgo

Nestlé se deshace del negocio de alergia al maní Palforzia

9/3/2023

23,837

de bajo riesgo

Un estudio sobre la alergia al cacahuete es prometedor

6/19/2023

92,000

Riesgo medio

Una mujer que usó Apple observa cómo un testigo recuerda un sonido "crujiente"

8/16/2023

92,142

de bajo riesgo

Retiro innecesario de las barras energéticas de maní en medio de temores de alergia

11/23/2013

3,107

Riesgo medio

Categoría de riesgoSelección permitida
de alto riesgotodas las causas y efectos
Riesgo mediotodas las Causas pero solo Efecto = recuerdo
de bajo riesgosin Causa y solo Efecto = alergia

Por ejemplo, cuando se selecciona la categoría de riesgo de riesgo medio, el filtro Causa muestra todas las causas y el filtro Efecto solo recuerda. Con apple seleccionado (+ recordar), no hay texto que coincida con la selección, por lo que el valor final debería ser 0. Si solo se selecciona cacahuete (+recall), el valor final debe ser 3,107.

Mensaje de textoFecha Valor Categoría de riesgo
Retiro innecesario de las barras energéticas de maní en medio de temores de alergia11/23/20133,107Riesgo medio

Para la categoría de riesgo de bajo riesgo , donde no es posible seleccionar la causa y solo la alergia al efecto , el valor debe ser 4.013.349 + 23.837 = 4.037.186.

Mensaje de textoFecha Valor Categoría de riesgo
Tengo una alergia severa a las fresas9/23/20234,013,349de bajo riesgo
Nestlé se deshace del negocio de alergia al maní Palforzia9/3/202323,837de bajo riesgo

La segunda tarea es mostrar los filtros válidos de Causa y Efecto permitidos en la Categoría de Riesgo del filtro seleccionado y calcular correctamente el Valor total de acuerdo con la selección (permitida). Idealmente, incluso la categoría de riesgo tiene múltiples selecciones, en cuyo caso, por supuesto, se puede elegir la unión de todas las causas y efectos permitidos para los múltiples riesgos seleccionados, pero el cálculo del valor será, por supuesto, seguir las reglas.

¿Podrías ayudarme un poco más? ¡Muchas gracias de antemano!

16 REPLIES 16
Syndicate_Admin
Administrator
Administrator

Te envié un correo electrónico. No te preocupes. ¡Muchas gracias!

Si es necesario, aún podemos organizar una llamada otro día. Solo házmelo saber.

¡Muchas gracias!

Syndicate_Admin
Administrator
Administrator

Hola, perdón por otra llamada por otra hora. Leeré sus mensajes más tarde y me pondré en contacto con usted. Siempre puedes comunicarte vía correo electrónico, está en mi firma.

Syndicate_Admin
Administrator
Administrator

¡Hola! ¿Estás ahí? ¿Todavía quieres conectarte o mejor seguimos enviando mensajes aquí?

Estaré por aquí durante aprox. 50 min - 1h, siempre puedes escribirme. Después, es posible que lo lea solo mañana (en aprox. 19-20h a partir de ahora). Son las 17:11 horas. ¡Muchas gracias!

Syndicate_Admin
Administrator
Administrator

Me da la impresión de que el tema es aún más complicado.

Si seleccionas dos Riesgos con opciones de Causa y/o Efecto que no se superponen (-totalmente), por supuesto que los filtros muestran la unión de todas estas posibilidades para elegir. Si se eligen dos opciones fuera del conjunto de posibilidades de intersección , se rompe, ya que busca esas opciones simultáneamente.

En los datos de ejemplo: supongamos que selecciona riesgo medio y bajo.

El filtro Efecto muestra tanto el recuerdo (válido para riesgo medio) como la alergia (para riesgo bajo). Si se seleccionan ambos (y no hay Causa), el resultado es:

Mensaje de textoFecha Valor Categoría de riesgo
Retiro innecesario de las barras energéticas de maní en medio de temores de alergia11/23/20133,107Riesgo medio

Está bien para el riesgo medio, pero no para el riesgo bajo, donde en realidad debería buscar solo alergia y el resultado debería ser:

Mensaje de textoFecha Valor Categoría de riesgo
El riesgo de las manzanas en China9/8/2023778,985de bajo riesgo
Recoge cacahuetes, recoge manzanas y sal de la ciudad10/1/202313,270,269de bajo riesgo
Un servicio de entrega de comestibles de bajo costo con mucho más que manzanas feas11/9/20235,543,076de bajo riesgo
Tengo una alergia severa a las fresas9/23/20234,013,349de bajo riesgo
Nestlé se deshace del negocio de alergia al maní Palforzia9/3/202323,837de bajo riesgo
Una mujer que usó Apple observa cómo un testigo recuerda un sonido "crujiente"8/16/202392,142de bajo riesgo

No hace falta decir lo que sucede si se elige el maní (sin efecto). Para un riesgo bajo, ni siquiera debe buscar una razón, aún así obtienes resultados:

Mensaje de textoFecha Valor Categoría de riesgo
Recoge cacahuetes, recoge manzanas y sal de la ciudad10/1/202313,270,269de bajo riesgo
Nestlé se deshace del negocio de alergia al maní Palforzia9/3/202323,837de bajo riesgo

Y todo se resume al final.

En mi opinión, el cálculo debería hacerse por separado para cada uno de los filtros elegidos y luego unir los resultados o algo parecido. Esto definitivamente no soy capaz de resolverlo con una fórmula (o incluso más).

¡Nos vemos más tarde (8 a.m. tu hora, si google lo calculó correctamente, perdón por el error tipográfico inicial)!

Syndicate_Admin
Administrator
Administrator

Entonces, me reúno hoy a las 5 p.m., hora de Europa Central y, si calculo correctamente, ¿tu hora está bien para ti? ¡Déjame saber cómo conectarme, por favor!

Solo como una nota: no se me permite mostrar datos originales, en caso de que planeara hablar sobre esa base, pero ... Hablemos.

¡Por supuesto, si todavía está bien para ti! Por supuesto, ¡muchas gracias!

Syndicate_Admin
Administrator
Administrator

Oh, lo siento, estoy en Alemania, así que es demasiado tarde para mí (casi las 8 p.m.), ya he cerrado mi día y no puedo usar los sistemas fuera de la oficina.

¿Y mañana a las 5 de la tarde, hora de Europa Central, sería demasiado temprano para ti? De lo contrario, por favor, nombre un momento más conveniente. ¡Y dime cómo conectarme, por favor!

¡¡Esto sería realmente genial!! ¡Muchísimas gracias!

Syndicate_Admin
Administrator
Administrator

¿Tienes tiempo para conectarte? Estoy en la zona horaria del Pacífico.

Syndicate_Admin
Administrator
Administrator

Extendí tu medida a algo como esto:

_Totalvalue_selected – 3 =

VAR _SelectedEffects = FILTER(VALUES(TextEffect[Effect]), ISFILTERED(TextEffect[Effect]))

VAR _SelectedCauses = FILTER(VALUES(TextCause[Cause]), ISFILTERED(TextCause[Cause]))

VAR _SelectedCausesAndEffects = UNIÓN ( _SelectedCauses, _SelectedEffects )

VAR _MatchingSlicerValues = ADDCOLUMNS(TextData, "@IsMatched",

VAR _TextValue = TextData[Texto]

RETURN SUMX(FILTER( SelectedCausesAndEffects,CONTAINSSTRING(TextValue,[Cause])), 1))

VAR _CountOfSelectedValues = COUNTROWS(_SelectedCausesAndEffects)

VAR _SelectedRisks = FILTER(VALUES(TextRisk[RiskCategory]), ISFILTERED(TextRisk[RiskCategory]))

VAR _CountOfSelectedRisks = COUNTROWS(_SelectedRisks)

VAR _MatchingSlicerValues_withRisk = ADDCOLUMNS(FILTER(_MatchingSlicerValues, [@IsMatched]= _CountOfSelectedValues), "@IsMatched_Risk", SUMX(_SelectedRisks, 1))

VAR _MatchingExactSlicerValues_withRisk= FILTRO(_MatchingSlicerValues_withRisk, [@IsMatched_withRisk]= _CountOfSelectedRisks)

RETURN IF(NOT(ISFILTERED(TextCause[Cause])) & NOT(ISFILTERED(TextEffect[Effect])) && NOT(ISFILTERED(TextRisk[RiskCategory])), BLANK(), SUMX(_MatchingExactSlicerValues_withRisk, [Value]))

Parece que funciona, pero tal vez puedas echarle un vistazo, porque definitivamente detectarás los errores desde el principio. (Espero no haber escrito mal algo, ya que todavía estoy trabajando en mi gran entorno con mis nombres de variables ligeramente diferentes). Tal vez incluso pueda compararlo directamente con los datos de muestra.

Incluso si es correcto, definitivamente se puede escribir mucho más parsimono.

Estoy a años de distancia de tu nivel de conocimiento magistral ... Así que un poco más de ayuda sería totalmente genial. Por supuesto, ya he aprendido mucho de ti. ¡Muchas gracias!

Syndicate_Admin
Administrator
Administrator

He empezado a comprobar los números. Desafortunadamente, rompe con las medidas actuales si se seleccionan múltiples riesgos (no todos) y múltiples (pero no todas) causas.

Desafortunadamente, la muestra que di es, por supuesto, un ejemplo y no sé si puede encontrar un caso que muestre que se rompe.-- Probablemente uno debería extender la tabla con una línea o cambiar una de las reglas de filtrado de riesgo, pero estoy un poco bajo presión en este momento.

SHasta ahora, he trabajado directamente en mi entorno más grande (que es solo muchas más causas, efectos y filas en total). En mi entorno, definitivamente muestra 0.

Supongo que tiene sentido porque las medidas actuales no tienen en cuenta el número de nuevas selecciones de filtros, es decir, los riesgos seleccionados. (Es por eso que supongo que también en el ejemplo, que puedes ver lo antes posible, no funcionará. Tal vez puedas comprobarlo por mí y decirme si / cómo extender la tabla o cambiar algo más para que puedas ver si se rompe).

De todos modos, ¡cualquier idea tuya es más que bienvenida! ¡Muchas gracias!

Syndicate_Admin
Administrator
Administrator

@EmaT No te preocupes, tómate tu tiempo. Es emocionante contar con esta solución. ¡Buena suerte!

Syndicate_Admin
Administrator
Administrator

@EmaT Debería ser fácil de hacer en PQ.

Syndicate_Admin
Administrator
Administrator

Ya lo he comprobado para los filtros.

Pero me di cuenta de que necesitaba reescribir / agregar las medidas antiguas para los cálculos en cada categoría de riesgo (estaba usando datos agrupados antes de que llegara este nuevo tema con el filtro de los filtros). Probablemente me llevará un poco más de tiempo hacer esto y, sobre todo, comprobar las cifras, aunque este informe tiene una alta prioridad, y mañana tengo un día bastante ajetreado.

Pero definitivamente puedo aceptarlo ya como una (¡genial!) solución, ¡muchas gracias!

Te avisaré si sigo teniendo problemas.

Syndicate_Admin
Administrator
Administrator

¡Muchas gracias! ¡Se ve genial, como siempre!

Probablemente tendré que anular el pivote en Power Query, ya que en realidad tengo muchas más causas y efectos. ¡Pero intentaré ver si funciona mañana por la tarde y te lo haré saber!

¡Muchas gracias!

Syndicate_Admin
Administrator
Administrator

@EmaT la solución rápida sin cambiar las medidas existentes es mejorar el modelo utilizando el siguiente enfoque:

La tabla "Causa de texto" que se usa para la segmentación de causas tendrá un registro tanto para el riesgo alto como para el riesgo bajo

parry2k_0-1701709907248.png

La tabla "Efecto de texto" tendrá un registro para cada categoría de riesgo, ver más abajo:

parry2k_1-1701709950721.png

Habrá una nueva tabla para la selección de categorías de riesgo y la llamé "Categoría de riesgo"

parry2k_2-1701709994075.png

Y así es como se conectarán estas tablas:

parry2k_3-1701710084016.png

Y a medida que realice la selección de riesgo, las segmentaciones de causa y efecto se cambiarán en consecuencia. Comencemos con esto y veamos si funciona para usted. El único problema que veo con esto es que si se selecciona riesgo bajo o riesgo medio, el usuario aún tiene que seleccionar el efecto en la segmentación de datos, incluso si tiene una opción. Si queremos que la medida funcione sin que el usuario tenga que seleccionar el efecto , debemos actualizar la medida.

2023-12-04_09-16-30.gif

Syndicate_Admin
Administrator
Administrator

En primer lugar: ¡muchas gracias!

  • Alto riesgo: Sí, básicamente la solución actual... (En realidad, lo mismo si se seleccionan todos o ningún riesgo).
  • Riesgo medio: el usuario puede seleccionar cualquiera o todas las causas existentes (todas en la segmentación), no hay ninguna restricción. Restringidos son solo los efectos (es decir, solo para recordar). Idealmente, de nuevo, el filtro Efecto mostraría solo la recuperación como una opción.
  • Bajo riesgo: Idealmente, de nuevo, el filtro Causa mostraría estar vacío o no permitiría hacer clic en él o algo así. (No hay pista ahora para manejar esto sin una relación de Causas y Efectos a la Mesa).

Al final, lo más importante es que el cálculo del valor total sea correcto, es decir, de acuerdo con estas reglas restrictivas en la parte superior.

(A mi modo de ver: si hay una forma de filtrar los filtros, el cálculo seguiría siendo la solución actual. De lo contrario, las reglas deben integrarse en el propio cálculo).

¡Muchas gracias!

Syndicate_Admin
Administrator
Administrator

@EmaT no te preocupes, ¿puedes confirmar lo siguiente?

Categoría de riesgo Selección permitida
de alto riesgo todas las causas y efectos ¿Te refieres a cualquier selección que haya hecho el usuario (básicamente el comportamiento actual de la solución)?
Riesgo medio todas las Causas pero solo Efecto = recuerdo ¿Qué significan todas las causas? - Causas seleccionadas por el usuario o todas las causas en la tabla de segmentación - Anular la selección del usuario Solo use todos los valores
de bajo riesgo sin Causa y solo Efecto = alergia Supongo que si el usuario seleccionó alguna causa en la segmentación, no se tendrá en cuenta.

Helpful resources

Announcements
Fabric Community Conference

Microsoft Fabric Community Conference

Join us at our first-ever Microsoft Fabric Community Conference, March 26-28, 2024 in Las Vegas with 100+ sessions by community experts and Microsoft engineering.

February 2024 Update Carousel

Power BI Monthly Update - February 2024

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

Fabric Career Hub

Microsoft Fabric Career Hub

Explore career paths and learn resources in Fabric.

Fabric Partner Community

Microsoft Fabric Partner Community

Engage with the Fabric engineering team, hear of product updates, business opportunities, and resources in the Fabric Partner Community.

Top Solution Authors