I am trying to understand a bit more about how to optimise my workflow. Imagine I have two apps, app A and app B.
App A and App B uses the same dataset, but App A has a clause in the load script that filters out a subsection of the data; whereas App B is the whole data.
What I'm trying to do is when I make a change to app A, say I change a dimension on a bar chart, or add a new sheet, or I do anything on the dashboard, I'd like this change to propagate to app B without me having to manually make the change the in app B.
How can I do this?
If App A and App B has the same front end and the same back end data source why don't you investigate the use of section access to restrict your data set down based on the user logging in. then you'll only have one app to maintain.
Hi, the segregation isn't based on which users can see what app. So in this case I don't think that would work. But you are correct, they both have the same front end and same back end data source. Thanks
Section access although granting and denying access at an app level it does more than that it can restrict users access to certain data on load at the same time so if you know who needs what app then you're good to go with this approach.
Another way to have one app but different default data views might be the use of bookmarks or on open actions on sheets to filter down the data accordingly.
Right that makes sense, but as one single user, would I still be able to see and access both App A and B separately. I should mention that the load script of app A contains some logic that is not in app B. To give an example, app A could have a Replace() when loading a user column (to sort of anonymize that column), where as app B will be the raw data.
you will only need one app just the data needs restricting on criteria in app A vs B at a user level.
you can also use the OMIT command to exclude fields completely from the data set as well.
This should help you with row and column level security:
Will have a read through thanks. The thing is I need to have access to the two versions of the app as a single user - so not sure how restricting on a user level would help in this case.
on the face of it it wouldnt but perhaps knowing more about the differences would help with the solution.
we've already said data can be restricted by section access
and data can be omitted by section access.
what is the other requirement that needs you to maintain two apps. As ive said a user currently using both apps just needs a bookmark to set filters automatically where required which should I think give the other app view.
I can try to provide a bit more color, hopefully it helps.
App A has transformation made on the underlying data. The data model is the same, the front-end is the same, but App A anonymizes client names and filters to only have 2 clients loaded. So when looking at the Client dimension post-load, the client names would show as "Client 1", "Client 2".
App B does NOT have that transformation, it is the raw data without renaming the Client dimension. E.g. that client Dimension would be "Brian", "Jen", "Laura", "Paul", "Chris". Here in App B, there are more clients, and the names are not restricted.
Now I have to present these dashboard. Depending on who I am presenting it to, I will show either App A or App B.
If my audience is one where I am not allowed to show Client Names, I will use App A, otherwise I will use App B.
I am trying to find a way that I can make changes across both of these apps by only changing one App. This will keep their content consistent without manually having to replicate the changes I make from one app to the other, which is prone to human error.
I get your ask and its definitely achievable with Section Access and a technique called an authorisation bridge.
You concatenate the Clients for App A and the clients for App B. Use section access to display the Client dimension as App A or App B.