ContributionsMost RecentNewest TopicsMost LikesSolutionsRe: Filtering Orders by Grouped Filter Criteria with Optional Nulls Hi Laflet, thank you for clarifying the requirement. It sounds like you're looking for a way to bookmark a set of filters. Have you considered these paid plugins from our partners? Filter Bookmarks by QBeeQ Filters Bookmarks by Paldi Solutions There is also an older, free community plugin (Bookmarks) that offers similar functionality. However, it doesn’t appear to have been tested on Linux and may not include all the features provided by the partner plugins listed above. Re: Filtering Orders by Grouped Filter Criteria with Optional Nulls Hi Laflet, How many combinations of location_id, category_id, and client_id are there? Selecting from all combinations of the three within a single filter, rather than using three separate filters, seems impractical since the number of combinations would grow multiplicatively. Please let me know if I’m not understanding the requirement correctly. If you have a screenshot or a quick sketch of what you’re trying to achieve, that would be very helpful. -Tri BloX: Chart type switcher [Linux-Windows] A chart type switcher lets users dynamically toggle between different chart types within a single widget. This is useful for dashboards where the same data may be better understood in different visual formats, such as sales trends, performance comparisons, or inventory levels. Week over week analysis with custom fiscal year: Use case of a fuel and convenience retail operator Introduction Week-over-week (WoW) analysis is a key part of performance tracking for fast-moving, high-traffic businesses such as convenience stores, gas stations, and car washes. For these organizations, aligning the fiscal calendar with operational cycles rather than the standard calendar year makes reporting more meaningful. In this use case, the fiscal year begins on the closest Sunday to January 1st, ensuring each year starts with a full week. This structure simplifies weekly reporting and keeps week-to-week comparisons consistent across years, which is important for tracking trends like fuel sales, store traffic, and service volumes. While nonstandard, this setup is commonly used in practice. What the Solution Does For standard, fixed calendar or fiscal years, week-over-week analysis can be achieved using the “First Month of Fiscal Calendar” and “First Day of Week” settings, along with the PASTYEAR function. However, for dynamic fiscal years that begin on a weekday closest to January 1st, these features don’t provide a usable solution, since the start date can fall in the previous or following calendar year. The solution uses the Filtered Measure certified add-on and a custom dashboard script to handle the custom fiscal year. Two year filters are added to the dashboard: one represents the selected fiscal year (user-selectable), and the other represents the prior year for comparison (locked and optionally hidden), which is automatically set with a dashboard script. The Filtered Measure plugin applies the selected-year filter to the measure for the chosen period, while the prior-year filter applies to the measure for the corresponding period in the previous year. This approach ensures that week-over-week calculations respect the custom fiscal calendar, providing accurate comparisons across equivalent weeks. Note: In this particular implementation, the fiscal years and week numbers are pre-calculated in the database and stored as numeric columns. To create a Date dimension table in your Elasticube with fiscal years starting on the first Sunday closest to January 1st, refer to the SQL example below. Why It’s Useful This solution addresses the native functional limitation by respecting the custom fiscal calendar, ensuring weekly trends are comparable across years. As a result, teams can reliably track key metrics, such as fuel sales, store traffic, and service volumes, on a true week-by-week basis, supporting better operational planning and more informed decision-making. Attachments WeekoverWeekAnalysiswithCustomFiscalYear.dash.txt (dashboard) Sample ECommerce - Custom Fiscal Year.smodel.txt (elasticube) JS Script - Automatic Update for Second Year Filter.txt (dashboard script) SQL Query - Dim Date with Custom Fiscal Year.txt (custom table SQL query) For the script to hide the second filter, refer to this BINextLevel article: Hide dashboard filters. Note: remove the .txt extension before importing the dashboard (.dash) and the Elasticube (.smodel) files. Combining filter conditions with custom filter - [Linux-Windows] This guide shows how to use Custom Filter to layer conditions such as exclusions and top-N limits for more precise results when a single filter condition alone doesn’t provide the control you need. Dashboard Design Guard - A plugin for enforcing dashboard best practices and organizational standards The Dashboard Design Guard plugin enforces dashboard design best practices and organizational policies by placing configurable guardrails directly into the dashboard creation experience. Re: Dashboard Design Guard - A plugin for enforcing dashboard best practices and organizational standards Hi HamzaJ, Just wanted to let you know that I've updated the article and uploaded an updated version of the plugin (the link in both the article and the comment above has also been updated), which includes a few improvements and bug fixes. -Tri Re: Dashboard Design Guard - A plugin for enforcing dashboard best practices and organizational standards Hi HamzaJ, I've updated the plugin to allow a third mode "warn", which will show a pop-up warning instead of disabling/removing the UI elements. I'll update the article soon, but I thought I’d send you a copy of the plugin in advance (attached below). There are a few more configurations that I added, all of them are documented in the config.js file. Please let me know if you have any feedback. Thank you! Example of the pop-up warning: Re: Colored labels in table Hi MikeGre, I just tested the script on L2025.3.0.226 and it is working for me. Could you try increasing the delay (line 26 in the code above) from 10 to 30 (or more)? If it still doesn't work, would you be able to send a copy of your dashboard? -Tri Re: Column chart with full range x-axis Hi jameshaid, I just sent the file to your registered email. If you're still unable to import the notebook, you can create a new one instead. In the "Create a new Notebook" window, give it a name and add two additional input parameters (located at the bottom of the window). All the other fields are optional. Here are the Additional Input Parameters configurations: WeekNumberFieldName parameter: BreakByFieldName parameter: Next, open the code editor (Jupyter Notebook) and delete all existing cells. Paste the below code into the first empty cell: # Test Cell # When the notebook is executed by the widget, this cell is ignored. # See the `Test Cell` section below for further details. from init_sisense import sisense_conn df_input = sisense_conn.get_debug_data() additional_parameters = '{\"WeekNumberFieldName\":\"Week Number\", \"BreakByFieldName\":\"Age Range\"}' Then paste the below into the next cell: import json import pandas as pd # Load the additional_parameters JSON string try: data = json.loads(additional_parameters) except json.JSONDecodeError as e: print(f"Failed to parse outer JSON: {e}") raise week_number_field_name = data["WeekNumberFieldName"] break_by_field_name = data["BreakByFieldName"] week_numbers = range(1, 53) # Get unique values for break_by_field_name break_by_field = df_input[break_by_field_name].unique() # Build full cartesian product of week_number_field_name and break_by_field_name full_index = pd.MultiIndex.from_product( [week_numbers, break_by_field], names=[week_number_field_name, break_by_field_name] ) # Rebuild the data frame df_result = ( df_input.set_index([week_number_field_name, break_by_field_name]) .reindex(full_index, fill_value=0) .reset_index() ) df_result Save the code and switch back to the widget tab. Click Next, enter the names of your Week Number and Break By columns in the input fields. Click Done to close the window, then save the widget.