Question

Dynamic column order and visible/invisible column in Table


Hi!


I am building Looker dashboard for my clients, and they asked me if there is a way to customize column order and column visible/invisible setting on Table. Since there will be a lot of variations, I don’t want to build out separate dashboard for each client. Is there any way to do it?


Thanks


16 replies

Hi @Makoto_Taguchi


If I understand your question correctly you interested if you can change column order on your visualisations and whether you can hide same. The answer is yes. You can simply drag and drop columns to where you want them to appear please see below:



Please note that the dimensions would always appear in front of measures to the most left.

You can also hide any field from being visible on your chart, see below:



You would need to re-run the explore for changes to take effect. Hope this answers your question,


Best,


Sasha

Hi @Aleksandrs_Vederniko

Thank you for the reply. But what I meant was to change column order or column visible/invisible on the dashboard tile dynamically. Let’s say there are two users who have the access to the same dashboard. One user doesn’t want to see specific column but another does. Is there any way to choose either one dynamically? I don’t want to create separate tiles for each user since the variation will be many. I thought we could do something like this by using user_attribute, but not sure how.


Thanks

Hey @Makoto_Taguchi,


Sounds like I have misunderstood your question. However you are on the right track, this is something that definitely can be achieved with the use of Access Filters (with User Attributes). I would recommend to read over this great document written by one of our engineers here

Feel free to ask more questions should you have them.


Best,


Sasha

Hi Sasha


Thanks. Would you be able to give me the specific example about how I can do this?

Let’s say dashboard has two columns, spend and installs.


Looker ML will look like


view: spend {

dimension: spend {
type: number
hidden: yes
sql: ${TABLE}.spend ;;
}

dimension: installs {
type: number
hidden: yes
sql: ${TABLE}.installs ;;
}
}


  1. user A wants to see only spend

  2. user B wants to see both spend and installs


In this case how should I set user_attribute? Also, is there any way to set column order by using user attribute?

Hey @Makoto_Taguchi


User Attributes are created and managed from Admin > User Attributes. here User Attributes and a few lines of LookML can be used to guarantee that all queries on a particular Explore are filtered appropriately for each User, preventing them from accessing data they shouldn’t see. I would advise to read over those articles and try to create some user attributes yourself for better understanding how they work.


Best,


Sasha

Hi Sasha


Thanks. After I read through the doc, I am getting the sense that user attributed is used to filter particular data on dashboard. However, what I want is to hide or unhide specific column itself from the table on the dashboard based on different user attribute. Is this still possible?

Userlevel 2
Badge

Hi @Makoto_Taguchi,


Sorry for the confusion here. It’s not currently possible to dynamically show and hide fields on a dashboard with respect to user. The only way to do this is to make multiple copies of the dashboard and make the modifications by hand.


User attributes can be used to filter the results themselves, but they cannot be used to modify the visualization or data table structure- i.e. change column order or hide series.


One thing you can do is recommend to your users that they can make a copy of the dashboard and make any modifications that they want! Let me know if you have any questions.


Cheers!

Hi @Morgan


Thank you! Is this something Looker can add for the product update in the future? I think this is a good feature that will be beneficial for all customers, not only us!

Userlevel 2
Badge

It looks like Erin reached out to you directly; we appreciate your feedback!

Userlevel 2

I know this is the issue from our user side too. One of the option I tought of is to have dynamic dimensions with filter from users which dimension they want to see. Based on user selection, your SQL column will change column from table (use case statemetn based on templated filter value). 🙂

Userlevel 2
Badge

Hi @kshah7,


Can you elaborate on why making copies of the dashboard doesn’t satisfy your use case? The suggestion that you just noted sounds quite difficult to set up.

@Morgan

I am working with agency client, who has ~100 clients for dashboard access. Each of them has individual needs for dashboard customization. Making a copy for each client doesn’t sound like a realistic plan.

Userlevel 2
Badge

Thanks for the feedback, @Makoto_Taguchi,


What I’m having trouble understanding is how this could be implemented while significantly reducing the setup work. To customize what each user sees, you still need to set this up for each individual user, regardless of how this may be implemented. Any ideas you have are appreciated!


For now, we don’t have any plans around this, so my recommendation is to let the users edit their own dashboards.


Morgan

This further breaks down in an SSO Embed context where the end user does not have access to the underlying Look or Dashboard.

Hi, 

Is there a workaround without having to create separate looks for separate users?

 

Hi I have the same query is there any workaround that. 

Reply