Earn a 50% discount on the DP-600 certification exam by completing the Fabric 30 Days to Learn It challenge.
Hola
Intento implementar RLS en el servidor de informes de consulta directa, con este dax:
var vProfileRole = CALCULATETABLE (VALORES ( DIM_REL_OWNER[ROL] ),
DIM_REL_OWNER[NPK]&"@company.com"=UserPrincipalName()
)
var vProfileBM = CALCULATETABLE (VALORES ( DIM_REL_OWNER[BRANCH_CD] ),
DIM_RELATIONSHIP_OWNER[NPK]&"@company.com"=UserPrincipalName(), DIM_REL_OWNER[ROLE]="BM"
)
var vProfileHOA = CALCULATETABLE (VALORES ( DIM_REL_OWNER[BRANCH_CD] ),
DIM_REL_OWNER[NPK]&"@company.com"=UserPrincipalName(), DIM_REL_OWNER[ROLE]="HOA"
)
devolución
Interruptor(
VERDADERO(),
vProfileRole = "BM", [BRANCH_CD] = vProfileBM),
vProfileRole = "HOA", [AREA_CD] = vProfileBM, FALSE()
)
Pero ese dax me da un error como este: la función "PLACEHOLDER" no está permitida como parte de la expresión de seguridad a nivel de fila en los modelos de consulta directa.
¿Alguna idea para corregir el error?
Gracias
Hardcore
el error todavía surge, lamento ese error tipográfico en este hilo. En el archivo real no hay paréntesis
He encontrado alguna solución con cambiar la variable dax de esta manera:
var vProfileBM = SELECTCOLUMNS(FILTER(DIM_REL_OWNER, DIM_REL_OWNER[NPK]&@company.com"=UserPrincipalName() && DIM_REL_OWNER[ROLE]="BM"), "Branch", DIM_REL_OWNER[BRANCH_CD])
Pero me da un mal rendimiento, que toma mucho tiempo para cada acción en el tablero.
¿Alguna otra forma de dax para obtener el mejor rendimiento con un tiempo de carga corto?
Hi, @tegar
Por favor, mire la parte resaltada en mi captura de pantalla, parece haber paréntesis adicionales en la fórmula. Elimine y pruebe de nuevo.
Saludos
Equipo de soporte de la comunidad _ Eason