Ir para conteúdo
  • 0

problema The UseRelationship() and CrossFilter() functions are not available in this context. no uso de RLS


Jackson_Bailer
Ir para solução Solucionado por Erick Oliveira ,

Pergunta

  • Alunos

Tenho um relacionamento entre a tabela que contem os usuários de RLS e a tabela que contem o código da unidade (filial).
ou seja, segregamos os dados que alguns usuários podem ver somente das unidades que eles estão ligados.

até ai todas os meus visuais funcionaram bem,  até que precisei criar um novo visual onde houve a necessidade de fazer um relacionamento inativo entre a tabela unidade e a tabela cliente (na tabela cliente possui a unidade do cliente), e "ativei" o relacionamento com a USERELATIONSHIP() na medida DAX, para poder ver quantidade de clientes cadastrados por unidade. Funciona bem para o meu usuário que é admin e vê todos os dados mas quando acesso com a conta de um user que está dentro do RLS o power bi serviço apresenta essa mensagem:
Não foi possível carregar os dados para este visual
The UseRelationship() and CrossFilter() functions are not available in this context.


image.png.1111ba21905d0651bdf6a071cee88351.png

será que não se pode "ativar" o relacionamento dentro da medida dax quando há uma função de segurança RLS em uso?

 

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0
  • Alunos
  • Solução

Opa @Jackson_Bailer;

A função USERELATIONSHIP não pode ser usada quando a segurança em nível de linha é definida para a tabela na qual a medida está incluída.

https://learn.microsoft.com/pt-br/dax/userelationship-function-dax

image.png.f65a56f993940e7ddd3389cfb63fd536.png

 

Para alcançar o seu resultado talvez será necessário criar outra tabela auxiliar ou outra abordagem em DAX.

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos

em tempo, se testar o RLS no desktop o erro persiste então o problema não é somente no serviço, caso queiram modificar o post de lugar para outro assunto, pode ser alterado, pois no teste do desktop ainda assim apresenta o erro,

algo que identifiquei foi que utilizando a função TREATAS pode-se contornar esse problema, mas não em todos os casos.
ainda tenho casos que o treatas não resolve.

continuo testando outras formas de contornar

Editado por Jackson_Bailer
Link para o comentário
Compartilhar em outros sites

Faça login para comentar

Você vai ser capaz de deixar um comentário após fazer o login



Entrar Agora
×
×
  • Criar Novo...