Forum Discussion
Filas List.Average y Select
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.
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 agoAdministrator
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.