Forum Discussion

mcarper's avatar
mcarper
Regular Visitor
10 years ago
Solved

Syntax for Row-Level Security

Has anyone gotten the newly available Row-Level Security (Preview) to work?

 

I'm using an imported SSAS Tabular on-premise dataset. When I connect to the tabular model in Desktop, it automatically names the columns "TableName.ColumnName", which I've kept.

 

So a role I'm testing on a user looks like this:

 

= [TableName.ColumnName] = 13

 

Where the column is an ID column. I'd eventually like to reference USERNAME and implement user security, but I'm just trying to get this to work. However, the above rule will cause a blank report for the user.

 

I'll add that the above syntax will create red squiggly syntax error lines in the DAX input screen. The only way to get ride of these syntax errors is to create a rule like this:

 

= [ColumnName] = 13

 

Which omits the TableName, even though the TableName is part of the column name. This also creates a blank report.

  • Sorry, yes, I justed checked and the actual input should be:

     

    TableName[ColumnName] = "text"

     

    Without the leading "=" sign, my bad.

5 Replies

  • ashishrj's avatar
    ashishrj
    Power Participant

    Hello All,

    Please find the link of the webinar below which we have conducted on RLS in Power BI

  • Greg_Deckler's avatar
    Greg_Deckler
    Community Champion

    I have last night at our Power BI User Group meeting. The syntax I used was DAX:

     

    = TableName[ColumnName] = "text"

     

    I did not try it with a number, but I think it is because you are not referencing the table name in your query.

    • mcarper's avatar
      mcarper
      Regular Visitor

      Weird, I'm trying both 'TableName'[ColumnName] and TableName[ColumName] and neither works.

      • orionlee's avatar
        orionlee
        Microsoft Employee

        Hi mcarper, does it work if you drop the '=' prefix.

         

        For example, put this in the rule:

        [ColumnName] = 13