Microsoft Fabric Community Conference 2025, March 31 - April 2, Las Vegas, Nevada. Use code FABINSIDER for a $400 discount.
Register nowThe Power BI DataViz World Championships are on! With four chances to enter, you could win a spot in the LIVE Grand Finale in Las Vegas. Show off your skills.
En Power Query tenemos estadísticas interesantes sobre cada columna (Calidad de columna, Distribución de columnas, Perfil de columna). Desde El perfil de columna podemos obtener algunos números utilizando la función Table.Profile() ... pero no obtengo valores para crear el gráfico que vemos en Distribución de valor (recuento de cada valor en la columna).
Mi intención es crear una vista en PBI para proporcionar información sobre la calidad de los datos para los usuarios.
La pregunta es ... ¿cómo puedo obtener la lista y el recuento de valores en columnas? Podría esto usando un poco de código duro en M, pero me gustaría hacerlo flexible (puede ser una función) para ser utilizado en diferentes tablas / columnas. En la vista, el usuario podría seleccionar una columna, de una segmentación de datos, y ver estáticas/gráficos para esa columna específica. No está seguro de si una tabla virtual en DAX podría resolver el problema teniendo en cuenta que el nombre de columna es variable. Cualquier ayuda es muy bienvenida.
Hola @gdecome,
Supongo que puede utilizar la función "distinto" o "valores" para obtener la lista de la columna. Pero ambas funciones eliminarán los valores duplicados.
Aquí está la referencia:
https://docs.microsoft.com/en-us/dax/distinct-function-dax
https://docs.microsoft.com/en-us/dax/values-function-dax
En cuanto al "recuento de valores en columnas", puede usar "count","distinctcount" o "countrows" por su solicitud.
Aquí está la referencia:
https://docs.microsoft.com/en-us/dax/count-function-dax
https://docs.microsoft.com/en-us/dax/distinctcount-function-dax
https://docs.microsoft.com/en-us/dax/countrows-function-dax
Hola @v-kelly-msft , gracias por su sugerencia.
De hecho, estoy buscando algo más "flexible" donde no necesito codificar duro el nombre de la columna.
Hasta ahora, estoy usando el código de abajo que parece estar funcionando de la manera que necesito (todavía WIP)
Dejar
Perfil de la página de la ins
Table.Profile(
Mytable
"Valor", cada Tipo.Is(_, escriba any), List.Sort ?
)
En
Perfil
Con eso tengo una nueva columna en la tabla, además de los otros estados, con la lista de todos los valores en esa columna. Puedo expandir esta lista, contar cada valor y crear un gráfico similar a lo que vemos en la pantalla de Power Query. No pude encontrar mucha documentación sobre el segundo parámetro en Table.Profile, pero hay algunas opciones interesantes para mejorar la información. Todavía no estoy seguro de cómo utilizar otras funciones en eso cuando la función requiere más de un parámetro (por ejemplo, List.FirstN). Además, la única función List que encontré para devolver la lista completa de valores fue List.Sort. Si tiene más información o consejos al respecto, por favor, hágamelo saber. Gracias de nuevo
Por cierto... Descubrí mi problema al intentar entrar en una función con más de un parámetro:
En lugar de (que devuelve error)
"Valor", cada Tipo.Is(_, escriba any), List.FirstN(_,2) ?
Necesidad de incluir un "cada uno" adicional
"Valor", cada Tipo.Is(_, escriba cualquiera), cada List.FirstN(_,2)
Hola @gdecome ,
Prueba a continuación el código M:
let
Profile = Table.AddColumn(Table.Profile(Table),"ColumnValue",each
let
cname = [Column],
t = Table.RenameColumns(Table.Distinct(Table.SelectColumns(Table,[Column])),{[Column],"Value"})
in Table.AddColumn(t, "ValueCount", each let v = [Value] in Table.RowCount(Table.SelectRows(Table.RenameColumns(Table.SelectColumns(Table,cname),{cname,"OriginValue"}),each [OriginValue] = v)))
),
#"Expanded ColumnValue" = Table.ExpandTableColumn(Profile, "ColumnValue", {"Value", "ValueCount"}, {"ColumnValue.Value", "ColumnValue.ValueCount"})
in
#"Expanded ColumnValue"
Excelente... Obtuve un resultado similar con algunos otros pasos, pero está tomando algún tiempo para procesar. Su técnica es bastante interesante y está funcionando bien. Haré algunas pruebas adicionales para mantener el proceso más eficiente en términos de tiempo.
Muchas gracias por su ayuda 🙂
March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount!
Check out the February 2025 Power BI update to learn about new features.