Example of Full EQL Statements

The below examples are to help demonstrate how EQL can be used to query resources in Euno's data model using the common model properties. The logical, comparison, date/time, string, map, case-insensitive matching, and relationship operations make EQL a flexible and powerful query language for exploring complex data relationships.

Example 1

Filter Request: Find all dbt models that depend on dbt sources in the salesforce database schema.

EQL Statement: type="dbt_model" AND has upstream((type='dbt_source' AND database_schema='raw'), 1)

Example 2

Filter Request: Find Looker dashboards in the sales folder that depend on a specific Snowflake table.

EQL: type = 'looker_dashboard' AND has parent(name='sales') AND has upstream(uri= "<snowflake-table-uri>")

Example 3

Filter Request: Identify dbt measures defined on dbt models with the tag 'euno-auto-generated' in tags.

EQL: type = 'dbt_measure' AND has parent((type='dbt_model' AND 'euno-auto-generated' in tags), 1)

Example 4

Filter Request: List Looker looks with no dependency on any dbt model.

EQL: type = 'looker_look' AND NOT has upstream(type='table' and defined_by="dbt")

Example 5

Filter Request: List the tableau dashboards that have a view, which uses a specific field.

EQL: type="tableau_dashboard" and has upstream(type="tableau_view" and has upstream_fields(uri="<field-uri>"))

Example 6

Filter Request: Find resources whose name contains "dashboard" in any letter case (case-insensitive substring).

EQL: name ~ i'dashboard'

Example 7

Filter Request: Find dbt models that have upstream resources with tags that are either exactly "Production" or any case variation of "staging" (mixed case-sensitive and case-insensitive IN).

EQL: type = 'dbt_model' AND has upstream(tags IN ('Production', i'staging'))

Last updated