Yes, you read the title correctly...this is my first post and I wanted to catch your attention!
My husband and I occasionally tackle home improvement projects together. I have the vision. He brings the vision to life. He also likes to take shortcuts that can lead to trouble. So I have to remind him (usually in the truck on the way to Lowe's after the crown moulding is cut too short and we need to replace it) to "measure twice and cut once."
So what does home improvement have to do with The Raiser's Edge? You can apply the same philosophy to how you manage your data and add new processes.
Let's say your organization is in the planning phase of a capital campaign. Your VP for Advancement has a vision. She wants to track prospective feasiblity study candidates through the life of the campaign. You are responsible for bringing her vision to life. So measure twice...cut once.
Measure Once - Design the process. You need to figure out the details. What information do you want to capture and how do you want to use it so that it will meet the objectives set by your VP? Think about what you need to get out of Raiser's Edge before you put information in. Set up the process based on those needs.
Measure Twice - Test the process. You designed your process, so now you want to make sure it works. Use your sample database. Add the details of your design - the information you want to track - to Bob's record. Make Bob Hernandez a feasibility study prospect. Create attributes, add code table entries, run reports and queries, create an export, send Bob a letter. Test every aspect of your design from identifying Bob as a feasibility study prospect, to sending him an invitation for the interview, to scheduling the meeting, to asking him to be your campaign chair, to soliciting him for a leadership gift and so on.
Cut Once - Implement the process. You designed your process. You tested your design. Now it's time to roll it out and enter data in your live database. You should have no worries. You measured twice and will make the first cut a success. The vision is realized.
Next post...."oooaaahh, Newman!"
We’ve all been there. It’s happened to everyone. You spend 3 hours setting up a query to use for a mailing, an annual report, or for your auditors. When you run it, there always seems to be something wrong with the results…either Robert Hernandez appears in the query results 8 different times, or he doesn’t appear at all! So what gives? Why can’t I just see ONLY the results that I need to see? Where do I begin?
The answers usually lie in what’s been set up on either the Criteria tab or the Output tab. A couple of tweaks here and there, or maybe just a clearer picture of how the query is processing can make all of the difference. The “What’s up with my query?” series of blog posts will help to uncover the mysteries of Query that have been plaguing your Raiser’s Edge lives…
Part 1 Example. You are querying on everyone in your database who has either the ‘Board Member’ or ‘Staff’ Constituent Code on their record. Not only do you have 120 results in your query when you were supposed to have 35, but most of the people in your query are showing up several times, sometimes with more constituent codes than just ‘Board Member’ or ‘Staff’. What’s going on here?
Check the Output tab. You will often see the same constituents appear multiple times in your results if you output Gift Amount, Gift Date, Phone Type, Attribute, or any other field that a constituent can have more than one of on their record. This type of field is known as a ‘One-to-Many’ field, and is the most common reason for duplicates appearing in your query results (and often helps to inflate the number of records that appear in your results). Your best bet is to make sure that the records that appear in your query DO meet the criteria that you asked for on the Criteria tab, then save your query and bring it through Export, Mail, or Reports to obtain the desired information about that specific group of records. For more information on why you’re sometimes seeing double and triple in your query results, you can click on the embedded help link at the top of the Results tab in the query (if you have one-to-many fields in your output), or you can visit BB61118 in our Knowledgebase.
Keep your eyes peeled for part 2…
Degree of difficulty in query depends on how refined your criteria needs to be.
For example, if you need to send mail to all of your constituents whose Preferred City is Charleston, your query criteria is nice and simple:
Preferred City equals Charleston.
Of course, it usually isn't that easy. You're more likely asked to send mail to everyone with a Preferred City of Charleston who has given a cumulative amount of $100 or more, except for anybody who is a Board Member, or who has a Solicit Code of either Do Not Mail, Do Not Solicit, or Leave Me Alone, or who gave their first gift in this calender year.
While it is possible to do all of this in one query, weaving together the necessary combination of ANDs, ORs, parentheses, and negative operators required to group all of these records in one query is an aggravating, time-consuming process.
The best solution is to create two queries. The first query (Query A) would include the records that meet the overarching criteria you're searching on. In this scenario, Query A would look like this:
Preferred City equals Charleston
AND Summary Information, Total Amount greater than or equal to $100
The flip side would be to capture all the records you are trying to suppress in another query (Query B), which would look like this:
Constituency Code equals Board Member
OR Solicit Code one of Do Not Mail, Do Not Solicit, Leave Me Alone
OR First Gift Date equals This Calendar Year
Once these queries have been created, saved, and given nice, memorable names, it's time to get this merge party started. "Merge" is actually a bit of a misnomer here. The two source queries are not combined into an inextricable whole. Rather, Query A and Query B will serve as parent queries to create Query C, a third, child query.
Click the Merge queries button at the top of the Query screen. Select Query A as the Primary Query and Query B as the Secondary Query. Next, select the Operator of SUB and click OK.
SUB, in this instance is not an abbreviation for either a sandwich chain, a form of mass transit, or an underwater boat. In this case, it's short for "subtract". The merge will subtract the records in Query B from the group in Query A.
Don't worry if the number of records in your merged query do not match the difference between your two queries. There may be records that meet the criteria in Query B but not in Query A. Those records won't be subtracted from Query A because they aren't there to be subtracted. Only records that meet the criteria of both queries will be excluded.
If you would like to learn more about merged queries, check out knowledgebase solution
BB513.
Over the past few years, I've come to accept that my memory is not particularly strong. Fortunately, that hasn't caused much of a problem for me in my work, but if I was responsible for your data entry, you might have reason for concern. And really, even if you or your colleagues are with it 24/7, there's always at least a slight margin for error (especially when post-lunch sleepiness rolls in).
The good news is that Raiser's Edge includes the option to create user-defined pop-ups that can serve as wonderful reminders when you open particular records. Let's say you periodically receive gifts from constituents who are marked as having no valid addresses. Your organization may have a policy in place to update their addresses when new donations come in, but if you're in the process of entering fifty new gifts, you may very likely forget to check whether the donor has a valid address.
That's where pop-ups come in handy. By creating user-defined business rules, you can set up Raiser's Edge to give you a pop-up reminder when you open particular records. In the example above, I could create a query of everyone who has the No Valid Addresses checkbox marked and then design a business rule to remind me to update their addresses when adding new gifts. I could even tailor the message to only appear for certain user groups if I didn't think everyone suffered from an insufficient memory (not saying they don't).
Knowledgebase solution BB1495 provides step-by-step instructions for setting up user-defined pop-ups, so give it a try and let me know how it goes!
A common question I hear is 'How do I export the same field multiple times using separate parameters?' For example, maybe you need to an export for a mailing house and need to include total giving for 2006, 2007, and 2008 – each in its own column. This requires including the Summary Information, Total Gift amount field multiple times, each with its' own date range parameter. To accomplish this, try the following:
- On the Output tab of your Export select the Summary Information, Gifts, Total Gift Amount field, set the appropriate criteria, and click OK.
- In the right frame, highlight the name of the export; if this is a new Export highlight 'New Constituent Export'.
- In the left frame, double click the Summary Information, Gifts, Total Gift Amount field and set the appropriate criteria and click OK.
- Notice the second Total Gift Amount field appears in the right frame proceeded by 2. This indicates that you have selected the same field multiple times with unique parameters.
- Repeat the above steps to get the number of times the field is needed. For example, to export Total Gift amount three times, follow the above steps three times.
To learn more about this please read knowledgebase solution
BB3503.
Friends,
Just had a conversation today with a client re: User Groups... Am a huge fan of the concept -- the formal Blackbaud regional User Groups are fantastic networking opportunities, as well as the chance to hear news about what's new and what's coming down the pike.
Even more important (IMHO) are internal User Groups -- meaning you and your colleagues get together regularly to chat re: how folks are using The Raiser's Edge to fulfill roles and meet organizational goals. As a client, I had standing monthly RE User Group Meetings. Each month we'd look at each other and think, "Do we really have anything to talk about?" and next thing you knew it was 1.5 hours later and we had discovered 5 new tips & tricks, uncovered a hidden process flaw and had a good laugh about it. It really helps to keep all users on a parallel track, identifies future power users and allows everyone to feels empowered to "own" and become experts on their piece of the system. Also welcomes new users into the fold and provides a level of soft training.
If you're not already doing it -- consider it! Maybe start with a light agenda over a brown bag lunch... Believe me, interesting conversations will quickly ensue -- everything from "What in the world does this attribute mean?" to "How can we empower our CEO to feel more connected to the daily stats?" Have different folks take notes at each meeting and assign follow-up tasks (ie: creating a new query, searching Knowledgebase, contact Customer Support, etc.). Personally, I've observed that clients that host regular internal User Groups are ultimately much more successful, satisfied and retain qualified RE users longer than those who don't.
Until next time... :)
Jennifer
"Error" and "bear" sound pretty much the same when you're in the South. Regardless of your geographical location, they can both be a bit frightful when they unexpectedly pop up. Okay, so bears don't really pop, but you get the picture.
If your first instinct is to call Support (regarding errors, not bears), we'll be glad to help you. However, you can substantially shorten the troubleshooting process and potentially solve the problem on your own by going through the following steps:
1. Copy the exact error and enter it in Knowledgebase. We create a solution for every case we work in Support, so it's very likely that the error and its resolution have already been documented. If the same error appears in multiple solutions, check the environment (i.e., "Occurs when . . .") and the cause to find the closest match.
2. When in doubt, reboot. This classic troubleshooting step works more often than you'd expect. You may also find that the error resolves itself if you simply exit and sign out of the program and then log back in. Sometimes all it takes is a fresh start.
3. Narrow down the culprit. If you're able to duplicate the error, the question is who to blame: your user name, your computer, or your database?
a. Try to duplicate the error when logged into your computer as a different user (preferably Supervisor). If that fixes it, you may need to recreate your RE user name.
b. See if the error occurs when logged in on another computer or on the server. If not, you can run an update/repair on your computer or update/repair the deploy kit, respectively.
c. Try duplicating the error within your sample database to determine whether the problem is rooted in your live database.
Knowledgebase solution BB204470 goes into greater detail about these general troubleshooting steps for error messages. If these instructions seem like another language to you, don't hesitate to contact Support for assistance; that's what we're here for. But you may surprise yourself with your newly discovered error-hunting skills.
How frustrating is it to track the total number of foursomes in a golf tournament using The Raiser's Edge? Several methods are used by the various organizations. The following points assume you have the RE:Event module for The Raiser's Edge. This works for registrants and sponsors within the Participant tab.
1. Enter a foursome as a price unit on the Prices tab in the event record. Then add this as a registration unit (under the Registration tab) in the participant's record with the appropriate number of units.
2. If it possible to have two companies split a foursome, add a half foursome as a price unit on the Prices tab in the event record. Then add this as a registration unit in the participant's record with the appropriate number of units. To join the two companies together using the "Seating Group" dropdown box on the participant's record.
3. If half foursomes isn't your cup o' tea, then consider using some sort of comments or attributes within the participant's record. This will lead to queries and possibly custom reports (depending on how nice you want the output to look like).
This is my short list. If you have any other methods you use to report on the total number of foursomes please post a comment.
Cheers,
Chris
Good afternoon - welcome to my first post. It's my goal to post here occasionally with tips, tricks, and insights into The Raiser's Edge. In this post I'd like to talk about a common Support question concerning numbers that appear on Reports. Often times we hear from organizations that see 'unusual' numbers on their reports. For example, a donation is listed as $375.09 on a report but you know the donor actually gave $50. This is often caused by the Currency Filter field.
We recommend setting the Currency Filter field to 'None (recommended)' unless you want to only view donations that were given in a specific currency.
To set the Currency Filter to 'None (recommended)' go to Tools, User Options, and select the Reports tab. Highlight Gift Preferences, in the Currency Filter table select 'None (recommended)'. Note this field is user specific so make sure other users know. For more information on this you can review knowledgebase solution BB88646.
Well, it wasn't a large bag, but I consistently used the tricks in it to help customers with puzzling import questions when I supported The Raiser's Edge. The "tricks" are pretty simple, but they may come in handy the next time you tackle an import.
-
Use the Fields tab or create an import file to find out what your options are. If I want to see what fields are available for a particular type of import, I select Create an import file on the General tab of the import, enter any characters in the Import file field, and go to the Fields tab. Here, you can browse through the available fields and select them to view the header. You can also click Click here on the bottom left to view the relevant page of the Import Guide for details on which fields are required and what kind of data go in those fields. If I'm updating existing records, I just go ahead and create a real import file, update the data in the fields, and import it back in, knowing it's already formatted correctly.
Note: You can only include one-to-many fields in the import file created through the Import facility. For example, if you're creating a constituent import file, you can't export phone numbers or anything that can occur more than once per record.
-
Go ahead and shove in the data. OK, so this isn't always practical in your live data, but give it a try in your sample data with a few of the records from your actual data file. Or if you are able to set up a standalone workstation with a copy of your live data attached, give it a try there to see how the import works with your real data. If you're not able to test in sample or on a standalone machine, back up your live data and test with a few "dummy records" or one or two records you know very well and don't mind playing with (maybe your own). I often find it easier to troubleshoot problems if I can see exactly what happens when I click Import Now.
-
Use the sample data files in Knowledgebase. I have no problem with plagiarizing when it comes to data files. I love copying the sample data files onto my machine and updating them with my own data. Hey, if someone else has tested the files for you, why not use them? (And for quite a few of them, that someone would be yours truly.
) Search Knowledgebase with "How to import [whatever it is you're importing]." The solutions with "(includes sample data file)" in the title have a file available to view and download. You can import them into your sample database to see what they do, or you can replace the data with your own.
-
When in doubt, check extensions. Sometimes I just can't figure out why I'm getting an exception. My data file looks correct, and I've tried everything in Knowledgebase I can find on the exception error. More often than not, a messed up extension is the culprit. If you're importing certain fields (like phone numbers or addresses) more than once, make sure each group of fields has the same extension. Sometimes, just one field will have the wrong extension, and that will throw everything else off.
-
Don't import after 4:00 in the afternoon. A customer told me this one, and I think she got it from a Blackbaud consultant. We may not always have a choice, but whenever possible try not to import or do anything else "global" in nature when your mind's not fresh. I know the cells in my data file all start looking the same late in the afternoon, so I wouldn't want to take a risk if I were working in an organization's live data.
If you have any tips for making imports easier, feel free to share them here!
Ever been confused by solicit codes? Maybe you inherited your database from someone else? Or maybe too many users have been allowed to add to your code tables? Either way, keep it simple -- solicit codes should be in the negative (ie: "Do not solicit," "Do not call," etc.) BTW, "Do not email" is a completely unnecessary solicit code -- check the "Requests no email" box on the lower right-hand corner of the Bio 1 tab instead. If you're using solicit codes in the affirmative (ie: "Send spring mailing," "Call during fall phonathon," etc), consider using constituent attributes to pull constituents into queries and exports instead.
Use "Do not solicit" sparingly. Think about it -- should this constituent truly never, ever be solicited for anything? Annual appeals, event participation, legacy giving, etc. -- not just now but for ever and ever? Consider creating more specific Do Not Solicit codes instead. Personally, I don't appreciate phone calls, but am happy to receive a well-crafted case for support via email or snail mail. And (speaking from experience) might your constituent be highly offended if he/she didn't recieve an invite to your fantabulous annual gala? The generic Do Not Solicit code might inadvertantly strip him/her from that prestige mailing (been there, done that).
Am always happy to share real-life experiences and will continue to do so in coming blogs!
Taking a cue from Sarah McBride and her affection for alliteration, I intended to inject some personality into my first blog post through the application of repeated consonant sounds. I pondered and planned a plethora of possible posts - the top topics entitled, "Better Batches", "Glorious Global Changes", and "Find the Fun with Funds!"
Unfortunately, Sarah beat me to the punch, and I was reduced to posting a blog tragically bereft of alliteration.
To make amends, the blog that begins below commences with a cacophony of consecutive consonants.
Dialing Down Date Drama Concerning Constituency Codes
Last week at Nice Things Are Good, Debbie Data was catching up on some data entry. First, she added Connie Constituent's $1000 December donation on the gift tab. After that, she went to the Bio 2 tab - to update Connie's constituency codes. Connie had been elected to the Nice Things Are Good Board at the beginning of the year, so Debbie added the constituency code of Board Member and entered 1/1/08 in the Date From field.
Later that day, Reggie Report ran the Gift Detail report to present to the Board. He wanted to know how much money each Board Member had given in 2007, so he selected Last Year for the Gift Date and filtered on the Constituency Code of Board Member. Much to Reggie's chagrin, when he printed the report, Connie Constituent and her $1000 gift were nowhere to be found.
Reggie turned to Tommy Troubleshooter, his friend who sat one desk over, and explained his predicament.
"I don't understand," Reggie told Tommy, "I can see Connie's gift as plain as day, and when I look at her Bio 2 tab, she's a Board Member all right. Why doesn't she come up in my report?"
Tommy nodded thoughtfully and rubbed his chin. "Tell you what, Reggie," he said, "What happens if you Include one record - Connie's - on the General tab, and get rid of that Constituency Code filter. Does the gift show up then?"
There was a pause while Reggie carried out his instructions. After a few moments of waiting, the report filled Reggie's screen. The gift was there.
"She's there now," Reggie said, "but I don't understand what made the difference - is something wrong with the Constituency Code?"
"Let's take a look at that Bio 2 tab again," Tommy said.
Reggie opened Connie's record, and almost at once Tommy began jabbing his finger excitedly at the screen.
"There it is!" Tommy said. "It's the Date From field - there's your culprit. When you ran the report before, the Raiser's Edge was looking for constituents who had given gifts in 2007 and who were Board Members at the time of the gift! Since Connie didn't become a Board Member until January 1, 2008, the report didn't even consider her!"
Tommy leaned back triumphantly and folded his hands behind his head. This triumph proved to be short-lived.
"Well, that certainly explains what's happening in my report, but how do I fix it?" Reggie asked.
Tommy thought this over awhile and then called to Debbie.
"Hey Debbie," he said, "do all our current Board Members have a Date From of 1/1/2008 on their Constituency Code?"
"All the new ones do," Debbie said, "but the holdovers - well, it depends on when they started. Not all of our Board Members started at the same time."
"So querying on the Date From field is out," Reggie said.
"I'm afraid so," replied Debbie.
"What about the Date To Field?" Tommy asked. "Do you use that?"
"Sure," Debbie said. "Once somebody leaves the Board, I enter the date. If they're still active, that field's blank."
"That's it!" Reggie said. "Instead of using the report filters, I'll just create a Constituent query with the Criteria Constituency Code equals Board Member and Date To is blank."
Reggie created the query and re-ran the report. Connie, the rest of the Board, and all their gifts were accounted for. Now Reggie didn't have to worry about upsetting Connie by presenting a report to the Board that ignored her generous donation.
The elastic nature of the Raiser's Edge allows for numerous variables in the way data is entered and reported on. Because organizations have unique needs, it cannot be said that one process is always better than another. What is universal is a need for consistency in data entry and reporting, so that both aspects of the work complement each other.
This is a simple enough concept in theory, but it can become more slippery in practice. Had Debbie not used the Date From and Date To fields in her Data Entry, Roger would not have had to adjust his report. Now that Roger understands how the data he is working with is entered, he can be sure to request it in the correct manner.
Later on, Tommy would find troubleshooting steps for this situation in Knowledgebase, in solution BB119027.
When I'm time-pressed
When my brain hurts
When I'm feeling rushed
I simply select all my favorite fields
And then I don't feel so stressed!
I like to sing, and what better to sing about than Favorite Fields! If you're not already familiar with Favorite Fields, allow me to introduce you to one of the best features in Query.
For those of you who create a lot of queries, I suspect you often utilize many of the same fields to filter on, include in your output, and/or sort by. It can get rather tedious when you're constantly having to scroll through all of the available fields to locate the ones you need. So why waste time and effort when you don't need to?
By taking the following steps, you can add your most frequently used query fields to your Favorites so they'll be easy to access going forward:
- Open a query.
- On the Criteria, Output, or Sort tab, select the appropriate field in the Available Fields section.
- Right-click the field and select "Add to Favorite Fields."
For the uber-efficient among us, you can also quickly select multiple favorites at the same time:
- Open a query.
- On the Criteria, Output, or Sort tab, select any field in the Available Fields section.
- Right-click and select "Organize Favorite Fields." The Favorite Fields screen appears.
- Select the appropriate query type. For example, if you want to select favorite fields for constituent queries, select Constituent.
- In the Available Fields frame, locate the appropriate field and click the right arrow to move it to the Fields to Include frame. Repeat for each field that you would like to make a favorite.
- Click OK.
These steps are also in Knowledgebase solution 20990.
As a final tip, I think you'll find it helpful to sing like Julie Andrews while you select your favorite fields, and I'm sure your coworkers will be appreciative. 
After working for days to set up an import file, you may be tempted to take your chances with the Raiser's Edge gods and import the entire file at once. But wait! Don't get too trigger-happy with that Import button, my friends. If there happens to be a problem with the way the data was entered in your spreadsheet, you could very well face a lot of manual cleanup.
You'll commonly hear us advise you to have a recent backup of your database (should you need to restore to pre-import orderliness), and we often recommend validating the import so you can check for any potential exceptions before starting the actual import process. (See BB58904 for more info.)
Kudos to you if you've made these regular habits in your import process! But have you also developed a healthy respect for guinea pigs?
Though I do like those furry rodents, I'm actually referring to a test import file that just includes the first one or two records from your original spreadsheet. Using an import guinea pig will give you a chance to confirm the import produces the right results and can make it easier for you to identify any changes that need to be made within your original file. Just remember to remove the guinea pig records from the larger file once they've imported successfully in your test run.
This may take away some of the adrenaline rush from importing all of the records on the first go, but it will also help you avoid that horrible lump in your stomach when you realize something went askew.
A Raiser's Edge query is a great tool for comparing specific values. For instance, if you want to find every record that has two $50 gifts, you can do so by creating a constituent query with the criteria Summary Information, Total Number of Gifts equals two, filtering on Gift Amount equals $50.
But what happens if you want to find records that have two gifts with the same amount, regardless of which amount you’re using?
If you have a great deal of patience and nothing else of any consequence to achieve in the next several months, you could set about using endless OR operators, or merging queries to find these records, but I wouldn’t recommend it.
There’s also the higher math approach, which is to use RODBA to write a SQL query, but if you’re a Plain Jane end user like I am, that isn’t an option either.
There is a third way to find these records, to compare one field against another without the tedium of entering every permutation into a query or using a more advanced tool like RODBA.
Sometimes you just have to be smarter than the software.
I have used the knowledgebase solution BB16868 many times as a skeleton key to get the information I need. The solution walks you through the process of finding constituent/spouse pairs that have the same (or different) last names and popping the records into a query for you.
The process involves query and export, which are familiar to most, as well as the great boogeyman of the Raiser’s Edge – Import. Don’t let the involvement of Import discourage you from trying this solution – there is only one field to import and you don’t even change anything on the records.
Depending on what fields you need to compare, you can either create a query of your records or export every record in your database. When you select your fields to export, you will only need to include three – the record’s Import ID, and the two fields you wish to compare. The KB solution compares constituent and spouse last names, but you could compare two different phone numbers on a constituent, or even Gift Amount and Soft Credit Amount on a gift.
Extensive knowledge of Excel is not required to use this solution. Assuming that you have a header row, and that the Import ID is in Column A, the solution you would enter in Column D would look like this:
=IF(B2=C2,"Yes","No")
Once you have entered this in Cell D2, copy it all the way down the rest of the column. For every record where the values in columns B and C match, you will have a “Yes” in Column D. Contra wise, if the records don’t match, the formula will return a “No” value.
Once Column D has been populated, your goal will be to winnow down the spreadsheet until only the records you want remain. Your first step will be to sort the spreadsheet by Column D, so that you have all the “Yes” records in one group, and all the “No” records in another.
Using the example from the KB solution, if you want all the constituents whose last names do not match their spouses’, you would delete all the rows containing the “Yes” records. When only the “No” records are left, delete columns B, C, and D – you won’t need them where this process is going.
When the Import ID column is the only one left standing, save the spreadsheet as a .csv file and go to Admin, Import in the Raiser’s Edge. Create an Import and select the .csv file you’ve edited and saved as the file to Import.
At this point, the process pretty much comes down to marking two options. The first of these is on the General tab, where you will mark Update existing records. Remember, since the Import ID is the only field you are importing, you won’t actually be making any changes to the record – you’ll just be tricking the software into thinking you are.
The other option to mark is on the Summary tab – Create an output query of records updated. When you click Update Now, you will be prompted to save that Query – once the Import is completed, you will have the query of the records you need.
This process does take you a few paces off the beaten path, but it’s a handy way to put together a query when a more straightforward approach isn’t an option.
More Posts
Next page »