Forum Discussion

NorwaySasquatch's avatar
NorwaySasquatch
Advocate II
5 years ago

Pregunta Tricky PowerBI

Hey todo,

Tengo un problema que, como un usuario intermedio que ha buscado en Google durante horas tratando de encontrar la respuesta a esta pregunta y ha sido insegura.

Básicamente, tengo una tabla con un subconjunto de columnas que se dedican exclusivamente a describir errores, y cada columna representa un 'bucket' diferente de error. A continuación, el valor de ese bucket proporciona más información que puede variar. Por ejemplo, una columna podría ser 'Error: Moneda incorrecta usada' y luego un valor en una fila podría ser 'Euros no admitido' y otra fila podría tener 'Yen no compatible'. Ejemplo aquí:

NombreMoneda incorrecta utilizadaID de empleado no válido
Archivo1'Euros no soportados''Demasiados números'
Archivo2 'No se ha introducido ningún ID;
Archivo 3
Archivo 4'Yen no soportado'

Lo que estoy tratando de hacer es contar el número de filas no en blanco por columna (20-25 columnas). Normalmente esto sería fácil, sin embargo quiero tener un objeto visual que se muestre como tal, y me permite ordenar la columna 'Count' resultante, y aplicar formato condicional a toda la columna 'count'.

Tipo de errorContar
Moneda incorrecta utilizada5
ID de empleado no válido10

He pensado en tal vez transponer y luego 'Agrupar por', pero eso no me permite contar con eficacia. ¿Alguna idea?

4 Replies

  • @NorwaySasquatch

    Vaya a Power Query, pegue el código siguiente en una consulta en blanco y compruebe los pasos.

    Básicamente, seleccione Columna de nombre de archivo y Elija Upivot Otras columnas
    Ahora en la columna Valor, Filtrar en blanco
    Columna de error de grupo y elija Count Rows

    let
        Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WcsvMSTVU0lGKKTUwMDJ3LS3KL1bIyy9RKC4tKMgvKklNgUjAVYTk5yvkJuZVKuSV5ialFhXDpVFQrA7EZCMIH6LIL1/B00UhM6+gtARorjVQPDg/N1XBtagovwiiDp0PN0fBGN0GdPVwlSZw+yJT83B4BZsBaBaa4laDptIMr7uQVZpjNxCbBXA9FniNRlZpiTWIEPKGBjgUxAIA", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Filename = _t, #"Wrong Currency Used" = _t, #"Invalid Employee ID" = _t, #"Error Column 1" = _t, #"Error Column 2" = _t, #"Error Column 3" = _t, #"Error Column 4" = _t, #"Error Column 5" = _t]),
        #"Unpivoted Other Columns" = Table.UnpivotOtherColumns(Source, {"Filename"}, "Attribute", "Value"),
        #"Renamed Columns" = Table.RenameColumns(#"Unpivoted Other Columns",{{"Attribute", "Error"}}),
        #"Filtered Rows" = Table.SelectRows(#"Renamed Columns", each ([Value] <> "")),
        #"Grouped Rows" = Table.Group(#"Filtered Rows", {"Error"}, {{"Count", each Table.RowCount(_), Int64.Type}})
    in
        #"Grouped Rows"

    Fowmy_0-1600662833021.png

    ________________________

    Si mi respuesta fue útil, considere Aceptarla como la solución para ayudar a los otros miembros a encontrarla

    Haga clic en el icono Thumbs-Up si le gusta esta respuesta 🙂

    Youtube Linkedin



    • NorwaySasquatch's avatar
      NorwaySasquatch
      Advocate II

      Hola Fowmy,

      Gracias por la respuesta en profundidad. ¿Cómo reaccionaría esto a los filtros que afectan a la consulta original? Filtro basado en trailing los últimos 7 días (aunque hago esto manualmente a partir de ahora), cuando filtro la tabla original después de que la consulta se cargue, ¿todavía se actualizaría en la tabla derivada que mostró?

      • Fowmy's avatar
        Fowmy
        Super User

        @NorwaySasquatch

        Sí, se actualizará a medida que se actualice la consulta, los pasos se aplicarán según lo definido.

        Mencionó el trailing en los últimos 7 días, pero no encontró ninguna fecha implicada en el ejemplo de datos.

        ________________________

        Si mi respuesta fue útil, considere Aceptarla como la solución para ayudar a los otros miembros a encontrarla

        Haga clic en el icono Thumbs-Up si le gusta esta respuesta 🙂

        Youtube Linkedin