Decentralization in data

Hi Everyone,

I have a database on Google Sheet. In this database there are 2 sheets

  • Sheet 1 is the “User” table.

  • Sheet 1 is the “Request” table

In the “User” table there are fields such as: ID_User, Name User and ID_Role
I take the data example for this table as follows:
“ID_User” = 6h1f3k681, “Name User” = ABC, “ID_Role” = Teamlead
“ID_User” = 7y15ha510, “Name User” = BCD, “ID_Role” = Staff

In the “Request” table there are fields such as: ID_Request, Request Name, Status

In my application I am setting the data type for column “Status” to “Enum”.

And the values ​​of the Status column are set to: New, Opened, Assigned, Rejected, In Process, Resolved


I am creating 2 views (UX) for users:

  • How can users with “ID_Role” as “Staff” be able to only select “New and Opened” values ​​in the “Status” column?
  • Users with “ID_Role” as “Teamlead” can select all remaining values ​​of the column “Status”

Hope you help
Thanks so much

Hi Steve,

I appreciate your help
However, it still doesn’t seem right to my needs. I need to give the user permission to select values ​​in column “Status”

  • Users with “ID_Role” as “Staff” be able to only select “New and Opened” values ​​in the “Status” column
  • Users with “ID_Role” as “Teamlead” can select all remaining values ​​of the column “Status”

It is important to be able to decentralize according to the user level in the organization
Do you have any better suggestions?

Hope you help
Thanks so much

I suggest making status a ref type to a table with those values. Add another column indicating which role should see each status. I do this in multiple places in my app. I use 0 if it should be seen by all and the then a number representing the different types of roles. The role is a field on the users table so I user USEREMAIL() to pull out the value and filter lists.

If you need screenshots, etc, I can post them tomorrow.

1 Like

Hi Lucinda_Mason

Thanks for your enthusiastic help
Maybe I need you to take a screenshot, can you help me? Let me have a better view

Once again, thank you very much

Each user has only ONE PI_NO (like a role). I use that PI_NO to determine what they can do and see in the app. For example. I have a value called Scope_NO. It is assigned to every Request. Only certain users are allowed to assign certain Scopes to a request. I think this is similar enough to your Status.

I use the following as a row filter based on the logged in User’s PI_NO. In this case, I compare it to the SHOW_PI_NO column in the scope table. Note that I use a 0 to represent those Scopes can be seen by every user. I do that consistently across the app.

The Scope_Table_Slice is used in the Requests table to REF for the Scope_NO column. It is Read Only. It doesn’t do any filtering.

This is how the Scope_NO column looks in the Requests table.

I hope this helps. It’s been a life saver for how I present data to certain classes of users.

1 Like

Hi Lucinda_Mason

Thanks for your enthusiastic help
I will refer to how you do it

Once again, thank you very much
Huy