Forum Discussion
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í:
| Nombre | Moneda incorrecta utilizada | ID 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 error | Contar |
| Moneda incorrecta utilizada | 5 |
| ID de empleado no válido | 10 |
He pensado en tal vez transponer y luego 'Agrupar por', pero eso no me permite contar con eficacia. ¿Alguna idea?
4 Replies
- FowmySuper User
@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 Rowslet 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"________________________
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 🙂
- NorwaySasquatchAdvocate 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ó?
- FowmySuper User
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 🙂