In this article
Use Studio to specify join conditions at the widget level for complex data models. Column expressions with keywords can be used on an individual column level.
Studio enables dashboard designers to handle ambiguities in complex data models where multiple join paths exist in the data. For example, consider the following relationship diagram:
Relationship diagram
The Contacts table includes individuals who respond to and create surveys.
The Surveys table lists all created surveys.
The Survey Activity table holds surveys with responses.
The Responses table contains answers to the surveys.
"What is the number of responses made by each contact?" or "What is the number of responses received for surveys created by each contact?" To avoid this ambiguity, the dashboard designer can choose which path to take by specifying join conditions in the report definition.
For every contact, the value represents the number of responses given by that person.
Taking the right path through the Surveys table from Responses up to Contacts provides a value for: "For every contact, how many surveys have they created?"
Table properties
"Resolve ambiguity" and "Join Path" properties can be used to resolve the issue at the widget level, depending on the desired result.
Via: surveys:
The "through" property at the widget level can be used to specify that the path must go through a specific table, in this case the Surveys table. This results in the value for "For every contact, how many surveys have been created by this person?"
To specify the left path, you need to use a different property that defines the shortest route, as there is no unique table on the left side. This property directs the path to take the left route, which passes through only one table (Survey activity), resulting in the value "For every contact, how many responses were given by this person?"
viaStrategy: shortest
This property specifies that the query must take the shortest path, which in this case is the left path, to provide the answer to the question "For every contact, how many responses were given by this person?"
Column expressions
In addition to the widget level properties, column expressions with keywords exist to achieve the same query results on an individual column level. You can use VIA(<expression>, <table e.g. Surveys>) and VIASHORT(<expression>) to display both values in the same table. For instance, you can use different paths with the same data model on the response to show both the survey responder and the survey author.
Example of a table showing both column values
Table and column properties can be combined to produce the desired result. Table-level settings can be overridden at the column level, and these functions can also be used in charts.