Forum Discussion

Syndicate_Admin's avatar
Syndicate_Admin
Icon for Administrator rankAdministrator
4 years ago
Solved

Medir y devolver varias columnas

Hola amigos,

Estoy filtrando los datos en función del usuario que ha iniciado sesión actualmente utilizando la siguiente consulta, ahora me gustaría devolver algunas de las columnas asociadas con ese usuario, ¿cómo lograrlo?

En el siguiente caso, obtengo solo 1 valor: intenté devolver una fila completa, pero me arroja el error "Varias columnas no se pueden convertir en un valor escalar", ¿alguna otra forma de mostrar varias columnas?

CurrentUserData =
VAR CurrentUserState = CALCULATE(MAX(TimeReport[UserPrincipalName]),FILTER(TimeReport, TimeReport[UserPrincipalName] = USERPRINCIPALNAME()))
DEVOLUCIÓN
SI(
SELECTEDVALUE(TimeReport[UserPrincipalName]) = CurrentUserState,
Valores(TimeReport[Neukunden_Akquise_Produkte])
)
Gracias
  • Hola Amit, gracias por la respuesta.

    Obtuve la solución y el crédito va a @miguelarce
    https://community.powerbi.com/t5/Developer/RLS-vs-Filter-for-current-user/m-p/329584


    Medida1
    WhoIsWatching = USERPRINCIPALNAME()
    (es decir, nombres de usuario de estilo de correo electrónico, o puede usar USERNAME() para usuarios de estilo de Windows)

    fmourtaza_0-1638771313526.png


    Medida 2
    FilterByViewer = IF(selectedvalue(table[email])=[WhoIsWatching],1,0)

    fmourtaza_1-1638771313523.png


    Arrastre La medida 2 como filtro para el objeto visual, seleccione el filtrado avanzado y configántelo en
    "Mostrar elementos cuando el valor ES 1"

    fmourtaza_2-1638771313757.png

2 Replies

  • @fmourtaza , Prueba como

    CurrentUserData =
    VAR CurrentUserState = CALCULATE(MAX(TimeReport[UserPrincipalName]),FILTER(TimeReport, TimeReport[UserPrincipalName] = USERPRINCIPALNAME()))
    DEVOLUCIÓN
    SI(
    Max(TimeReport[UserPrincipalName]) = CurrentUserState,
    max(TimeReport[Neukunden_Akquise_Produkte])
    )

  • Hola Amit, gracias por la respuesta.

    Obtuve la solución y el crédito va a @miguelarce
    https://community.powerbi.com/t5/Developer/RLS-vs-Filter-for-current-user/m-p/329584


    Medida1
    WhoIsWatching = USERPRINCIPALNAME()
    (es decir, nombres de usuario de estilo de correo electrónico, o puede usar USERNAME() para usuarios de estilo de Windows)

    fmourtaza_0-1638771313526.png


    Medida 2
    FilterByViewer = IF(selectedvalue(table[email])=[WhoIsWatching],1,0)

    fmourtaza_1-1638771313523.png


    Arrastre La medida 2 como filtro para el objeto visual, seleccione el filtrado avanzado y configántelo en
    "Mostrar elementos cuando el valor ES 1"

    fmourtaza_2-1638771313757.png