Skip to main content

Astrato Actions | Tips and tricks for data-driven user experiences

Get the most out of Astrato Actions

Piers Batchelor avatar
Written by Piers Batchelor
Updated today

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 9:19.5 , which is the typical aspect ratio of the newest mobile devices in the 2020s (excluding flip/fold devices).

Once complete, you're ready to make your layout mobile friendly.

💡 Put your main content at the top of the sheet.

Locking the aspect ratio of a worksheet in Astrato

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:

  1. Create default view
    User clicks on button object to set their default bookmark.

  2. 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:

  1. Table Setup
    The User Access table defines (as an example):

    • User (First Name)

    • Location (e.g. London)

    • Role (e.g. Team, Manager)

  2. 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.

  3. 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

  • Add A filter bar button

  • Open the actions editor and create this sequence.

    • 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:

  1. Gets filters currently applied to Standardcost in the Products dataset.

  2. Splits those filters (comma-separated).

  3. Loops over each filter value.

  4. Applies each of those values as a filter to Unitprice in the Sales 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.

  • Create variables to match the ID column in the table.
    In this example, we followed this structure

  • Assign the variable to the titles and labels in the charts and text objects.

  • 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:

    1. Filter Selection: The user interacts with a table and selects a filter option.

    2. State Change: If the selected filter changes the state to Pending, the system recognizes this change.

    3. 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.

Did this answer your question?