Forum Discussion
Filas List.Average y Select
¡Hola de nuevo! 🙂
Así que la solución está funcionando, pero después de que coloqué esa fórmula, el Power Bi comenzó a ser lento, tardó mucho en hacer alguna acción. Es rápido cuando abro los pasos anteriores. ¿Hay alguna posibilidad de solucionarlo o me veo obligado a pensar en una fórmula / método diferente?
Hola @ampvnk
Gracias por la respuesta de amitchandak y danextian .
En la actualidad, la fórmula que se utiliza tiene que consultar toda la tabla para cada fila, es decir, hay que consultar toda la tabla tantas veces como filas haya. Esta puede ser la razón del bajo rendimiento. Utilicé Group By para probarlo para su referencia. El uso de Agrupar por puede reducir el número de filas consultadas cada vez para el cálculo y mejorar el rendimiento, pero el número de filas de resultados obtenidas será definitivamente menor que el de la tabla original (cada rol solo obtendrá una fila de resultados)
let
Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WKsrPSTVU0lEyNFCK1UHiGsK5RqiyIK4pnGeMwbNQio0FAA==", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [ROLES = _t, WAGE = _t]),
#"Changed Type" = Table.TransformColumnTypes(Source,{{"ROLES", type text}, {"WAGE", Int64.Type}}),
#"Grouped Rows" = Table.Group(#"Changed Type", {"ROLES"}, {{"Average", each List.Average([WAGE]), type nullable number}})
in
#"Grouped Rows"
Salida:
Saludos
Yulia Xu
Si esta publicación ayuda, considere Acéptalo como la solución para ayudar a los demás miembros a encontrarlo más rápidamente.
- Syndicate_Admin1 year ago
Administrator
Sí, también probé Group By, pero necesito hacer un informe que será automático en el futuro (solo reemplazando los archivos fuente). Quería crear solo una referencia de la consulta, pero luego no puedo usar consultas de combinación, si usaré una consulta duplicada, entonces no será automática.
- Syndicate_Admin1 year ago
Administrator
Hola @ampvnk
Si he entendido correctamente, copió la consulta anterior y la combinó con la consulta actual.
En la siguiente prueba, utilicé la consulta actual combinada consigo misma, con la esperanza de satisfacer sus necesidades:
let Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WKsrPSTVU0lEyNFCK1UHiGsK5RqiyIK4pnGeMwbNQio0FAA==", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [ROLES = _t, WAGE = _t]), #"Changed Type" = Table.TransformColumnTypes(Source,{{"ROLES", type text}, {"WAGE", Int64.Type}}), #"Grouped Rows" = Table.Group(#"Changed Type", {"ROLES"}, {{"Average", each List.Average([WAGE]), type nullable number}}), #"Nested Join" = Table.NestedJoin(#"Grouped Rows", {"ROLES"}, #"Changed Type", {"ROLES"}, "Table", JoinKind.FullOuter), #"Expanded Table" = Table.ExpandTableColumn(#"Nested Join", "Table", {"WAGE"}, {"Table.WAGE"}) in #"Expanded Table"Saludos
Yulia XuSi esta publicación ayuda, considere Acéptalo como la solución para ayudar a los demás miembros a encontrarlo más rápidamente.
- Syndicate_Admin1 year ago
Administrator
Hola @v-xuxinyi-msft,
¡Gracias por su respuesta!
Desafortunadamente, no puedo abrir su archivo.pbix, tenemos otra versión de PowerBi en la empresa. ¿Podría referirme qué está haciendo ese código? Demasiados personajes nuevos para mí y estoy un poco perdido 🙂 Realmente aprecio tu ayuda.
- Syndicate_Admin1 year ago
Administrator
Hola @ampvnk
#"Nested Join" = Table.NestedJoin(#"Grouped Rows", {"ROLES"}, #"Changed Type", {"ROLES"}, "Table", JoinKind.FullOuter)Este paso consiste en fusionar "Tipo cambiado" y "Filas agrupadas", lo que realiza la fusión de la consulta actual en sí.
¿Cuál es su versión de escritorio?
Saludos
Yulia Xu- Syndicate_Admin1 year ago
Administrator
Gracias
así que agregué esa fórmula a Power Bi, hizo el promedio, pero va a su vez
row1 es "role1" (en mi archivo original es 08001"
La fila 2 es 08001
La fila 3 es 08001
Pero se agregó a la fila 1 role1 y a la fila 2 role2,...
y la fórmula creó el promedio
fila1 - 10,5
fila2 - 7,5
fila3 - 6,5
las tablas que envié son solo un ejemplo
PAPELES SALARIO AVG 08001 1000 1033,3333 08002 2000 2050 08001 900 1033,3333 08003 800 800 08001
1200 1033,0333 08002
2100 2050 y mi archivo tiene muchas filas (miles) y muchas variantes de roles (cientos)
Estoy usando (debo usar) 2.93.1681.0 de 64 bits (mayo de 2021)