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.
Hola, chicos
Me preguntaba si podías ayudar en esto. Tengo un conjunto de datos con elementos que a veces se etiquetan como Bloqueado. Quiero filtrar mi conjunto de datos hacia abajo para tener elementos que una vez han sido etiquetados como Bloqueados... sino también conservar los tiempos en que no fueron bloqueados.
Vea a continuación quiero encontrar una manera de filtrar la columna para conservar sólo la sección roja...
¿Se puede hacer esto?
Solved! Go to Solution.
Hola @n123b
Por favor, siempre muestre sus datos de muestra en formato text-tabular además de (o en lugar de) las capturas de pantalla. Un límite de pantalla no permite a las personas copiar fácilmente los datos y ejecutar una prueba rápida y, por lo tanto, disminuye la probabilidad de que su pregunta sea respondida. Solo tiene que usar 'Copiar tabla' en Power BI y pegarla aquí. O, idealmente, compartir el pbix (cuidado con los datos confidenciales).
Coloque el siguiente código M en una consulta en blanco para ver los pasos basados en una tabla de origen simplificada:
let
Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WMjQwUNJRMgRipVgdGNcIlWuMyjWBcY0NLQyNLZC1w0VAJjjl5Cdnp6agShjjkoCbaoTqIiNUFxmhusgIyUWxAA==", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [WorkItemId = _t, ChangedDate = _t, TagNames = _t]),
#"Changed Type" = Table.TransformColumnTypes(Source,{{"WorkItemId", Int64.Type}, {"ChangedDate", Int64.Type}, {"TagNames", type text}}),
#"Filtered Rows" = Table.SelectRows(#"Changed Type", each List.Contains(Table.SelectRows(#"Changed Type", (inner)=> inner[WorkItemId]=[WorkItemId])[TagNames], "Blocked"))
in
#"Filtered Rows"
También puede crear una nueva tabla calculada en DAX, aunque recomendaría la ruta PQ:
NewTable =
FILTER( Table1,
CALCULATE(COUNT(Table1[TagNames]), Table1[TagNames] = "Blocked", ALLEXCEPT(Table1, Table1[WorkItemId])) > 0
)
Por favor, marque la pregunta resuelta cuando haya terminado y considere dar un pulgar hacia arriba si las publicaciones son útiles.
Póngase en contacto conmigo de forma privada para obtener asistencia con cualquier necesidad de BI a gran escala, tutoría, etc.
Salud
NewTable2 =
FILTER (
Table1,
CALCULATE (
COUNT ( Table1[TagNames] ),
SEARCH ( "Blocked", Table1[TagNames], 1, 0 ) > 0,
ALLEXCEPT ( Table1, Table1[WorkItemId] )
) > 0
)
Por favor, marque la pregunta resuelta cuando haya terminado y considere dar un pulgar hacia arriba si las publicaciones son útiles.
Póngase en contacto conmigo de forma privada para obtener asistencia con cualquier necesidad de BI a gran escala, tutoría, etc.
Salud
@AlB ¿cuál tendría que ser el DAX actual (refiriéndose a la segunda parte de su respuesta) si quisiera incluir en cualquier momento que hubiera la palabra "bloqueado" (por ejemplo, si alguien usó la etiqueta 'bloqueado - datos') y para ello no distingue mayúsculas de minúsculas?
Gracias chicos, ambas de estas soluciones funcionan - agradecemos su ayuda. También añadí
"blocked", Comparer.OrdinalIgnoreCase)
A la primera respuesta, al igual que me di cuenta de que me perdí algunos con una mayúscula B 🙂
@n123b , Puede crear una nueva columna como esta y filtrar bloqueada
nueva columna ?
var _cnt - countx(filter(Table, [workitemid] ? earlier([workitemid]) && [Tagnames] ?"Blocked"), [workitemid])+0
devolución
if(_cnt >0 , "Blocked", Blank())
Hola @n123b
Por favor, siempre muestre sus datos de muestra en formato text-tabular además de (o en lugar de) las capturas de pantalla. Un límite de pantalla no permite a las personas copiar fácilmente los datos y ejecutar una prueba rápida y, por lo tanto, disminuye la probabilidad de que su pregunta sea respondida. Solo tiene que usar 'Copiar tabla' en Power BI y pegarla aquí. O, idealmente, compartir el pbix (cuidado con los datos confidenciales).
Coloque el siguiente código M en una consulta en blanco para ver los pasos basados en una tabla de origen simplificada:
let
Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WMjQwUNJRMgRipVgdGNcIlWuMyjWBcY0NLQyNLZC1w0VAJjjl5Cdnp6agShjjkoCbaoTqIiNUFxmhusgIyUWxAA==", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [WorkItemId = _t, ChangedDate = _t, TagNames = _t]),
#"Changed Type" = Table.TransformColumnTypes(Source,{{"WorkItemId", Int64.Type}, {"ChangedDate", Int64.Type}, {"TagNames", type text}}),
#"Filtered Rows" = Table.SelectRows(#"Changed Type", each List.Contains(Table.SelectRows(#"Changed Type", (inner)=> inner[WorkItemId]=[WorkItemId])[TagNames], "Blocked"))
in
#"Filtered Rows"
También puede crear una nueva tabla calculada en DAX, aunque recomendaría la ruta PQ:
NewTable =
FILTER( Table1,
CALCULATE(COUNT(Table1[TagNames]), Table1[TagNames] = "Blocked", ALLEXCEPT(Table1, Table1[WorkItemId])) > 0
)
Por favor, marque la pregunta resuelta cuando haya terminado y considere dar un pulgar hacia arriba si las publicaciones son útiles.
Póngase en contacto conmigo de forma privada para obtener asistencia con cualquier necesidad de BI a gran escala, tutoría, etc.
Salud
March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount!
Check out the January 2025 Power BI update to learn about new features in Reporting, Modeling, and Data Connectivity.