🏷️Custom Properties
Custom properties in Euno allow you to extend and customize the data model by adding your own properties to resources. These properties can be used to categorize, organize, and filter resources based on your organization's specific needs.
Types of Custom Properties
Custom properties come in two main categories:
Fixed Properties
Fixed properties allow users to manually set values for resources. These include:
Single Select: Choose one option from a predefined list
Multi Select: Choose multiple options from a predefined list
Date/Time Field: Date and time values
Fixed Boolean: True/False values
Number: Numbers only
Live Properties
Live properties automatically calculate their values based on defined rules:
Categorical Assigned Value: Multiple values based on EQL conditions
Live Boolean: True/False based on an EQL condition.
Creating a Custom Property
To create a new custom property:
Select the "Custom Properties" option from the side menu
Click the "Create new property" button found in the top right hand corner of the screen
Creating a Custom Property: Create New Custom Property Enter the basic information
Enter a unique Name for the property.
EQL name is automatically set by Euno based on the name provided by the user. The EQL name is used when querying with EQL.
(Optional) Add a Description to help other users understand the property's purpose. Providing a description also improves the accuracy of Euno's natural language search results.
Owner is automatically set by Euno and is attributed to the user who creates the custom property.
(Optional) Configure Group to organize the property within the side panel. Select an existing group or create a new one.
(Optional) Enable Visible in Data Model if you want this property to appear in the resource overview panel. This is especially useful if the property is used as a compound property (a property created for the purpose of building another property).
Creating a Custom Property: Add Basic Information Enter the Values for the custom property
To create a Category Assigned Value (Live Property) custom property:
Add the Value Name (e.g. mart layer)
Add the EQL associated with the Value Name (e.g.,
name ~ "mart"
— any model with a name like "mart" will be tagged with the category name).To add an additional category, click on the
button
To reorder the values (which affects the order in which they are assigned to resources), click the
or down
arrows within the value's box.
To delete a category, click on the
located within the value's box.
When satisfied with the definition click "Save" found in the bottom right hand corner of the screen.
Creating a Custom Property: Category Assigned Value Property To create a Live Boolean (Live Property) custom property:
Add the Property Scope, which is an EQL statement that defines what this property applies to (e.g.,
type="dbt_model"
— applies only to dbt models).Add the logic for the positive EQL statement using the True If text box (e.g.,
tags in ("sales data")
— this means the property will evaluate to true if the resource has the tag "sales data", and false if it does not, applicable only to dbt models).When satisfied with the definition click "Save" found in the bottom right hand corner of the screen.
Creating a Custom Property: Live Boolean Property To create a Single Select (Fixed Property) custom property:
Add the Property Scope, which is an EQL statement that defines what this property applies to (e.g.,
type="looker_dashboard"
— applies only to Looker Dashboards).Add the Values, which are the options that the property can be set to.
To add a value, click on the
button
To delete a value, click on the
button
When satisfied with the definition click "Save" found in the bottom right hand corner of the screen.
Creating a Custom Property: Single Select Property To create a Multi Select (Fixed Property) custom property:
Add the Property Scope, which is an EQL statement that defines what this property applies to (e.g.,
type="tableau_workbook"
— applies only to Tableau Workbooks).Add the Values, which are the options that the property can be set to.
To add a value, click on the
button
To delete a value, click on the
button
When satisfied with the definition click "Save" found in the bottom right hand corner of the screen.
Creating a Custom Property: Multi Select Property To create a Date & Time (Fixed Property) custom property:
Add the Property Scope, which is an EQL statement that defines what this property applies to (e.g.,
type="tableau_workbook"
— applies only to Tableau workbooks).When satisfied with the definition click "Save" found in the bottom right hand corner of the screen.
Creating a Custom Property: Date & Time Property To create a Fixed Boolean (Fixed Property) custom property:
Add the Property Scope, which is an EQL statement that defines what this property applies to (e.g.,
type="dbt_model"
— applies only to dbt models).When satisfied with the definition click "Save" found in the bottom right hand corner of the screen.
Creating a Custom Property: Configure Fixed boolean Property To create a Number (Fixed Property) custom property:
Add the Property Scope, which is an EQL statement that defines what this property applies to (e.g.,
type="dbt_source"
— applies only to dbt sources).When satisfied with the definition click "Save" found in the bottom right hand corner of the screen.
Creating a Custom Property: Fixed boolean Property
Managing Custom Properties
Once a custom property has been created, it will be displayed in the Properties Manager table found in the Custom Properties screen. This table displays:
Property name
Description
Owner
Group
Visibility
The table can be filtered by type or group, and can be searched by the property name. From this table, you can delete, edit, or copy properties from the action list.

To view how a specific custom property is configured, click on the property, and you will be redirected to the custom property's screen. This page has three sections:
Information: Displays the basic details about the property, including:
Description
Creation time and date
Owner
EQL name
Grouping
Visibility
Insight: Shows a bar chart that breaks down the various resources within the scope, tagged with different values.
Configuration: Displays the configuration of the property. In this section, the user can click the 'Edit Property' button, if they have the correct permissions to edit the custom property details.

Editing a Custom Property
To edit an existing custom property:
Navigate to the Custom Properties screen.
Click on the action icon in the row for the property you wish to edit, and select "Edit" from the drop-down list.
Modify the settings as needed.
Click "Done" to apply your changes.
Note: Some settings, like the property type, cannot be changed after creation.

Deleting a Custom Property
To delete a custom property:
Navigate to the Custom Properties screen.
Click on the action icon in the row for the property you wish to delete, and select "Delete" from the drop-down list.
A dialog box will appear, asking you to confirm: "Are you sure you want to delete this custom property? This action cannot be undone."
Confirm the deletion by clicking "Delete."
Note: Deleting a custom property will remove all its values from resources. This action cannot be undone.

Creating a New Custom Property Using an Existing One as a Template
If you wish to create a new custom property based on the logic of an existing property, you can generate a template from the existing property.
To create a template from an existing property:
Navigate to the Custom Properties screen.
Click on the action icon in the row for the property you wish to use as a template, and select "Use as Template" from the drop-down list.
Once the template is created, fill in the additional details to create the new custom property.

Setting Fixed Properties
Unlike Live properties, Fixed properties are not set automatically. Instead, each property must be manually set for every resource. To set a manual property, follow these steps: once created, navigate to the data model screen, search for the desired property, and open the side panel. In the 'About' section at the top of the side panel, custom properties are listed. Expand the property group where the fixed property was set, and click on the property to configure the desired values.

If you cannot locate the fixed property, it may be hidden. Simply click 'Show # unset values'. If the property still isn't visible at the resource level, it's possible that the resource isn't within the scope of the property, and you may need to edit the property to expand its scope.

Best Practices
Clear Names: Use descriptive names that clearly indicate the property's purpose
Documentation: Always add a description to help other users understand how to use the property
Testing: For computed properties, test your EQL expressions with different scenarios
Organization: Use the "Visible" flag judiciously to avoid cluttering the UI
Maintenance: Regularly review and clean up unused custom properties
Using Custom Properties
Once created, custom properties can be used in the following ways (in the scenario below, the custom property 'usage,' a category-assigned value, is being displayed):
Used as filters in the data model view

Added as columns in the tabular view

Viewed in the resource overview panel (if 'Visible' is enabled)

Used in other EQL expressions

Troubleshooting Custom Properties
In certain cases where the custom property uses extreme EQL that traverses multiple relationships in various directions, the property may time out. When this happens, users will see the following icon both on the property's page and in the main Property Manager table.
If the EQL query used to calculate the custom property times out after a one-minute delay, the user will see a yellow clock icon. Clicking this icon will display the following message: "The property timed out while calculating, so the values might be delayed. Consider simplifying the EQL conditions. For more details, refer to the documentation."

In such cases, it's recommended to simplify the queries and create compound properties for better performance. For additional guidance, refer to the Optimizing Complex Searches section.
Last updated