We are on OAS (2025 version), in case that matters.
We have a requirement that we need to create a project dashboard, to be distributed to our various project managers, each of whom have their own login and project assignments. We want to show each PM only the data applicable to their specific project. We have a DB table available that has those mappings, and there is a separate DB table that has the project data we want to report on.
Our issue comes in the filtering. If we try to filter the data to the PM at the Data Source level (via VALUEOF(NQ_SESSION.USER)), we get an error that Session Variables are not supported.
If we use the "User" entity directly, without NQ_SESSION, on the Data Source Level then the data source maintains only the data for the user who creates the workbook, regardless of who logs in. That's not what we want at all
We can implement the NQ_SESSION at the Workbook level via an expression filter, however all of the data is still available to the workbook, so if the PM were to delete/modify that filter, they'd have access to all of the data, which we do not want.
Is there a way to enforce the filtering at either the Data Source level (some other call to the user's identity, perhaps?), or disable the user's ability to modify the filter, or push the data pull logic to the DB level, passing the user's identity to the DB call for data (we're willing to forgo caching, this data updates frequently enough that caches aren't important to us, performancewise).