Multi-tenant reporting - one report serves different data subsets to different users
Do you recognise this scenario: you need to create a transactional report every week, where the master report is replicated for every one of your 100 clients and contains a different data subset?
In addition to that – you also need to create flat data files for every one of them?
This is a one-off exercise in Omniscope – build just one model, then add a multi-tenant distribution table and add your project to the Scheduler app task list to execute it in regular intervals.
Peak efficiency is achieved through combination of reusable data transformation logic (Omniscope's drag’n’drop, no-code workflow) and several customisation features.
Every data workflow can create multiple tailored outputs:
Files containing cleaned/transformed data in any format - use
interactive dataviz, while every one of these reports (every blue block) can be customised to distribute different data subsets for every viewer, giving them different editing and exporting permissions, based on their user login.
What does that mean for your new user James? Based on his login and authentication – he will be allocated a relevant dataset for his department and he will be given the right to view, edit and save the data as a flat file. His colleague Simon will be allocated a different dataset and will not be given any of the data table viewing or editing rights.
Both of them will receive exactly the same report link – there is no need to create 100 customised links.
Read more about :
- the multi-tenant reports - to learn how to modify the data subset shown in the visual report, based on user's login
- custom permissions how to create user groups/profiles to manage different access levels and enablements
The Batch Output block allows you to publish your data to multiple locations, as determined by a publish configuration in a batch control file, typically outputting data files (CSV, XLSX etc. files) or Omniscope Classic reports (IOK files).
In this config file you can also use filter settings to create customised outputs and timestamp the resulting files - see the screenshot above.
Report and tab replicator mechanism
There is another type of customisation that report creators may find useful - report replication with tab / filter states customisation. Report Generator block mechanism will enable the users to quickly build variations based on the master report e.g. to create a report where each tab is showing different country or company report.
The purpose of this specific project is to go from a report that contains 4 product categories (all in the master Report) to a customised report that shows one category per tab.
Result of this process is a report with 3 tabs on the left - master report is on the right.
Note:
For the report variations that contain combination of values in multiple filters, new field settings should be added to the Text input configuration (for every new field filter a set of 3 new fields should be added [Filter source 1], [Filter field 1] and [Filter value 1], then the same naming convention for every additional field filter).
An example demo file is attached showing both scenarios.
Report layout optimisation for different mobile devices
Dashboard designers can manage report layouts, to make sure the tabs are optimised for the viewer's mobile device. The dashboard above can display all views for those using large desktop screens and only essential charts for those opening the link on a tablet or mobile phone. The report design process will result in just one link, however the dashboard will adapt and our algorithm will pick up the layout that is closest to the user's device.
This process was explained in another article on our KB.
Advanced: Iterate over Parameters to trigger Workflow Executions in a Loop
For the companies who are mass-publishers and wish to completely automate production of customised outputs we also have a set of API methods that allow (apart from automating, controlling and triggering of execution from another software or app) the ability to run parametrised executions in a loop.
See an example where ForEach block is used to execute parameters, one by one, and populate a database, creating multiple tables based on the data input files.
Read more about the Omniscope Scheduler application, as well as the incredibly powerful and effective workflow APIs.
Was this article helpful?
That’s Great!
Thank you for your feedback
Sorry! We couldn't be helpful
Thank you for your feedback
Feedback sent
We appreciate your effort and will try to fix the article