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.
hola
Uso table.profile para obtener el perfil de datos de un conjunto de datos grande con muchas columnas. Creo que NullCount no cuenta las celdas en blanco. ¿Cómo puedo agregar CountBlank a este perfil? gracias.
Solved! Go to Solution.
Prueba esta @fess440
No creo que pueda tener espacios en blanco para los campos numéricos, se convierten en nulos y no puede reemplazar los valores con espacios en blanco, así que supongo que esto es texto.
let
Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WSlTSUTIEYhOlWJ1opSQUXjKUB+akgBhQNoRpCGanQRUBebEA", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [#"Data 1" = _t, #"Data 2" = _t, #"Data 3" = _t]),
#"Changed Type" = Table.TransformColumnTypes(Source,{{"Data 2", type number}, {"Data 3", type number}}),
Custom1 =
Table.Profile(
#"Changed Type",
{
{
"Blanks", each Type.Is(_, type nullable any), each List.Count(List.Select(_, each _ = ""))
}
}
)
in
Custom1
Estos son mis datos ficticios:
Y este es el resultado. Nota: Eliminé un montón de columnas que Table.Profile genera para obtener esta captura de pantalla:
DAX is for Analysis. Power Query is for Data Modeling
Proud to be a Super User!
MCSA: BI ReportingGran @fess440 - me alegro de haber podido ayudar. ¡Aprendí algo nuevo aquí también!
DAX is for Analysis. Power Query is for Data Modeling
Proud to be a Super User!
MCSA: BI ReportingPrueba esta @fess440
No creo que pueda tener espacios en blanco para los campos numéricos, se convierten en nulos y no puede reemplazar los valores con espacios en blanco, así que supongo que esto es texto.
let
Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WSlTSUTIEYhOlWJ1opSQUXjKUB+akgBhQNoRpCGanQRUBebEA", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [#"Data 1" = _t, #"Data 2" = _t, #"Data 3" = _t]),
#"Changed Type" = Table.TransformColumnTypes(Source,{{"Data 2", type number}, {"Data 3", type number}}),
Custom1 =
Table.Profile(
#"Changed Type",
{
{
"Blanks", each Type.Is(_, type nullable any), each List.Count(List.Select(_, each _ = ""))
}
}
)
in
Custom1
Estos son mis datos ficticios:
Y este es el resultado. Nota: Eliminé un montón de columnas que Table.Profile genera para obtener esta captura de pantalla:
DAX is for Analysis. Power Query is for Data Modeling
Proud to be a Super User!
MCSA: BI ReportingHi Edhans
gracias por la solución pero no entiendo la parte:
Json.Document(Binary.Decompress(Binary.FromText("i45WSlTSUTIEYhOlWJ1opSQUXjKUB+akgBhQNoRpCGanQRUBebEA", BinaryEncoding.Base64), Compression.Deflate)),
mi tabla viene importada desde una base de datos, no desde un archivo JSON, así que ¿cómo puedo adaptar esto, por favor,
cordialmente
walid
Vea específicamente el paso 5 a continuación:
Cómo utilizar el código M proporcionado en una consulta en blanco:
1) En Power Query, seleccione Nuevo origen y, a continuación, Consulta en blanco
2) En la cinta de inicio, seleccione el botón "Editor avanzado"
3) Elimina todo lo que ves, luego pega el código M que te he dado en ese cuadro.
4) Prensa Hecho
5) Consulte este artículo si necesita ayuda para usar este código M en su modelo.
o si pongo el nombre de la columna derecha en lugar de "datos 2", por ejemplo, "cd_marque" entre comillas como lo hizo usted, y cambié el tipo a texto en lugar del número, obtengo
Expresión.Error: No se encontró la columna 'CD_MARQUE' de la tabla.
Detalles:
CD_MARQUE
pero es incorrecto que esta columna exista
solo usa esto:
let
Source = Sql.Database("SESKRUTDEVDB05", "REF_PDT"),
dbo_ODS_PDT_MARQUE = Source{[Schema="dbo",Item="ODS_PDT_MARQUE"]}[Data],
Custom1 =
Table.Profile(
dbo_ODS_PDT_MARQUE,
{
{
"Blanks", each Type.Is(_, type nullable any), each List.Count(List.Select(_, each _ = ""))
}
}
)
in
Custom1
No necesita un paso De tipo modificado porque los datos provienen de SQL Server y ya tienen buenos tipos de datos.
Muchas gracias
muchas gracias por tu respuesta, creo que no estoy lejos, porque la sintaxis es buena pero ¿por qué debería transformar el tipo de datos de las columnas, quiero mantenerlas como tal? y también debería reemplazar los datos 2 y 3 con nombres reales de las columnas porque hay muchas y lo haré en muchas tablas, por lo que puede ser muy largo?
dejar
Source = Sql.Database("SESKRUTDEVDB05", "REF_PDT"),
dbo_ODS_PDT_MARQUE = Source{[Schema="dbo",Item="ODS_PDT_MARQUE"]}[Data],
#"Tipo modificado" = Table.TransformColumnTypes(Source,{{"Data 2", type number}, {"Data 3", type number}}),
Personalizado1 =
Tabla.Perfil(
#"Tipo cambiado",
{
{
"Blanks", cada Type.Is(_, escriba nullable any), cada List.Count(List.Select(_, each _ = ""))
}
}
)
en
Personalizado1
@fess440 - ¿probaste esta solución?
DAX is for Analysis. Power Query is for Data Modeling
Proud to be a Super User!
MCSA: BI Reportingy también si ignoro las filas de tipo cambiadas (ambas) recibo un mensaje de error
Expression.Error: No podemos convertir un valor de tipo List en table.
Detalles:
Valor=[Lista]
Tipo=[Tipo]
Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City
Check out the April 2024 Power BI update to learn about new features.
User | Count |
---|---|
1 | |
1 | |
1 | |
1 | |
1 |
User | Count |
---|---|
2 | |
2 | |
1 | |
1 | |
1 |