Actions are extremely powerful, enabling all sorts of use cases, from writeback, to working with Snowpark, even generating specific narratives form your data. Actions create and extend operational use cases such as data cleansing, commenting and even working with other products.
Helpful links
On this page
Filters: Always one selected value
When building dashboards, ensuring that there’s always a selected value in a filter can be crucial for guiding users through data. This feature guarantees that there is always one option selected, preventing users from accidentally deselecting all values, which could result in empty or confusing visuals.
Use Case: Imagine a scenario where users need to compare energy prices across regions. If a user accidentally deselects all filters, the dashboard could display incorrect or incomplete data.
By enforcing Always One Selected Value, you ensure that a region is always chosen, providing a consistent view and preventing data gaps.
This feature helps users focus on a specific data point without leaving the filter empty, ensuring data integrity and improving the decision-making process.
Designing for Mobile
Astrato lets you design for mobile users - unlike other tools who redesign your dashboard for mobile for you, outside of your control.
Mobile users deserve a true mobile analytics experience.
Creating the Mobile Design
To speed up the process, we recommend to clone your full-screen sheet in the workbook editor.
In the new sheet, we recommend to Lock aspect ratio of your sheet. This ensures that a mobile view is retained on the sheet and enables you to design on a mobile sized canvas.
Choose a paper size or set the aspect ratio to
Once complete, you're ready to make your layout mobile friendly.
💡 Put your main content at the top of the sheet. |
|
Automatically show the right content based on their device
Once you have completed your design, open up Astrato's actions.
In Actions, add the blocks shown below (use our search to find blocks faster).
These blocks perform the following actions:
If the device window is portrait (taller than wider), then go to Mobile Overview.
Otherwise, go to Overview.
The end Result
Try it yourself - just change the window size closer to mobile and hit refresh.
ℹ️ Remember you can show and hide sheets in Astrato, with one workbook to serve all types of users.
Personalized Default View
Astrato lets you have a default view for each user. This can be done in two easy action blocks:
Create default view
User clicks on button object to set their default bookmark.
Set default view on open, based on user name
The default bookmark they created is available only to them, and selected on workbook open.
Lock filters, based on a user’s profile
This procedure ensures users are directed to data they are encouraged to view, based on their name and role. Please note that this is not an alternative to security best practice, we recommend to utilize native data warehouse role-based access control (RBAC).
🔄 How it works:
Table Setup
TheUser Access
table defines (as an example):User (First Name)
Location (e.g. London)
Role (e.g. Team, Manager)
Procedure: Lock down the data to a user’s scope
First, we filter
User Access
to the current user’s name.Then we get their assigned location, based on that match.
If the user’s Role is “Team”, an extra filter is applied: it locks down the
Sales Country
field to only show United Kingdom.
Triggering the Procedure
This runs automatically before the workbook opens.
It also runs any time a filter marked "Applied" is changed.
📌 Notes for Admins
✅ This method works well for mirroring (not replacing) a traditional access control experience, which is more customisable, for dynamic user experiences; such as locking and unlocking data, for use with changing the scope of analysis.
🔐 Always manage user roles and data scopes in your data warehouse, not inline.
📚 See Enterprise Authentication guide for best practices on central security.
✨👤 Personalized AI Insights & Recommendations
With Astrato's AI Providers (OpenAI, Axure OpenAI, Snowflake Cortex etc) and prompt building blocks, you can now deliver tailored insights and actionable recommendations directly inside dashboards — no code required.
📘 Use Case 1: Dashboard Analysis with Context-Aware Summary
What it does:
Summarizes dashboard content with AI
Injects user metadata like:
First name
Primary location
Primary role
User groups
The AI understands “who” is asking, and frames insights more meaningfully.
Example Output:
“Hi Emma, based in London in your role as Regional Manager, here’s what stands out in the Sales Forecast dashboard...”
What it does:
Creates a system prompt defining user attributes
Lets the user submit a specific prompt like:
“Show me actions to improve conversion in EMEA”
Together, the LLM receives:
“The user is called James, based in Berlin, role = Marketing Manager... Provide recommended actions to the user.”
🔧 Creative Idea:
Use this for automated suggestions, training guidance, or performance improvement tips — all filtered by user identity. Ideal for:
Internal sales reps
Ops leads
Support dashboards
Filtering Top N Values
Focusing on the top or bottom performers helps gain insights into what is working and what is not.
This example demonstrates how to filter the top N values in a field when an app is opened or when a button is clicked.
Create a table with the field to filter as a dimension and the measure for ranking as a measure.
Give the table a meaningful name (it'll help when defining the actions)Enable the show top N values in the table.
The settings are located in the Limiting section of the Data tab in the Properties panel.
A more dynamic solution will be to use a variable to set the value for the top N
Applying selection when opening an app
Open the actions editor and create this sequence.
The sequence is looping through the records of the table created in the first step.
For each record, we get the dimension value and add it to the field filter list.
Applying selection with a filter bar button
Set the TopN variable value to 10
Wait for the table to load all the values
The sequence is looping through the records of the table created in the first step.
For each record, we get the dimension value and add it to the field filter list.
Copy Filters Between Fields
What It Does
This logic listens for a button click and then:
Gets filters currently applied to
Standardcost
in theProducts
dataset.Splits those filters (comma-separated).
Loops over each filter value.
Applies each of those values as a filter to
Unitprice
in theSales
dataset.
Use Cases
Copy filters across datasets
Useful when you want to apply the same logic from one field (e.g.,Standardcost
) to another field (Unitprice
) for consistency in analysis.Synchronize filter logic
For example, if a user filters products by a certain cost range, you can automatically apply the same filter range to pricing or revenue analysis.Cross-field comparison
Compare two metrics under the same filter set without requiring the user to manually re-select filters.
Multi-Language Display
Displaying a dashboard in multiple languages is an everyday use case in enterprise organizations.
This example demonstrates how to modify all titles in a dashboard.
Create a table in your data source with an ID column or the variable column's name, and the text to be displayed in the different languages.
This is the table in our example.
Add a button for each language to the screen or the filter bar.
Open the action editor and create this action sequence for the two buttons.
The action block above flows like this.
Identify the button that was clicked.
Get the data in the translation table (the table from the first step)
For each row in the table, using the ID column (the first one), set the variable to update
Get the value from the language column in the row (2nd-English, 3rd-French)
This is how the user experience will be when changing the display language.
Show Object Based on Table Cell Selection
This article explains how to implement a logic that listens for changes in a table filter. When the filter state is set to Pending, it triggers the display of a specific object.
How It Works
The core functionality involves monitoring the filter state of a table. When a user selects a filter option that changes the state to Pending, the system automatically shows the designated object. This interaction enhances user experience by providing immediate feedback based on their selections.
User Experience
Here’s how the user experience unfolds:
Filter Selection: The user interacts with a table and selects a filter option.
State Change: If the selected filter changes the state to Pending, the system recognizes this change.
Object Display: Upon detecting the Pending state, the relevant object is displayed to the user, providing them with the information or functionality they need without additional clicks.
This streamlined process ensures that users can quickly access important data or tools based on their selections, making the interface more intuitive and responsive.
Conclusion
Implementing this logic not only improves the efficiency of data handling but also enhances the overall user experience by providing timely and relevant information based on user actions. By leveraging this functionality, you can create a more dynamic and engaging interface for your users.
How do I create an input box to filter data?
This article outlines how to create an input box that allows users to filter data effectively using Astrato's Writeback Action. This feature enables users to input information that sets a variable, which is then written back to your Cloud Data Warehouse (CDW). With the variable populated, it can be utilized to set filters within a table.
What It Does
By leveraging the Writeback Action, users can directly influence datasets, enhancing their interaction with data in real-time. This capability not only allows for dynamic filtering but also maintains a record of the most frequently filtered data, providing valuable insights into user behavior and preferences.
Use Case
Imagine you want your end users to filter data without exposing them to an overwhelming list of options from a large dataset. This approach is particularly beneficial for users who know exactly what they are looking for, such as specific product numbers. By using an input box, you can streamline their experience, allowing them to quickly find relevant information without sifting through unnecessary data.
Benefits of Using an Input Box
User Empowerment: Users can input specific criteria, making the filtering process more intuitive and tailored to their needs.
Data Management: Since the input data is written back to the CDW, you gain insights into which data points are most frequently accessed or filtered, helping you understand user preferences and trends.
Enhanced Decision-Making: With real-time data filtering, users can make informed decisions based on the most relevant information available to them.
Conclusion
Creating an input box for data filtering not only improves user experience but also enhances data management and decision-making capabilities. By implementing this feature, you empower users to interact with data more effectively while maintaining control over the information they access. This approach is ideal for environments where users require quick access to specific data points without the clutter of extensive datasets.