Do you use multiple data sources in your templates?
Do you need to correlate data among these data sources?
Do you know Windward can now make this happen?
Data is oftentimes a large uncontrollable beast.
There, I said it. A single storage medium may not meet all your data storage and usage needs.
This can leave you with disparate data stored in multiple different sources, which works well as long as you don’t have to relate data in one data source with data in another.
But if you do need to correlate data, you will quickly find this situation to be problematic.
Can I use data from one of my data sources to filter data in another data source using Windward tags?
We’ve added another frequently requested feature to Version 13.1 (now in beta): a whole new way to work with multiple data sources.
You are now able to filter data from a data source based on values in a different data source when you utilize the SET tag to define common variable items. Super cool, I know.
Until now, it was possible to process your data sources only in a serial order. You could still work with multiple data sources in a template, but first you worked with one, then the next, and so on. For example, if you had a report that required a list of items from an SQL database — and inside that list you needed to print items from an XML file — well, you couldn’t.
Now we have made the impossible possible through Windward’s SET tag.
A SET tag is basically a variable tag in Windward. It does not print anything but merely holds a value that you can reference by the SET tag’s variable name elsewhere in the document.
A Simple Example
Suppose you have two data sources:
- Data source #1 contains a list of orders from an SQL database.
- Data source #2 contains more details about each order from an XML file.
You can now create a table of orders in data source #1 with a SET tag that references the Order ID. Then, in a table referencing data source #2, you could filter the order details by the Order ID from the SET tag in data source #1.
How to Process Data Sources Simultaneously
Relating data between two different data sources requires the following steps:
- You create two separate data sources and give each a unique nickname so your tags know which data source that are gathering information from.
- You create Windward tags that access data source #1. This can be a table with forEach tags, OUT tags or any other tag that returns data.
- You create a SET tag and assign it to the value of the previous tag you created. Keep in mind the SET tag must reference data source #1.
- You create Windward tags in data source #2 and filter your data in these tags with the SET tag from data source #1.
You can get the details, including a step-by-step example using Windward sample templates, at the Processing Multiple Data Sources Simultaneously page in our documentation wiki.
Author: Ryan Fligg
Ryan, Windward's Sales Engineer, has been with Windward since 2006 in many roles as a sales engineer, IT specialist and account executive. Ryan's background fuels his desire to guide Windward's product development. He now works on the future vision of Windward offerings through creating the product roadmap, responding to customer requests, and communicating what Windward is doing and where it’s headed.
Other posts by Ryan Fligg