Earn the coveted Fabric Analytics Engineer certification. 100% off your exam for a limited time only!
He intentado usar esta solución, pero parece funcionar sobre una base de quirófano
https://community.powerbi.com/t5/Desktop/Dynamic-filtering-slicing-if-text-contains/td-p/425504
Me gustaría lograr lo siguiente:
Datos:
Fecha Texto 2018-11-01 Manzanas 2018-04-03 Manzanas; Naranjas; Uvas 2018-02-01 Manzanas; Naranjas
2018-01-03 Naranjas; Uvas; Plátanos
Rebanador:
[ ] Manzanas
[ x ] Naranjas
[ x ] Uvas
[ ] Plátanos
Debe filtrar a los pedidos que incluyen naranjas y uvas, pero podría haber incluido otros artículos también:
Texto de fecha
2018-04-03 Manzanas; Naranjas; Uvas
2018-01-03 Naranjas; Uvas; Plátanos
¡Gracias!
¡Hola MFelix! Me topé con su publicación mientras buscaba una medida para resolver un problema al que me enfrento en PowerBI.
De su último mensaje, ¿tiene una medida que cuando se seleccionan manzanas y naranjas de la segmentación, solo aparece la fila 01/02/2018, y cuando se seleccionan manzanas, naranjas y uvas de la segmentación, solo aparece la fila 03/04/2018?
Pero cuando solo se seleccionan manzanas en la segmentación, aparecerán las tres filas.
¡Gracias de antemano!
¿Han realizado algún cambio en las medidas o en el modelo? Acabo de descargar el archivo y todo funciona correctamente:
Hola, sí, utilicé el proporcionado por usted
¿Estás usando el mismo ejemplo que el mío o es diferente? ¿Está utilizando el archivo de muestra que proporcioné?
Hola
Gracias, pero lo que creo es que mi resultado es 1 en lugar del 3 esperado con tu ejemplo.
El resultado esperado es de 3 filas porque estamos buscando una palabra dentro de una frase, no una coincidencia completa
Hola
Cuando solo se selecciona Apples, se espera que la tabla proporcione 3 filas como result.no resultado se muestra en la tabla. Pero en su lugar, solo aparece la fila con solo manzanas.
Hay @morgtd30
(1) Crear una tabla con la selección "Manzanas"," Naranjas"," Uvas"," Plátanos".
(2) Añadir una segmentación de datos con [Slicer] . Y, a continuación, cree una medida para devolver la cadena de valor select .
Measure 2 = CALCULATE(CONCATENATEX(VALUES(Slicer[Slicer]),Slicer[Slicer],"; "))
(3) Cree una medida para juzgar si la Medida 2 en la columna [Texto] . En caso afirmando, devuelva 1 , de lo contrario devuelva 0 .
CONTAINSSTRING = IF(CONTAINSSTRING(SELECTEDVALUE('Table'[Text]),Slicer[Measure 2]),1,0)
(4) Coloque la medida CONTAINSSTRING en el filtro visual y establezca que CONTAINSSTRING es igual a 1 . El resultado final es el mostrado:
He adjuntado mi archivo pbix, puede consultarlo.
Saludos
Equipo de apoyo a la comunidad _ Ailsa Tao
Si esta publicación ayuda, considere Aceptarla como la solución para ayudar a los otros miembros a encontrarla más rápidamente.
Hay @Ailsa-msft ,
¿Te das cuenta de que tu solución hace que si el orden de las palabras es diferente entonces no devuelve ningún resultado?
He añadido una línea con diferentes valores y el resultado es el siguiente:
¿Puede ver en su solución que le falta una línea?
Esto está sucediendo porque usando el CONCANATEX estás forzando el orden del texto usando mi solución ya que estoy mirando palabras individuales muestra el resultado:
Hay @morgtd30 ,
Hice un enfoque similar a esto en esta publicación:
Haciendo algún pequeño ajuste fui abble para llegar a la siguiente medida:
Find Word Formula_V2 =
// Character that split phrase into words
VAR SplitByCharacter = " "
// Temporary table that splits selected phrase into words
VAR Words_table =
ADDCOLUMNS (
GENERATE (
SELECTCOLUMNS (
ALLSELECTED (Slicer[Slicer] ),
"Find_Text", Slicer[Slicer]
),
VAR TokenCount =
PATHLENGTH ( SUBSTITUTE ( [Find_Text], SplitByCharacter, "|" ) )
RETURN
GENERATESERIES ( 1, TokenCount )
),
"Word", PATHITEM ( SUBSTITUTE ( [Find_Text], SplitByCharacter, "|" ), [Value] )
)
RETURN
IF (
// Function that returns the sum of the values of the words found in the sentance
SUMX (
Words_table,
FIND (
// additonal spaces in the beginning and ending of each word allows to find the exact match, also removed the last "." so that would be specific words
UPPER ( [Word] ) & " ",
UPPER ( SELECTEDVALUE ( 'Table'[Text] ) ) &" ",
,
0
)
) > 0,
1,
BLANK ()
)
Vea el resultado a continuación y en el archivo PBIX adjunto:
Si lo desea, puede establecer la medida en el panel de filtro de visualización y establecerla en valores que no están en blanco.