Forum Discussion
Error de pivote
Hola chicos,
Soy nuevo en Power BI y me enfrento a algunos problemas básicos. Aprecia si alguien podría ayudar.
Tengo un problema en Pivoting the elements. Llamo a esta API ("https://management.azure.com/subscriptions/{Subscription}/providers/Microsoft.Compute/skus?api-version=2021-07-01") y obtengo los datos para enumerar todos los tamaños de máquinas virtuales en Azure y en esta para una columna tengo una selección en algunos campos particulares para estar en mis datos. Ahora esos se guardan como filas y los necesito como columnas separadas, he intentado Pivotar esa columna. pero los datos requeridos están obteniendo "Error"
Estoy recibiendo los datos como se muestra a continuación
En la columna "value.capabilitiesname" he seleccionado solo los siguientes campos según mi requisito, el resto de ellos están ocultos. Después de seleccionar los campos obligatorios, obtengo los datos requeridos, pero las otras columnas se duplican. Eso significa que he seleccionado vCPU, MemoryGB, vCPUsAvailable, vCPUsPerCore y para cada archivo estoy obteniendo la duplicación de datos de otras columnas. Se repiten para cada uno de los archivos que he seleccionado.
Así que para deshacerme de esos he Pivotado las columnas como se muestra a continuación y obteniendo el error si selecciono la opción No agregar mientras pivota.
Como puede ver a continuación, obtuve el formato requerido, pero los otros campos de datos están en Error.
Por favor, ayúdame y menciona el proceso paso a paso para resolver este problema.
Gracias
Sudharshan.
Aquí tienes si quieres hacerlo PQ. el truco es que tienes que decirle a PQ que cada 4 filas deben tratarse como una sola fila después de pivotar. así que he añadido índice, dividir y redondear hacia arriba. use el código que he pegado por fin.
dejar
Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WCsssKilNzPFNTM7IzEstVtJRcjQEEmXOAaEgjqFSrA5ORb6puflFlSBVeuam+BSCTUssS8zMSUzKSSVkLEh1cEFqUXJ+EVFqQRwjotxpRKo78RqL5k6g2lgA", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) en la tabla de tipos [resourcetype = _t, valuename = _t, capabilitiesname = _t, capabilityvalue = _t]),
#"Changed Type" = Table.TransformColumnTypes(Source,{{"resourcetype", type text}, {"valuename", type text}, {"capabilitiesname", type text}, {"capabilityvalue", type number}}),
#"Added Index" = Table.AddIndexColumn(#"Changed Type", "Index", 1, 1, Int64.Type),
#"Módulo insertado" = Table.AddColumn(#"Índice agregado", "Módulo", cada número.Mod([Índice], 4), número de tipo),
#"Columnas eliminadas" = Table.RemoveColumns(#"Módulo insertado",{"Módulo"}),
#"Columna dividida" = Table.TransformColumns(#"Columnas eliminadas", {{"Índice", cada _ / 4, tipo número}}),
#"Rounded Up" = Table.TransformColumns(#"Columna dividida",{{"Índice", Number.RoundUp, Int64.Type}}),
#"Columna pivotada" = Table.Pivot(#"Redondeado hacia arriba", List.Distinct(#"Redondeado hacia arriba"[capabilitiesname]), "capabilitiesname", "capabilityvalue")
en
#"Columna pivotada"Gracias
cosasagrump
solución accpet si esto funciona para usted.
7 Replies
- Syndicate_Admin
Administrator
¿Por qué los necesitas en columnas? Puede usar el objeto visual 'Matrix' para hacer el pivote por usted (no suele recomendar hacer esto en Power Query). Este artículo es para Excel, pero también se aplica a las tablas de datos de Power BI: https://www.myonlinetraininghub.com/excel-tabular-data-format
Para ver más información sobre el error, haga clic en la celda que dice 'Error', pero NO haga clic en el enlace Error. Verá un mensaje en la parte inferior de la tabla que explica cuál es el error.
- Syndicate_Admin
Administrator
Eh.. Hola @AllisonKennedy
Soy consciente de Matrix Visual.. aquí necesito unir esta mesa con otra haciendo una relación. Así que al hacer la relación y agregar Matrix el Visual Par no parecía bueno y era lo confuso de entender cuando vemos la parte visual.
A continuación se muestra mi tabla y cuando me uno a la tabla de tamaños de VM con la siguiente, debe mostrar las características de VM que mencioné en la 1ª publicación.
Ahora al agregar la matriz se ve como a continuación y también he probado varios otros trucos alternando las filas y columnas en la opción del editor de visualización, aunque no funcionó.
Cuando añado los campos de tabla Tamaños de máquina virtual aquí, no obtengo los datos requeridos. está llegando a ser seleccionado Primero o último sólo
Gracias
- Syndicate_Admin
Administrator
Aquí tienes si quieres hacerlo PQ. el truco es que tienes que decirle a PQ que cada 4 filas deben tratarse como una sola fila después de pivotar. así que he añadido índice, dividir y redondear hacia arriba. use el código que he pegado por fin.
dejar
Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WCsssKilNzPFNTM7IzEstVtJRcjQEEmXOAaEgjqFSrA5ORb6puflFlSBVeuam+BSCTUssS8zMSUzKSSVkLEh1cEFqUXJ+EVFqQRwjotxpRKo78RqL5k6g2lgA", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) en la tabla de tipos [resourcetype = _t, valuename = _t, capabilitiesname = _t, capabilityvalue = _t]),
#"Changed Type" = Table.TransformColumnTypes(Source,{{"resourcetype", type text}, {"valuename", type text}, {"capabilitiesname", type text}, {"capabilityvalue", type number}}),
#"Added Index" = Table.AddIndexColumn(#"Changed Type", "Index", 1, 1, Int64.Type),
#"Módulo insertado" = Table.AddColumn(#"Índice agregado", "Módulo", cada número.Mod([Índice], 4), número de tipo),
#"Columnas eliminadas" = Table.RemoveColumns(#"Módulo insertado",{"Módulo"}),
#"Columna dividida" = Table.TransformColumns(#"Columnas eliminadas", {{"Índice", cada _ / 4, tipo número}}),
#"Rounded Up" = Table.TransformColumns(#"Columna dividida",{{"Índice", Number.RoundUp, Int64.Type}}),
#"Columna pivotada" = Table.Pivot(#"Redondeado hacia arriba", List.Distinct(#"Redondeado hacia arriba"[capabilitiesname]), "capabilitiesname", "capabilityvalue")
en
#"Columna pivotada"Gracias
cosasagrump
solución accpet si esto funciona para usted.
- Syndicate_Admin
Administrator
Aquí tienes si quieres hacerlo PQ. el truco es que tienes que decirle a PQ que cada 4 filas deben tratarse como una sola fila después de pivotar. así que he añadido índice, dividir y redondear hacia arriba. use el código que he pegado por fin.
dejar
Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WCsssKilNzPFNTM7IzEstVtJRcjQEEmXOAaEgjqFSrA5ORb6puflFlSBVeuam+BSCTUssS8zMSUzKSSVkLEh1cEFqUXJ+EVFqQRwjotxpRKo78RqL5k6g2lgA", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) en la tabla de tipos [resourcetype = _t, valuename = _t, capabilitiesname = _t, capabilityvalue = _t]),
#"Changed Type" = Table.TransformColumnTypes(Source,{{"resourcetype", type text}, {"valuename", type text}, {"capabilitiesname", type text}, {"capabilityvalue", type number}}),
#"Added Index" = Table.AddIndexColumn(#"Changed Type", "Index", 1, 1, Int64.Type),
#"Módulo insertado" = Table.AddColumn(#"Índice agregado", "Módulo", cada número.Mod([Índice], 4), número de tipo),
#"Columnas eliminadas" = Table.RemoveColumns(#"Módulo insertado",{"Módulo"}),
#"Columna dividida" = Table.TransformColumns(#"Columnas eliminadas", {{"Índice", cada _ / 4, tipo número}}),
#"Rounded Up" = Table.TransformColumns(#"Columna dividida",{{"Índice", Number.RoundUp, Int64.Type}}),
#"Columna pivotada" = Table.Pivot(#"Redondeado hacia arriba", List.Distinct(#"Redondeado hacia arriba"[capabilitiesname]), "capabilitiesname", "capabilityvalue")
en
#"Columna pivotada"Gracias
cosasagrump
solución accpet si esto funciona para usted.