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
Andrew17
Helper I
Helper I

Una segmentación de datos para filtrar varias columnas y contar el número de registros de cada columna por separado

Hola

Tengo una tabla que muestra los datos en el siguiente formato:

Identificación únicaEstado actualEstado 1 Fecha de finalizaciónEstado 1 Semana de finalizaciónEstado 2 Fecha de finalizaciónEstado 2 Semana de finalización
AA13/20/202012
Off13/25/202013
Ca13/24/202013
Para23/20/2020123/21/202012
Ae23/25/2020133/27/2020

13

Y luego tengo dos medidas. Estas medidas cuentan el número total de identificadores únicos totales que tienen valores para cada fecha de finalización de estado.

Sin filtro, las medidas se verían así:

Recuento del Estado 1 a 5

Recuento del Estado 2 a 2

Lo que quiero es poder filtrar en función de la semana, para ver cuántos identificadores únicos de cada estado se completaron en una semana específica. Así que si seleccioné la semana 13 en la segmentación, las medidas serían:

Recuento del Estado 1 a 3

Recuento del Estado 2 a 1

Me pregunto si hay alguna manera de hacerlo en Power BI? ¿Quizás haya una manera de cambiar la estructura de los datos para que sea más fácil hacer algo como esto que no se me ocurre?

No puedo encontrarme con ningún post que haya tenido una pregunta similar antes en el pasado. Soy bienvenido a cualquier solución, incluso si es un montón de trabajo para mí para agregar en!

¡Gracias!

Andrew

1 ACCEPTED SOLUTION
V-lianl-msft
Community Support
Community Support

Hola @Andrew17 ,

Cree una nueva tabla de semanas no relacionada y utilíquela como segmentación de datos.

A continuación, cree medidas para contar el identificador único.

count_id1 =
IF (
    HASONEFILTER ( 'Table 2'[week] ),
    CALCULATE (
        COUNT ( 'Table'[Unique ID] ),
        FILTER (
            'Table',
            'Table'[Status 1 Completion Week] = SELECTEDVALUE ( 'Table 2'[week] )
        )
    ),
    CALCULATE (
        COUNT ( 'Table'[Unique ID] ),
        FILTER ( 'Table', NOT ( ISBLANK ( 'Table'[Status 1 Completion Week] ) ) )
    )
)

count_unique_id.PNG

Aquí está el ejemplo pbix.

Saludos
Liang
Si este post ayuda, por favor considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

View solution in original post

5 REPLIES 5
V-lianl-msft
Community Support
Community Support

Hola @Andrew17 ,

Cree una nueva tabla de semanas no relacionada y utilíquela como segmentación de datos.

A continuación, cree medidas para contar el identificador único.

count_id1 =
IF (
    HASONEFILTER ( 'Table 2'[week] ),
    CALCULATE (
        COUNT ( 'Table'[Unique ID] ),
        FILTER (
            'Table',
            'Table'[Status 1 Completion Week] = SELECTEDVALUE ( 'Table 2'[week] )
        )
    ),
    CALCULATE (
        COUNT ( 'Table'[Unique ID] ),
        FILTER ( 'Table', NOT ( ISBLANK ( 'Table'[Status 1 Completion Week] ) ) )
    )
)

count_unique_id.PNG

Aquí está el ejemplo pbix.

Saludos
Liang
Si este post ayuda, por favor considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

Hola @V-lianl-msft

Gracias de nuevo por su ayuda, he estado jugando con esta medida, y no puedo encontrar una manera de editarlo para mostrar varias semanas juntos debido a la función HASONEFILTER. Si quisiera mostrar tanto la semana 12 como la semana 13 (suponiendo que haya más semanas en el conjunto de datos), ¿cómo lo haría?

Esto es exactamente lo que necesitaba. Muchas gracias 🙂

Ashish_Mathur
Super User
Super User

Hola

Puede descargar mi archivo PBI desde aquí.

Espero que esto ayude.

Untitled.png


Regards,
Ashish Mathur
http://www.ashishmathur.com
https://www.linkedin.com/in/excelenthusiasts/
camargos88
Community Champion
Community Champion

Hola @Andrew17 ,

Pruebe este código en Transformar datos (Power Query) -> Editor avanzado:

Dejar
Fuente: Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WcnRU0lEyBGJjfSMDIDIyAPGNgIQCGMfqANU4IdSYwtUYo6pxRqgxwaXGBcg0wmYXUMAQSQCs2BWhGNVSoIA5kkBsLAA", BinaryEncoding.Base64), Compression.Deflate)), let _t á ((texto de tipo) meta [Serialized.Text ? true]) en la tabla de tipos ["Id. único" - _t, "Estado actual" - _t, "Estado 1 Fecha de finalización" , "_t, "Estado 1 Semana de finalización" , _t "Fecha de finalización del estado 2 _t _t" .
"Tipo modificado" ? Tabla.TransformColumnTypes(Fuente, "Identificador único", texto de tipo, "Estado actual", Int64.Tipo, "Fecha de finalización del estado 1", texto de tipo, "Estado 1 Semana de finalización", Int64.Tipo, "Fecha de finalización del estado 2", texto de tipo, "Estado 2 Semana de finalización", Int64.Type", Int64.Type", Int64.Type", Int64.Type", Int64.Type", Int64.Type, Int64.Type, Int64.Type, Int64.Type, Int64.Type, Int64.Type, Int64.Type, Int64.Type, Int64.Type, Int64.Type, Int64.Type Week, Int64.Type.
"Columnas sólo seleccionadas no pivotadas" - Tabla.Unpivot('Tipo cambiado',''Código de finalización'', "Estado 1 Semana de finalización", "Fecha de finalización del estado 2", "Estado 2 Semana de finalización","Atributo", "Valor"),
"Dividir columna por delimitador" - Table.SplitColumn('Unpivoted Only Selected Columns", "Attribute", Splitter.SplitTextByDelimiter(" ", QuoteStyle.Csv), á"Attribute.1", "Attribute.2", "Attribute.3", "Attribute.4"-),
"Changed Type1" ? Table.TransformColumnTypes("Split Column by Delimiter",-"Attribute.1", escriba text,"Attribute.2", Int64.Type,"Attribute.3", escriba text,, escriba text, "Attribute.4", escriba text?),
"Columnas eliminadas" ? Tabla.RemoveColumns("Changed Type1","Attribute.3"-),
"Columna pivote" á Table.Pivot(?"Columnas eliminadas", List.Distinct(?"Columnas eliminadas"[Atributo.4]), "Atributo.4", "Valor"),
"Valor reemplazado" ? Table.ReplaceValue(?"Columna pivotada"," ",null,Replacer.ReplaceValue,"Fecha"-),
"Tipo modificado con configuración regional" - Table.TransformColumnTypes('Valor reemplazado'', ''Fecha'', fecha de tipo', "en-US"),
"Changed Type2" ? Table.TransformColumnTypes("Changed Type with Locale", "Semana", Int64.Type, Int64.Type, Int64.Type, Int64.Type, Int64.Type, Int64.Type, Int64.Type, Int64,Type, Int64.Type, Int64.Type, Int64.Type, Int64.Type, Int64.
"Añadido personalizado" á Table.AddColumn('Changed Type2", "Status", cada [Attribute.1] & " " & Text.From([Attribute.2])), cada [Attribute.1] & " " & Text.From([Attribute.2])),
"Columnas reordenadas" á Table.ReorderColumns(''Added Custom'',''Id' único', "Current Status", "Status", "Attribute.1", "Attribute.2", "Date", "Week"'),
"Columnas eliminadas1" á Table.RemoveColumns(?"Columnas reordenadas", "Atributo.1", "Atributo.2",),
"Changed Type3" ? Table.TransformColumnTypes("Columnas eliminadas1", "Estado", tipo de texto)
En
"Tipo cambiado3"

Ricardo



Did I answer your question? Mark my post as a solution!

Proud to be a Super User!



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.