Occasionally, you need to locate people by multiple criteria. For example, they both live in some area and they joined before some date.

The refine search controls provide this, but they’re a bit long-winded for this case. So now, there’s a short-cut: the different kinds of searches in the Search More menu have tick-boxes to do this particular narrowing down of results directly, by searching only within the results already found rather than the whole database.

Background

The filter controls under the main search bar let you combine results of different searches in numerous ways. For example, everyone who meets some condition A or B, everyone who meets both A and B, those who meet A but not B and so on.

This is very flexible, but the flexibility can make it complicated, and you may have to deal with large numbers of search results on each search to end up with quite a small set of answers.

The most common question to ask is the and question: find everyone matching both criteria A and B. There is now an easier way to ask this kind of question.

Most of the sections in Search More already offer a set of tick boxes which can narrow down search results by membership and/or contact type. These boxes now include additional options for this.

Search More

As well as some miscellaneous searches, Search More offers:

  • General Search for finding text in text fields (or values of multiple choice fields)
  • Date Search for finding when a nominated date field lies in some date range
  • Map Search for finding memberships in a particular area which you draw on a map (or choose from various kinds of pre-defined area)
  • Political Search to find people by their ward, district or constituency

The usual behaviour finds everyone in the database who matches what you are searching for, subject to membership/contact type selected.

Now, though, two more tick boxes let you choose to search only within:

  • the search results you already have alongside (Fig 1: 1), or
  • the set of saved search results (Fig 1: 2)

rather than the whole database. In principle, this is the same as using the refine controls, but is easier. Of course, the results searched within can come from anywhere, not just other searches: list subscribers, for example, or even chosen manually.

Fig 1: new controls to search only within search or saved results

For example, let’s say you want to find all current members in Petersfield who joined on or before 31 Dec 2015:

  • Find current members in Petersfield by outlining the area on a map in Map Search or by the council ward in Political Search and ticking the box so that only current members are returned.
  • Expand the results to show them all, if there’s more than the initial handful returned.
  • Then use Date Search to find those who joined on or before that date, but this time tick the box to search only within the existing results (Fig 1: 1).

You can repeat this with another search if you want, narrowing down the results further each time.

Multiple refinements

What if you want to try several date ranges among those in Petersfield? Once you’ve done the first search above, you’ll only have the results for the first date range left, so it won’t work to search for different dates within those.

Instead, after finding the initial list of all Petersfield members, save that list using the Save All button (the fourth filter control, Fig 1: 2). Then do the date searches with the only search within saved results box ticked (Fig 1: 3). Each date search will start from your saved results, which is unchanged between each date search.

There isn’t much point in doing a search like this if you don’t do something with the results. You might want to send each set a slightly different ad-hoc email, for example. You can do that in the usual way, then return to do another date search within the saved results later. As long as you don’t change the saved list, you can come back to Search More later to search within it again.

Reports

If what you are after is not just one or two date ranges for those in Petersfield, but actually a set of aggregate results for a whole series of date ranges, then searching for each date range in turn like this is probably not the way to do it. Let’s say, for example, you want a histogram plotting numbers joining in Petersfield in each year over a wide range of years.

This isn’t something that a multiple search in Cameo will provide. The right tool for that job, and other data analyses, is a spreadsheet. Excel and Google Sheets can both produce histograms from data sets like this.

To do that you need a spreadsheet which at least has a column showing the joined date on which the spreadsheet can work. To get such a spreadsheet, you’ll need to produce a report from Cameo using a report template. This is another topic, but briefly:

  • create a report template (which will include a suitable table)
  • put the substitution for joined date in one of the table cells and whatever else you need (e.g. name) in others
  • merge it with your set of Petersfield search results to get a CSV file