Appboard/old/associations: Difference between revisions
imported>Jason.nicholls No edit summary |
imported>Jason.nicholls |
||
(3 intermediate revisions by the same user not shown) | |||
Line 5: | Line 5: | ||
Associations are a method of linking AppBoard Data Sources to one another. The concept is similar to creating a Foreign Key in a database table. Once you establish an Association, you can then use that Association as a Data Source in AppBoard Widgets. | Associations are a method of linking AppBoard Data Sources to one another. The concept is similar to creating a Foreign Key in a database table. Once you establish an Association, you can then use that Association as a Data Source in AppBoard Widgets. | ||
Associations are made on the Server side of AppBoard. If there are certain relationships that you will always want to enforce among data sources, then it will be more efficient to make Associations than to use [[ | Associations are made on the Server side of AppBoard. If there are certain relationships that you will always want to enforce among data sources, then it will be more efficient to make Associations than to use [[appboard/old/actions/client_side_filter|Client-side filtering]]. So having the proper Associations in place is an important part of maximizing AppBoard's performance. | ||
__TOC__ | __TOC__ | ||
Line 31: | Line 31: | ||
==Using Associations to Filter Data== | ==Using Associations to Filter Data== | ||
In the article [[ | In the article [[appboard/old/filtering_collections_concepts#Using_Actions_To_Filter_and_Collect_Data|Filtering Collections Concepts]], it was illustrated how an action in a Widget can invoke a client-side filter being applied to a Data Collection, which then presented filtered data in a different Widget on a Child Board. | ||
The following example uses a different approach to achieve the same result: | The following example uses a different approach to achieve the same result: | ||
Line 40: | Line 40: | ||
# A special filter did not need to be applied to the "Zip Codes" Data Collection when the action was invoked on the "States Map" widget. The data is filtered automatically by the Association that exists between the "States" and "Zip Codes" Data Sources. | # A special filter did not need to be applied to the "Zip Codes" Data Collection when the action was invoked on the "States Map" widget. The data is filtered automatically by the Association that exists between the "States" and "Zip Codes" Data Sources. | ||
# In this example, The action in the "States Map" Widget does not need to modify the Data Collection. It simply launches the "Zip Code" Widgets. | # In this example, The action in the "States Map" Widget does not need to modify the Data Collection. It simply launches the "Zip Code" Widgets. | ||
==Summary== | ==Summary== | ||
This article outlined a method for configuring an action to launch a Board with relevant data by pre-configuring a server-side Association among the Data Sources in the current Board and the Child Board. Another way to launch a Board with information associated to a selected item is by applying a client-side filter. For more information about this approach, see [[ | This article outlined a method for configuring an action to launch a Board with relevant data by pre-configuring a server-side Association among the Data Sources in the current Board and the Child Board. Another way to launch a Board with information associated to a selected item is by applying a client-side filter. For more information about this approach, see [[appboard/old/actions/client_side_filter|Action - Apply a Filter to a Data Collection]]. | ||
A common concept in AppBoard is to click on an item in a Widget to request more detailed information about that specific item. In many cases, this will launch a Child Board with Widgets detailing data for the selected item, as described in this article above. This concept of digging deeper into the data is called a "Drill-down". For information about other Drill-down configuration options, see [[ | A common concept in AppBoard is to click on an item in a Widget to request more detailed information about that specific item. In many cases, this will launch a Child Board with Widgets detailing data for the selected item, as described in this article above. This concept of digging deeper into the data is called a "Drill-down". For information about other Drill-down configuration options, see [[appboard/old/actions/switch_to_a_board|AppBoard Drill-Downs]]. |
Latest revision as of 18:11, 17 July 2014
Associations are a method of linking AppBoard Data Sources to one another. The concept is similar to creating a Foreign Key in a database table. Once you establish an Association, you can then use that Association as a Data Source in AppBoard Widgets.
Associations are made on the Server side of AppBoard. If there are certain relationships that you will always want to enforce among data sources, then it will be more efficient to make Associations than to use Client-side filtering. So having the proper Associations in place is an important part of maximizing AppBoard's performance.
Creating an Association
To create an Association, edit the Data Source for which you want to create the Association. The Associate screen in the Data Source Wizard will allow you to select the field in each of the two Data Sources that you want to Associate. The following is an example of configuring an Association:
In the above example, the "sample.USA_States" Data Source is being edited. The field "StateLabel" in that Data Source is being Associated with the field "StateLabel" in the "sample.USA_Counties" Data Source.
Using an Association as a Data Source
After an association is created, there is a new Data Source available, as shown in the following illustration:
Associations are indicated by the -> symbol in an AppBoard drop-down listing of Data Sources.
Selecting the "County Table -> USA_Counties" Data Source for a widget will automatically enforce the relationship established in the above Association. In this example, "County Table" is the name of the Board that contains the widget, and "USA_Counties" is the name of the field that was created by the Association in the example illustrated above.
Using Associations to Filter Data
In the article Filtering Collections Concepts, it was illustrated how an action in a Widget can invoke a client-side filter being applied to a Data Collection, which then presented filtered data in a different Widget on a Child Board.
The following example uses a different approach to achieve the same result:
Two things are observed in the above example:
- A special filter did not need to be applied to the "Zip Codes" Data Collection when the action was invoked on the "States Map" widget. The data is filtered automatically by the Association that exists between the "States" and "Zip Codes" Data Sources.
- In this example, The action in the "States Map" Widget does not need to modify the Data Collection. It simply launches the "Zip Code" Widgets.
Summary
This article outlined a method for configuring an action to launch a Board with relevant data by pre-configuring a server-side Association among the Data Sources in the current Board and the Child Board. Another way to launch a Board with information associated to a selected item is by applying a client-side filter. For more information about this approach, see Action - Apply a Filter to a Data Collection.
A common concept in AppBoard is to click on an item in a Widget to request more detailed information about that specific item. In many cases, this will launch a Child Board with Widgets detailing data for the selected item, as described in this article above. This concept of digging deeper into the data is called a "Drill-down". For information about other Drill-down configuration options, see AppBoard Drill-Downs.