Tips for Compound Queries in Blackbaud eTapestry®
Options

Geoff Arbuckle
Blackbaud Employee



Last week, I published two blogs about some basic tips I always want to make sure users of eTapestry know when it comes to Queries and Reports. This week, I will be covering more specific topics within those two spaces. First, let's talk about a couple of tips for Compound Queries.Compound Queries can be moody. They can be complicated to think about and complete. They can even be scary to some. While it is sometimes difficult to know exactly when a Compound Query is needed, I hope that these tips will help you understand how to work with them.
Let's start by explaining what Compound Queries are. Compound Queries take two different Queries within eTapestry and will either add them together (Add), compare them to find the similarities (Intersect), or subtract the results in one Query from another (Subtract).
Take, for example, this scenario: I have a list of accounts who gave last year in one Query. In another Query, I have a list of accounts who gave this year. Adding these two Queries together will show all the accounts who gave in either year or both years. Intersecting these two Queries will show you who gave in BOTH years (thus leaving out those who only gave in one or the other). Subtracting the two queries depends on what is selected as Query #1 or Query #2. If Query #1 are the accounts who gave Last Year, subtracting Query #2, the accounts who gave this year, will leave you with those donors who gave last year, but not this year. If reversed, and Query #1 is set to show which accounts gave this year and you subtract those accounts who gave this year, it will show you who gave this year but didn't give last year.
The same concepts can be applied to Queries that find people with certain User Defined Fields selected. Let's say you have a field that marks someone as a volunteer and you have another that marks that Blue is their favorite color. If you have two Queries created, with one having the list of those volunteers, and another having the list of "Blue" folks, then adding them together will compile all these people into one list showing they are either volunteers, or fans of the color Blue, or both. Intersecting will find the people who are both volunteers and fans of the color blue. Subtracting one from the other will remove anyone who is not both.
When it comes to subtraction, the key is to strategically select what will be listed as Query #1. The idea is that subtracting out results form Query #2 will leave the results from Query #1 that do no have the characteristics of Query #2. So in the two examples above, it very much matters which Query is selected as Query #1 and which one is selected as Query #2 based on your desired end goal with the Compound Query's results.
One more thing to remember is what the Data Return Type is of each query in use, especially in intersecting or subtracting scenarios. These two functions of a Compound Query require EXACT matches to be able to either find the similarities or remove them. This means you need to be very mindful of using two different lists of journal entries in a Compound Query. Let's say you have a list of Contact journal entries from accounts your fundraisers entered to track conversations around major gifts. Then you want to compare that to a list of recent donations of a certain amount to see if those large donations came in through those efforts your fundraisers took in those conversations. You will be looking at two completely different sets of journal entries. There will be no way for you to use the Intersect or Subtract options. However, if both queries were set to Accounts in their Data Return Types, then this will work, as it can match the accounts as a whole.
Using the previous example of lists from "last year" and "this year," the same applies. If these are not lists of accounts but lists of the actual gifts within those date ranges, being able to intersect the two lists or subtract one list from the other will not work. So there has to be exact matching information in both queries. Mixing the Queries' Data Return Types can work but could also cause some headaches based on what the Compound Query's Data Return Type is set to and how you are asking these two Queries to interact. Subtracting an Account return type Query from a Journal Entry return type Query can work regardless of the Compound Query's Data Return Type. Intersecting mix return type queries can be a bit of a headache, and I would, frankly, advise against you doing this.
Generally, I recommend a majority of your Compound Queries use two queries that have the same Data Return Type. The Compound Query can then later be used as the Starting Query for another query to narrow own exact journal entries that you wish to see if you so wish. The one exception is if you select Subtract, then choose Query #1 to be a Journal Entries return type Query and Query #2 has its return type set to Accounts. Those types of mixed return type Compound Queries work, but will typically be a minority of Compound Queries.
Those are my tips for you today. I recommend you check out a recent webinar I did about Compound Queries called Combining and Comparing Query Results with Compound Queries in Blackbaud eTapestry. I go into a much deeper dive into these above concepts. Keep your eyes peeled here in Community as I will be back later this week with another blog post talking about working with Aggregates in eTapestry Reports. Until then, keep on eTapping on!
Let's start by explaining what Compound Queries are. Compound Queries take two different Queries within eTapestry and will either add them together (Add), compare them to find the similarities (Intersect), or subtract the results in one Query from another (Subtract).
Take, for example, this scenario: I have a list of accounts who gave last year in one Query. In another Query, I have a list of accounts who gave this year. Adding these two Queries together will show all the accounts who gave in either year or both years. Intersecting these two Queries will show you who gave in BOTH years (thus leaving out those who only gave in one or the other). Subtracting the two queries depends on what is selected as Query #1 or Query #2. If Query #1 are the accounts who gave Last Year, subtracting Query #2, the accounts who gave this year, will leave you with those donors who gave last year, but not this year. If reversed, and Query #1 is set to show which accounts gave this year and you subtract those accounts who gave this year, it will show you who gave this year but didn't give last year.
The same concepts can be applied to Queries that find people with certain User Defined Fields selected. Let's say you have a field that marks someone as a volunteer and you have another that marks that Blue is their favorite color. If you have two Queries created, with one having the list of those volunteers, and another having the list of "Blue" folks, then adding them together will compile all these people into one list showing they are either volunteers, or fans of the color Blue, or both. Intersecting will find the people who are both volunteers and fans of the color blue. Subtracting one from the other will remove anyone who is not both.
When it comes to subtraction, the key is to strategically select what will be listed as Query #1. The idea is that subtracting out results form Query #2 will leave the results from Query #1 that do no have the characteristics of Query #2. So in the two examples above, it very much matters which Query is selected as Query #1 and which one is selected as Query #2 based on your desired end goal with the Compound Query's results.
One more thing to remember is what the Data Return Type is of each query in use, especially in intersecting or subtracting scenarios. These two functions of a Compound Query require EXACT matches to be able to either find the similarities or remove them. This means you need to be very mindful of using two different lists of journal entries in a Compound Query. Let's say you have a list of Contact journal entries from accounts your fundraisers entered to track conversations around major gifts. Then you want to compare that to a list of recent donations of a certain amount to see if those large donations came in through those efforts your fundraisers took in those conversations. You will be looking at two completely different sets of journal entries. There will be no way for you to use the Intersect or Subtract options. However, if both queries were set to Accounts in their Data Return Types, then this will work, as it can match the accounts as a whole.
Using the previous example of lists from "last year" and "this year," the same applies. If these are not lists of accounts but lists of the actual gifts within those date ranges, being able to intersect the two lists or subtract one list from the other will not work. So there has to be exact matching information in both queries. Mixing the Queries' Data Return Types can work but could also cause some headaches based on what the Compound Query's Data Return Type is set to and how you are asking these two Queries to interact. Subtracting an Account return type Query from a Journal Entry return type Query can work regardless of the Compound Query's Data Return Type. Intersecting mix return type queries can be a bit of a headache, and I would, frankly, advise against you doing this.
Generally, I recommend a majority of your Compound Queries use two queries that have the same Data Return Type. The Compound Query can then later be used as the Starting Query for another query to narrow own exact journal entries that you wish to see if you so wish. The one exception is if you select Subtract, then choose Query #1 to be a Journal Entries return type Query and Query #2 has its return type set to Accounts. Those types of mixed return type Compound Queries work, but will typically be a minority of Compound Queries.
Those are my tips for you today. I recommend you check out a recent webinar I did about Compound Queries called Combining and Comparing Query Results with Compound Queries in Blackbaud eTapestry. I go into a much deeper dive into these above concepts. Keep your eyes peeled here in Community as I will be back later this week with another blog post talking about working with Aggregates in eTapestry Reports. Until then, keep on eTapping on!
1
Categories
- All Categories
- Shannon parent
- shannon 2
- shannon 1
- 21 Advocacy DC Users Group
- 14 BBCRM PAG Discussions
- 89 High Education Program Advisory Group (HE PAG)
- 28 Luminate CRM DC Users Group
- 8 DC Luminate CRM Users Group
- Luminate PAG
- 5.9K Blackbaud Altru®
- 58 Blackbaud Award Management™ and Blackbaud Stewardship Management™
- 409 bbcon®
- 2.1K Blackbaud CRM™ and Blackbaud Internet Solutions™
- donorCentrics®
- 1.1K Blackbaud eTapestry®
- 2.8K Blackbaud Financial Edge NXT®
- 1.1K Blackbaud Grantmaking™
- 527 Education Management Solutions for Higher Education
- 1 JustGiving® from Blackbaud®
- 4.6K Education Management Solutions for K-12 Schools
- Blackbaud Luminate Online & Blackbaud TeamRaiser
- 16.4K Blackbaud Raiser's Edge NXT®
- 4.1K SKY Developer
- 547 ResearchPoint™
- 151 Blackbaud Tuition Management™
- 1 YourCause® from Blackbaud®
- 61 everydayhero
- 3 Campaign Ideas
- 58 General Discussion
- 115 Blackbaud ID
- 87 K-12 Blackbaud ID
- 6 Admin Console
- 949 Organizational Best Practices
- 353 The Tap (Just for Fun)
- 235 Blackbaud Community Feedback Forum
- 55 Admissions Event Management EAP
- 18 MobilePay Terminal + BBID Canada EAP
- 36 EAP for New Email Campaigns Experience in Blackbaud Luminate Online®
- 109 EAP for 360 Student Profile in Blackbaud Student Information System
- 41 EAP for Assessment Builder in Blackbaud Learning Management System™
- 9 Technical Preview for SKY API for Blackbaud CRM™ and Blackbaud Altru®
- 55 Community Advisory Group
- 46 Blackbaud Community Ideas
- 26 Blackbaud Community Challenges
- 7 Security Testing Forum
- 1.1K ARCHIVED FORUMS | Inactive and/or Completed EAPs
- 3 Blackbaud Staff Discussions
- 7.7K ARCHIVED FORUM CATEGORY [ID 304]
- 1 Blackbaud Partners Discussions
- 1 Blackbaud Giving Search™
- 35 EAP Student Assignment Details and Assignment Center
- 39 EAP Core - Roles and Tasks
- 59 Blackbaud Community All-Stars Discussions
- 20 Blackbaud Raiser's Edge NXT® Online Giving EAP
- Diocesan Blackbaud Raiser’s Edge NXT® User’s Group
- 2 Blackbaud Consultant’s Community
- 43 End of Term Grade Entry EAP
- 92 EAP for Query in Blackbaud Raiser's Edge NXT®
- 38 Standard Reports for Blackbaud Raiser's Edge NXT® EAP
- 12 Payments Assistant for Blackbaud Financial Edge NXT® EAP
- 6 Ask an All Star (Austen Brown)
- 8 Ask an All-Star Alex Wong (Blackbaud Raiser's Edge NXT®)
- 1 Ask an All-Star Alex Wong (Blackbaud Financial Edge NXT®)
- 6 Ask an All-Star (Christine Robertson)
- 21 Ask an Expert (Anthony Gallo)
- Blackbaud Francophone Group
- 22 Ask an Expert (David Springer)
- 4 Raiser's Edge NXT PowerUp Challenge #1 (Query)
- 6 Ask an All-Star Sunshine Reinken Watson and Carlene Johnson
- 4 Raiser's Edge NXT PowerUp Challenge: Events
- 14 Ask an All-Star (Elizabeth Johnson)
- 7 Ask an Expert (Stephen Churchill)
- 2025 ARCHIVED FORUM POSTS
- 322 ARCHIVED | Financial Edge® Tips and Tricks
- 164 ARCHIVED | Raiser's Edge® Blog
- 300 ARCHIVED | Raiser's Edge® Blog
- 441 ARCHIVED | Blackbaud Altru® Tips and Tricks
- 66 ARCHIVED | Blackbaud NetCommunity™ Blog
- 211 ARCHIVED | Blackbaud Target Analytics® Tips and Tricks
- 47 Blackbaud CRM Higher Ed Product Advisory Group (HE PAG)
- Luminate CRM DC Users Group
- 225 ARCHIVED | Blackbaud eTapestry® Tips and Tricks
- 1 Blackbaud eTapestry® Know How Blog
- 19 Blackbaud CRM Product Advisory Group (BBCRM PAG)
- 1 Blackbaud K-12 Education Solutions™ Blog
- 280 ARCHIVED | Mixed Community Announcements
- 3 ARCHIVED | Blackbaud Corporations™ & Blackbaud Foundations™ Hosting Status
- 1 npEngage
- 24 ARCHIVED | K-12 Announcements
- 15 ARCHIVED | FIMS Host*Net Hosting Status
- 23 ARCHIVED | Blackbaud Outcomes & Online Applications (IGAM) Hosting Status
- 22 ARCHIVED | Blackbaud DonorCentral Hosting Status
- 14 ARCHIVED | Blackbaud Grantmaking™ UK Hosting Status
- 117 ARCHIVED | Blackbaud CRM™ and Blackbaud Internet Solutions™ Announcements
- 50 Blackbaud NetCommunity™ Blog
- 169 ARCHIVED | Blackbaud Grantmaking™ Tips and Tricks
- Advocacy DC Users Group
- 718 Community News
- Blackbaud Altru® Hosting Status
- 104 ARCHIVED | Member Spotlight
- 145 ARCHIVED | Hosting Blog
- 149 JustGiving® from Blackbaud® Blog
- 97 ARCHIVED | bbcon® Blogs
- 19 ARCHIVED | Blackbaud Luminate CRM™ Announcements
- 161 Luminate Advocacy News
- 187 Organizational Best Practices Blog
- 67 everydayhero Blog
- 52 Blackbaud SKY® Reporting Announcements
- 17 ARCHIVED | Blackbaud SKY® Reporting for K-12 Announcements
- 3 Luminate Online Product Advisory Group (LO PAG)
- 81 ARCHIVED | JustGiving® from Blackbaud® Tips and Tricks
- 1 ARCHIVED | K-12 Conference Blog
- Blackbaud Church Management™ Announcements
- ARCHIVED | Blackbaud Award Management™ and Blackbaud Stewardship Management™ Announcements
- 1 Blackbaud Peer-to-Peer Fundraising™, Powered by JustGiving® Blogs
- 39 Tips, Tricks, and Timesavers!
- 56 Blackbaud Church Management™ Resources
- 154 Blackbaud Church Management™ Announcements
- 1 ARCHIVED | Blackbaud Church Management™ Tips and Tricks
- 11 ARCHIVED | Blackbaud Higher Education Solutions™ Announcements
- 7 ARCHIVED | Blackbaud Guided Fundraising™ Blog
- 2 Blackbaud Fundraiser Performance Management™ Blog
- 9 Foundations Events and Content
- 14 ARCHIVED | Blog Posts
- 2 ARCHIVED | Blackbaud FIMS™ Announcement and Tips
- 59 Blackbaud Partner Announcements
- 10 ARCHIVED | Blackbaud Impact Edge™ EAP Blogs
- 1 Community Help Blogs
- Diocesan Blackbaud Raiser’s Edge NXT® Users' Group
- Blackbaud Consultant’s Community
- Blackbaud Francophone Group
- 1 BLOG ARCHIVE CATEGORY
- Blackbaud Community™ Discussions
- 8.3K Blackbaud Luminate Online® & Blackbaud TeamRaiser® Discussions
- 5.7K Jobs Board