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

Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.

Reply
Syndicate_Admin
Administrator
Administrator

Medida para filtrar solo los valores de columna requeridos

Hola a todos, nuevo en esto y me está volviendo loco ...

Tengo una columna de tabla que contiene muchos números de ID de terminal únicos. Quiero crear una medida que muestre (filtre) solo los ID específicos que necesito para mi matriz. es decir, A123456D, A123454D, etc., etc. y no mostrar el resto. Esto sería similar a la función "IN" de TSQL, donde puedo enumerar solo los valores que quiero devolver en la instrucción select. ¡Espero que tenga sentido!

Puedo hacer esto en la vista de datos usando filtros de texto, pero es muy tedioso revisar y encontrar / seleccionar solo los ID que quiero conservar. Con una medida podría copiar y pegar toda la lista si alguna vez necesita ser actualizada. Cualquier orientación y ejemplo sería muy apreciado. He realizado varios cursos de DAX en línea, pero esto no parece estar detallado en ninguna parte de los cursos y todavía soy muy nuevo en DAX.

Muy apreciado. Garry

1 ACCEPTED SOLUTION

Hay @Gaz_Chapp

Pruebe esta medida para crear una nueva tabla mediante código DAX:

Filtered Table = filter('Table','Table'[TransAtmEftposId] in {"9V12345D","9V54321D"})

VahidDM_0-1631249369588.png

Tabla original :

VahidDM_1-1631249407345.png

Tabla filtrada:

VahidDM_2-1631249422921.png

En Power Query agregar haga clic en "Insertar paso después" y use este código [agregar nuevos códigos con OR al final]:

= Table.SelectRows(#"Changed Type", each ([TransAtmEftposId] = "9V12345D" or [TransAtmEftposId] = "9V54321D"))

VahidDM_3-1631249661402.png

Si este post Ayuda, por favor considere aceptarél como la soluciónpara ayudar a los otros miembros a encontrarlo más rápidamente.

Aprecia tus felicitaciones✌️!!

View solution in original post

6 REPLIES 6
Syndicate_Admin
Administrator
Administrator

Hay @Gaz_Chapp ,

No muy claro. Por favor, proporcióneme más detalles sobre su tabla y su problema o compártame con su archivo pbix después de eliminar datos confidenciales.

Saludos
Eyelyn Qin

Gracias Eyelyn,

Tengo una sola tabla con varias columnas. Una columna contiene muchos números de ID de terminal, hasta 100 ID únicos. Sin embargo, estas identificaciones pueden aplicarse a varias filas, y solo alrededor de 30 de los números de identificación son relevantes para mi informe. Por lo tanto, quiero filtrar todos los ID no deseados en la columna para excluirlos de la tabla. He hecho esto usando la función de filtro de texto en la columna para incluir solo los números de identificación que quiero. Sin embargo, es muy lento agregar cada número de IDENTIFICACIÓN usando el filtro de texto de la columna, ya que tengo que seleccionar cada campo uno por uno usando el filtro "Nombre de la tabla, columna de la tabla, Contiene = 9V123456D". Como sabrás, esto debe hacerse una línea a la vez en la herramienta de filtro de texto.

Screenshot 2021-09-10 124739.png

Esperaba poder usar una medida para lograr el mismo resultado, de modo que cuando se agreguen nuevos ID de terminal a la base de datos, simplemente pueda actualizar la medida con los nuevos ID, que solo cambian ocasionalmente. Lo que hice por ahora fue agregar un solo filtro de texto a la columna usando la herramienta, luego usando el editor de consultas, edité el paso manualmente para agregar los otros números de ID. Esta fue solo una forma rápida de agregar al filtro de texto sin tener que usar la herramienta línea por línea. ¡Espero que todo esto tenga sentido!

Gracias. Garry.

Hay @Gaz_Chapp

Pruebe esta medida para crear una nueva tabla mediante código DAX:

Filtered Table = filter('Table','Table'[TransAtmEftposId] in {"9V12345D","9V54321D"})

VahidDM_0-1631249369588.png

Tabla original :

VahidDM_1-1631249407345.png

Tabla filtrada:

VahidDM_2-1631249422921.png

En Power Query agregar haga clic en "Insertar paso después" y use este código [agregar nuevos códigos con OR al final]:

= Table.SelectRows(#"Changed Type", each ([TransAtmEftposId] = "9V12345D" or [TransAtmEftposId] = "9V54321D"))

VahidDM_3-1631249661402.png

Si este post Ayuda, por favor considere aceptarél como la soluciónpara ayudar a los otros miembros a encontrarlo más rápidamente.

Aprecia tus felicitaciones✌️!!

Gracias Vahid, perdón por la respuesta tardía, he estado fuera esta semana de permiso. Probé ambos ejemplos, pero no estoy seguro de si pretendía que fueran dos formas independientes de aplicar la solución, o si está sugiriendo que use ambos al mismo tiempo, es decir, crear la nueva tabla Y aplicar el nuevo paso de filtro.

Usar el segundo ejemplo de su código en un nuevo paso es básicamente lo que hice yo mismo al agregar manualmente nuevos ID, y eso funciona bien sin agregar una nueva tabla filtrada. Además, si creo la tabla filtrada, supongo que debo usar la columna TransAtmEftposId en la visualización para filtrar los ID requeridos.

Por último, necesito agregar una relación entre las tablas existentes y nuevas, de lo contrario, Power BI arroja un error con respecto a la relación de tabla, y cuando creo una relación, recibo una advertencia de cardinalidad de que es una relación de "muchos a muchos", ¿está bien hacerlo? Gracias, Garry.

Syndicate_Admin
Administrator
Administrator

Hay @Gaz_Chapp

Puede utilizar el filtro DAX de la siguiente manera:

Nueva tabla = filter(table,table[terminal ID ] = "SPECIFIC ID")
O
Nueva tabla = filter(table,table[terminal ID ] en {ID1, ID2,ID3,...})

Y puedes usar estos códigos en el Cálculo.

Si este post Ayuda, por favor considere aceptar él como la soluciónpara ayudar a los otros miembros a encontrarlo más rápidamente.

Aprecia tus felicitaciones ✌️!!

Gracias por la respuesta. Desafortunadamente la solución no funcionó para mí. Usé un filtro de texto y lo edité manualmente para incluir los más de 30 ID adicionales y funcionó. No estoy seguro de qué se trata la medida, pero no le gusta la expresión, recibo un error "La expresión se refiere a múltiples columnas". Gracias.

Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

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

April Fabric Community Update

Fabric Community Update - April 2024

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