Embedding a Periscope Dashboard with the database connection being passed as a parameter
We are currently have:
- A set of client systems using the same database scheme, but on different database instances
- We have a consistent Periscope Dashboard template that we use to display data to our clients (which each dashboard having a different database connection), but each time we make a change we copy/paste that change to every existing instance of the Dashboard
So, we want to be able to:
- Have a single Periscope Dashboard that we can pass through the database connection as a parameter
- Embed that Periscope Dashboard in our application and from each application instance call the Periscope Dashboard with parameters - as per point (A)
Can anyone assist?
Hey Robert Jonas , this is a very interesting use case!
We've seen clients do this (not by exactly by passing the JDBC connection string - but with the same end result!) using the Periscope Warehouse, to which you can connect many independent databases.
If your set of clients have the same schema names, table names, but different database names, you can use our Direct Replacement Filters and create special filters for the database name.
For example, let's say all of your clients have a schemaname salesforce_data and you're interested in querying the table Salesforce.Account. When you connect multiple databases to a single Periscope Warehouse, they are queryable using the syntax
select * from database_name.schema_name.table_name
You can create a direct-replacement filter called database_name, and now your query would become:
select * from [database_name].Salesforce.Account
with the database_name changing to whichever value you've selected. And that's it! As long as the schemas are identical between your clients' databases, there's not really any additional configuration needed, and you can write any queries you'd like using this syntax. With the Embed API, you can then programatically embed each client's dashboards, passing their database name as a parameter.
Let me know if you have any questions about this, and feel free to chat in or email us at email@example.com if you have further questions about this. We're happy to assist you to implement this!Reply