Views bookmarking: Use case of a financial technology company
Summary: The discussion introduces how FlexTrade, a global provider of trading systems, handles the analysis of large data volumes using BloX. Pivot tables are used for detailed analysis, but challenges arise with too many dimensions. BloX addresses this by allowing users to bookmark views with selected dimensions, reducing UI complexity and improving performance. This solution enables users to efficiently explore over ten dimensions while maintaining clean and fast dashboards. BloX scripts and templates support this functionality by dynamically managing pivot table views.
Introduction
FlexTrade is a global provider of multi-asset execution and order management systems, supporting trading workflows across asset classes, venues, and strategies. Their platforms generate large volumes of highly detailed data that users rely on for day-to-day analysis and decision-making. Companies like FlexTrade operate in an environment where users need deep, flexible analysis across a wide range of dimensions: asset class, venue, strategy, region, client, trader, time, and more.
Pivot tables are a natural fit for this kind of detailed, highly dimensional analysis. However, as the number of dimensions grows, teams quickly hit a trade-off:
Putting all dimensions into a single widget becomes expensive to query and difficult to interpret.
Creating separate widgets for every dimension (or combination of dimensions) leads to bloated dashboards, slower load times, and a poor user experience.
This use case focuses on how BloX was used to solve this problem by introducing view bookmarking, a flexible way for users to switch between different slicing configurations (in this example, a set of four dimensions) within a single widget. It also highlights how BloX can be used not just for custom visualizations, but also for building small, purpose-driven mini apps directly inside a dashboard.
What the solution does
This solution uses BloX to manage view bookmarks for a pivot table. Instead of permanently adding all dimensions to the widget, BloX acts as a control layer that lets users select dimensions to include in the pivot at a time. Each selected combination can be saved as a view bookmark, representing a specific slicing configuration of the same underlying pivot.
With this solution, users can:
Select up to four dimensions to apply to the pivot table
Save the selected combination as a personal bookmark
Load and reuse previously saved bookmarks
Delete bookmarks that are no longer needed
Up to 20 bookmarks are supported out of the box, and all bookmarks are user-specific, allowing each user to maintain their own set of preferred analytical views. The solution also includes basic validation and error handling, such as preventing empty and duplicate bookmark names.
From a technical perspective, BloX dynamically updates the pivot’s metadata. From a user perspective, it feels like switching views within a single widget. This keeps the analysis flexible while the dashboard structure remains simple and performant.
Why it’s useful
Scales to 10+ dimensions without UI overload
Multi-asset trading analysis often requires exploring many dimensions, but not all at the same time. This solution allows FlexTrade users to work with 10+ dimensions while only surfacing the few that matter for the current question, resulting in less visual noise, lower cognitive load, and faster insights.
Maintains dashboard performance and keeps dashboards clean and maintainable
By avoiding massive pivots with every dimension enabled or dozens of near-duplicate widgets, the solution keeps queries efficient and dashboards responsive, even as analytical depth increases. One widget with dynamic views replaces an entire grid of narrowly focused widgets, resulting in dashboards that are easier to navigate, faster to load, and easier to maintain.
Attachments
BloX-ViewDimensionBookmarks.dash (example dashboard using the Sample ECommerce cube)
BloXActionsForBookmarks.zip (BloX actions' scripts)
ViewsBookmarkV2-2025-12-29.json (BloX template for the view bookmark widget, also included in the .dash file above).
Note:
The BloX widget also includes a script that automatically populates the dropdown menus with the available dimension names and existing bookmarks based on the widget’s metadata. Here is the script:
// Dropdown classes used in the BloX code
const dropdownClasses = [
"dimensionDropdown", //dropdowns for selecting the four dimensions
"bookmarkDropdown" // dropdown for selecting existing bookmarks
];
const valueToDisable = "Select"; // placeholder value to disable
widget.on('ready', function() {
dimensions = widget.metadata.panels[0].items;
dimensionTitles = dimensions
.map(i => i.jaql.title);
// Add each dimension title to the dimension dropdowns
dimensionTitles.forEach(function(title, index) {
$('.dimensionDropdown', element).append(
'<option value="' + (index + 1) + '">' + title + '</option>'
);
});
bookmarks = widget.metadata.panels[1].items;
bookmarkTitles = bookmarks
.filter(i => !i.disabled) // keep only not disabled
.map(i => i.jaql.title); // extract title
// Add each existing bookmark title to the bookmark dropdown
bookmarkTitles.forEach(function(title) {
$('#bookmarkDropdown', element).append(
'<option value="' + title + '">' + title + '</option>'
);
});
// Disable placeholder values from selection
dropdownClasses.forEach(cls => {
$(`.${cls}`).each(function () {
let $select = $(this);
if (!$select.is("select")) {
$select = $select.find("select");
}
if ($select.length === 0) return;
$select.find("option").first().prop("disabled", true);
});
});
});
Ido Darnell
·7 months agoHi TriAnthony thank you for sharing this. This is a great use case and awesome implementation.
What really resonates here is not just the technical solution itself, but the philosophy behind it. Empowering viewers with meaningful self-service capabilities without actually promoting them to full designer level is exactly where Sisense shines when implemented thoughtfully. It gives business users freedom to explore and pivot perspectives, while still protecting them from the complexity and risk of working directly with full schemas and models.
At QBeeQ, we heavily invest in bridging this gap between viewers and designers. For this purpose we created the Self-Service Analytics PowerUp, a suite of powerful plugins designed to empower viewers with more capabilities. The goal is to reduce viewer dependency on dashboard builders for every small change, while freeing designers and data teams to focus on building next-generation data products rather than maintaining already-released data apps.
In that context, we wanted to share that we offer a solution that overlaps strongly with what you demonstrated, with some additional capabilities. Our Dashboard Views plugin (formerly Filter Bookmarks) works seamlessly with our Widget Controller, allowing viewers to:
From a practical standpoint, one important difference is that our approach is fully supported and production-ready. It does not rely on community plugins, scripts, or BloX, and it works consistently across all Sisense widget types. This keeps implementations lightweight and very easy to maintain over time.
For anyone interested, here is a short video showing Dashboard Views in action:
https://youtu.be/tsi9CzccdJo?si=akAwsSyHKT4iTJkd
And for reference:
Finally, a big thank you again for contributing this to the community. Posts like this help move the conversation forward around true self-service analytics. For those curious to explore further, all of our plugins are free to test and trial.
By the way, we just released our all-new FREE Starter PowerUp which holds 10 FREE plugins that take any Sisense dashboard to the next level, check it out!
Really appreciate the contribution and the inspiration.
Ido from QBeeQ
QBeeQ - Gold Sisense Partner
info@qbeeq.io
Feel free to subscribe to our newsletter to stay up to date with the latest QBeeQ news!