Forum Discussion

Syndicate_Admin's avatar
Syndicate_Admin
Icon for Administrator rankAdministrator
1 year ago

Filas List.Average y Select

Hola

¿Alguien podría ayudarme con este problema?

Estoy tratando de agregar esta fórmula = List.Average (Table.SelectRows(# "agregado personalizado6", cada [roles] = _[roles])[salario])

Tengo esta mesa

PAPELESSALARIO
rol110
rol111
Rol210
Rol25
Rol35
Rol38

Y quiero agregar una tercera columna con esa fórmula, debe hacer el promedio de cada rol específico.

Debería verse así:

PAPELESSALARIOSALARIO MEDIO
rol11010,5
rol11110,5
Rol2107,5

Pero esa fórmula es hacer un promedio de cada posición, no la específica... Así que se ve así.

PAPELESSALARIOSALARIO MEDIO
rol1108,17

rol1

118,17
Rol2108,17

14 Replies

    • Syndicate_Admin's avatar
      Syndicate_Admin
      Icon for Administrator rankAdministrator

      Sí, pero haría lo mismo pensar que no quiero, ¿verdad? - Hacer un promedio de todos los salarios, no especificado (o me equivoco, todavía soy principiante)

      y me gustaría crearlo en la consulta de poder si es posible

  • Hola @ampvnk

    Debe asignar la columna ROLE externa a una variable como se muestra a continuación:

    let
    role = [ROLES]
    in List.Average(Table.SelectRows(#"Changed Type",each [ROLES] = role)[WAGE])

    • Syndicate_Admin's avatar
      Syndicate_Admin
      Icon for Administrator rankAdministrator

      En mi tabla original tengo roles nombrados como "soporte de TI", "Gerente de xxx", "Supervisor"... ¿Cómo debo escribirlo, por favor?

      • Syndicate_Admin's avatar
        Syndicate_Admin
        Icon for Administrator rankAdministrator
        let
        role = [ROLES]
        in List.Average(Table.SelectRows(#"Changed Type",each [ROLES] = role)[WAGE])

        Simplemente actualicé esta parte de su fórmula con la sintaxis correcta:

        cada [roles] = _[roles]

        [ROLES] es una columna asignada a la variable de rol. Esto debe hacerse siempre que intente acceder a una columna fuera del ámbito actual, que en este caso es #"Tipo cambiado". Cualquiera que sea el valor de ROLES, se asignará a esta variable y se utilizará para filtrar el paso anterior, cuyo resultado se transfiere en el paso actual. Al no hacer esto, simplemente le está diciendo a Power Query que devuelva true para todas las filas.