Anónimo
Estoy tratando de agregar una columna de número incremental en PowerBI para cada número de identificación.
Me he burlado de un antes y un después a continuación con los resultados esperados:
Esto debe estar en Power Query y no en una columna DAX personalizada, ya que se usará para crear relaciones con otras tablas.
Probé algunas cosas pero no pude obtenerlo exactamente en Power-BI Power Query Editor. Mucho aprecio cualquier sugerencia.
Alba
@Anónimo
Es una variación menor de la versión anterior:
let
Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WMjQyVtJRCkkszlYwBDKCS1ILFPISc1MVEpOSlWJ18ChITUvHr6CisgqswNQcrsAIRUFyUiJ+BSmpaWAFlhbmMAXGKAoyMrMgbjCwhCkwQVGQk5sHscIMboUpioK8/AL8CgqLisEKzM1MYQrMUBSUlJYpxcYCAA==", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [ID = _t, #"Task Name" = _t, #"Step Name" = _t]),
#"Changed Type" = Table.TransformColumnTypes(Source,{{"ID", Int64.Type}}),
#"Grouped Rows" = Table.Group(#"Changed Type", {"ID"}, {{"Step", each Table.AddIndexColumn(_, "Step", 1, 1, Int64.Type)}}),
#"Expanded Step" = Table.ExpandTableColumn(#"Grouped Rows", "Step", {"Task Name", "Step Name", "Step"}, {"Task Name", "Step Name", "Step"}),
#"Changed Type1" = Table.TransformColumnTypes(#"Expanded Step",{{"Task Name", type text}, {"Step Name", type text}, {"Step", Int64.Type}}),
#"Added Custom" = Table.AddColumn(#"Changed Type1", "ID_Step", each Text.From([ID]) & "-" & Text.From([Step]), type text),
#"Reordered Columns" = Table.ReorderColumns(#"Added Custom",{"ID", "Step", "ID_Step", "Task Name", "Step Name"})
in
#"Reordered Columns"
Por favor marque la pregunta resuelta cuando termine y considere dando un pulgar hacia arriba si las publicaciones son útiles.
Comuníquese conmigo en privado para obtener asistencia con cualquier necesidad de BI a gran escala, tutoría, etc.
Salud
Alba
@Anónimo
Puede crear dos columnas calculadas:
Step =
CALCULATE (
COUNT ( Table1[Step Name] ),
Table1[Step Name] <= EARLIER ( Table1[Step Name] ),
ALLEXCEPT ( Table1, Table1[ID] )
)
ID_Step = Table1[ID] & "-" & Table1[Step]
Sin embargo, tenga en cuenta que, tal como está ahora, no tiene una columna para establecer el orden en la tabla en DAX. Tendría que agregar un índice en la fuente (como lo haría en PQ) o una posible alternativa sería usar el Nombre del paso para establecer ese orden (alfabéticamente), que es lo que he hecho aquí.
Por favor marque la pregunta resuelta cuando termine y considere dando un pulgar hacia arriba si las publicaciones son útiles.
Comuníquese conmigo en privado para obtener asistencia con cualquier necesidad de BI a gran escala, tutoría, etc.
Salud
Alba
@Anónimo
Puede crear dos columnas calculadas:
Step =
CALCULATE (
COUNT ( Table1[Step Name] ),
Table1[Step Name] <= EARLIER ( Table1[Step Name] ),
ALLEXCEPT ( Table1, Table1[ID] )
)
ID_Step = Table1[ID] & "-" & Table1[Step]
Sin embargo, tenga en cuenta que, tal como está ahora, no tiene una columna para establecer el orden en la tabla en DAX. Tendría que agregar un índice en la fuente (como lo haría en PQ) o una posible alternativa sería usar el Nombre del paso para establecer ese orden (alfabéticamente), que es lo que he hecho aquí.
Por favor marque la pregunta resuelta cuando termine y considere dando un pulgar hacia arriba si las publicaciones son útiles.
Comuníquese conmigo en privado para obtener asistencia con cualquier necesidad de BI a gran escala, tutoría, etc.
Salud
Alba
@Anónimo
Es una variación menor de la versión anterior:
let
Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WMjQyVtJRCkkszlYwBDKCS1ILFPISc1MVEpOSlWJ18ChITUvHr6CisgqswNQcrsAIRUFyUiJ+BSmpaWAFlhbmMAXGKAoyMrMgbjCwhCkwQVGQk5sHscIMboUpioK8/AL8CgqLisEKzM1MYQrMUBSUlJYpxcYCAA==", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [ID = _t, #"Task Name" = _t, #"Step Name" = _t]),
#"Changed Type" = Table.TransformColumnTypes(Source,{{"ID", Int64.Type}}),
#"Grouped Rows" = Table.Group(#"Changed Type", {"ID"}, {{"Step", each Table.AddIndexColumn(_, "Step", 1, 1, Int64.Type)}}),
#"Expanded Step" = Table.ExpandTableColumn(#"Grouped Rows", "Step", {"Task Name", "Step Name", "Step"}, {"Task Name", "Step Name", "Step"}),
#"Changed Type1" = Table.TransformColumnTypes(#"Expanded Step",{{"Task Name", type text}, {"Step Name", type text}, {"Step", Int64.Type}}),
#"Added Custom" = Table.AddColumn(#"Changed Type1", "ID_Step", each Text.From([ID]) & "-" & Text.From([Step]), type text),
#"Reordered Columns" = Table.ReorderColumns(#"Added Custom",{"ID", "Step", "ID_Step", "Task Name", "Step Name"})
in
#"Reordered Columns"
Por favor marque la pregunta resuelta cuando termine y considere dando un pulgar hacia arriba si las publicaciones son útiles.
Comuníquese conmigo en privado para obtener asistencia con cualquier necesidad de BI a gran escala, tutoría, etc.
Salud
Anónimo
En respuesta a Alba
¡Esto es genial, gracias! Funciona perfectamente.
¿Hay alguna manera de lograr el mismo resultado pero usando una columna de cálculo en DAX?
Tengo una conexión de datos DirectQuery, con los mismos datos de muestra donde también necesito obtener el mismo resultado (pero como DirectQuery no puedo agregar columnas usando M en el editor; espero haberlo entendido, ¿verdad?)
Gracias por ayudarme, agradezco mucho su ayuda.
Alba
@Anónimo
Eso es raro. Acabo de escribir la siguiente tabla en Excel, la copié y la pegué aquí. No hay problemas:
Col1 | Col2 |
1 | 3 |
2 | 4 |
3 | 5 |
Intente no formatear los datos como una tabla en Excel. Aunque también debería funcionar. De lo contrario, comparta el archivo de Excel con los datos (o el pbix). Tienes que compartir la URL del archivo alojado en otro lugar: Dropbox, Onedrive… o simplemente subir el archivo a un sitio como tinyupload.com (no es necesario registrarse).
Por favor marque la pregunta resuelta cuando termine y considere dando un pulgar hacia arriba si las publicaciones son útiles.
Comuníquese conmigo en privado para obtener asistencia con cualquier necesidad de BI a gran escala, tutoría, etc.
Salud
Anónimo
En respuesta a Alba
No importa lo que intente, simplemente no aceptará ningún tipo de tabla, ya sea copiada desde Excel o simplemente creando una tabla y completándola.
Subí el archivo de muestra a DropBox pero ni siquiera me deja publicar el enlace. Acabo de obtener el mismo error:
«Su publicación se modificó porque se encontró HTML no válido en el cuerpo del mensaje. El HTML no válido ha sido eliminado. Revise el mensaje y envíelo cuando esté satisfecho».
Alba
En respuesta a Anónimo
@Anónimo
No tengo idea de lo que está pasando. Tal vez cierre sesión, reinicie el navegador e inicie sesión nuevamente. Debe haberse quedado atascado en alguna parte.
O envíame el enlace de Dropbox por mensaje privado
Por favor marque la pregunta resuelta cuando termine y considere dando un pulgar hacia arriba si las publicaciones son útiles.
Comuníquese conmigo en privado para obtener asistencia con cualquier necesidad de BI a gran escala, tutoría, etc.
Salud
Anónimo
En respuesta a Alba
Me desconecté/regresé y borré todos los archivos temporales y el error persiste. No puedo publicar enlaces, tablas ni ningún tipo de HTML. ¿Hay alguna manera de generar un ticket ya que claramente hay un problema?
Intentaré enviarte el archivo de Dropbox por DM.
Alba
@Anónimo
No entiendo qué columna va en qué lugar de la tabla inicial o el resultado esperado. Todos los datos están en una sola columna. Copie las tablas en Excel y luego péguelas aquí. Debería ver los datos en formato de tabla. Asegúrese de que, una vez que publique, si copia la tabla de la publicación y la pega en Excel, verá la tabla correcta como resultado. Esa es la tabla que veré cuando haga lo mismo.
Por favor marque la pregunta resuelta cuando termine y considere dando un pulgar hacia arriba si las publicaciones son útiles.
Comuníquese conmigo en privado para obtener asistencia con cualquier necesidad de BI a gran escala, tutoría, etc.
Salud
Anónimo
En respuesta a Alba
No puedo publicar los datos en formato tabular. Intenté copiar y pegar directamente desde Excel y también crear una tabla usando el editor y completarla.
Acabo de recibir este error cuando intento publicar:
«Su publicación se modificó porque se encontró HTML no válido en el cuerpo del mensaje. El HTML no válido ha sido eliminado. Revise el mensaje y envíelo cuando esté satisfecho.«
Alba
hola @anonimo
Genial que muestres el resultado esperado pero por favor siempre muestra tus datos de muestra en formato tabular de texto además de (o en lugar de) las capturas de pantalla. Una tapa de pantalla no permite que las personas copien fácilmente los datos y ejecuten una prueba rápida y, por lo tanto, disminuye la probabilidad de que se responda su pregunta. Simplemente use ‘Copiar tabla’ en Power BI y péguelo aquí. O, lo ideal, compartir el pbix (cuidado con los datos confidenciales).
Coloque el siguiente código M en una consulta en blanco para ver los pasos:
let
Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WMjQyVorVwaRNzVFpSwtziLyBJUTczBiFNjczVYqNBQA=", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [ID = _t]),
#"Changed Type" = Table.TransformColumnTypes(Source,{{"ID", Int64.Type}}),
#"Added Index" = Table.AddIndexColumn(#"Changed Type", "Index", 0, 1, Int64.Type),
#"Grouped Rows" = Table.Group(#"Changed Type", {"ID"}, {{"Step", each Table.AddIndexColumn(_, "Index", 1, 1, Int64.Type)[Index]}}),
#"Expanded Step" = Table.ExpandListColumn(#"Grouped Rows", "Step"),
#"Changed Type1" = Table.TransformColumnTypes(#"Expanded Step",{{"Step", Int64.Type}}),
#"Added Custom" = Table.AddColumn(#"Changed Type1", "Custom", each Text.From([ID]) & "-" & Text.From([Step]), type text)
in
#"Added Custom"
Por favor marque la pregunta resuelta cuando termine y considere dando un pulgar hacia arriba si las publicaciones son útiles.
Comuníquese conmigo en privado para obtener asistencia con cualquier necesidad de BI a gran escala, tutoría, etc.
Salud
Anónimo
En respuesta a Alba
Gracias por la rápida respuesta.
¿Es posible retener datos de otras columnas que también están presentes?
Entonces, por ejemplo, además de un número de identificación, también hay un nombre de tarea y un nombre de paso.
Me las arreglé para crear los incrementos contra cada una de las ID usando su solución, pero parece que perdí los nombres de las tareas y los nombres de los pasos y no puedo ver cómo volver a agregarlos a los datos.
Disculpas, estos no estaban en mis datos de muestra iniciales ya que no me di cuenta de que lo harían desaparecer.
Data de muestra:
ID Nombre de la tarea Nombre del paso
123 Tarea 1 Paso nombre abc
123 Tarea 1 Paso nombre efg
123 Tarea 1 Paso nombre xyz
573 Tarea 2 Nombre del paso cba
573 Tarea 2 Nombre de paso def
987 Tarea 3 Nombre del paso hij
109 Tarea 4 Nombre del paso lmn
563 Tarea 5 Nombre del paso nop
563 Tarea 5 Paso nombre qrs
765 Tarea 6 Paso nombre tuv
Resultado deseado:
ID Paso Nombre de la tarea personalizada Nombre del paso
123 1 123-1 Tarea 1 Nombre del paso abc
123 2 123-2 Tarea 1 Nombre de paso efg
123 3 123-3 Tarea 1 Nombre del paso xyz
573 1 573-1 Tarea 2 Nombre del paso cba
573 2 573-2 Tarea 2 Nombre de paso def
987 1 987-1 Tarea 3 Nombre del paso hij
109 1 109-1 Tarea 4 Nombre del paso lmn
563 1 563-1 Tarea 5 Nombre del paso nop
563 2 563-2 Tarea 5 Nombre del paso qrs
765 1 765-1 Tarea 6 Nombre del paso tuv
¿Es posible conservar las columnas de nombres de tareas y pasos?
PD: gracias por la guía de publicación también, la muestra ahora está en formato seleccionable y no en una imagen.
PPS, intenté colocar los datos en una tabla, pero mantuve este error: «Su publicación se modificó porque se encontró HTML no válido en el cuerpo del mensaje. El HTML no válido ha sido eliminado. Revise el mensaje y envíelo cuando esté satisfecho».