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.
@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".)
Causa | Efecto |
manzana | alergia |
cacahuete | recordar |
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 riesgo | Selección permitida |
de alto riesgo | todas las causas y efectos |
Riesgo medio | todas las Causas pero solo Efecto = recuerdo |
de bajo riesgo | sin 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 texto | Fecha | Valor | Categoría de riesgo |
Retiro innecesario de las barras energéticas de maní en medio de temores de alergia | 11/23/2013 | 3,107 | Riesgo 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 texto | Fecha | Valor | Categoría de riesgo |
Tengo una alergia severa a las fresas | 9/23/2023 | 4,013,349 | de bajo riesgo |
Nestlé se deshace del negocio de alergia al maní Palforzia | 9/3/2023 | 23,837 | de 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!
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!
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.
¡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!
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 texto | Fecha | Valor | Categoría de riesgo |
Retiro innecesario de las barras energéticas de maní en medio de temores de alergia | 11/23/2013 | 3,107 | Riesgo 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 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 |
Tengo una alergia severa a las fresas | 9/23/2023 | 4,013,349 | de bajo riesgo |
Nestlé se deshace del negocio de alergia al maní Palforzia | 9/3/2023 | 23,837 | de bajo riesgo |
Una mujer que usó Apple observa cómo un testigo recuerda un sonido "crujiente" | 8/16/2023 | 92,142 | de 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 texto | Fecha | Valor | Categoría de riesgo |
Recoge cacahuetes, recoge manzanas y sal de la ciudad | 10/1/2023 | 13,270,269 | de bajo riesgo |
Nestlé se deshace del negocio de alergia al maní Palforzia | 9/3/2023 | 23,837 | de 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)!
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!
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!
¿Tienes tiempo para conectarte? Estoy en la zona horaria del Pacífico.
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!
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!
@EmaT No te preocupes, tómate tu tiempo. Es emocionante contar con esta solución. ¡Buena suerte!
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.
¡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!
@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
La tabla "Efecto de texto" tendrá un registro para cada categoría de riesgo, ver más abajo:
Habrá una nueva tabla para la selección de categorías de riesgo y la llamé "Categoría de riesgo"
Y así es como se conectarán estas tablas:
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.
En primer lugar: ¡muchas gracias!
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!
@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. |