Who Was There List Report - very slow, flawed

For those doing one-name or community studies or having other databases that are tied up by slow report generation, this is one report or software to avoid until RM Inc gooses it to what it should be.

Posting this following a brief discussion at alt-software@RootsMagic-Users.groups.io | Alt for slow RM Who Was There report about why it was so slow. I just finished a test run on RM8 that took somewhere between 70 minutes (still working with 0 on the progress circle when I left) and 195 minutes (it was finished when I returned). Contrast that with the 32 seconds it took for a SQLite query I ran on the same database to get equally useful (if not more useful) results.

This report has always been slow; on a small database, both RM7 and RM8 took 38 seconds compared to 1/5 second for my query. That’s a ratio of 190x and, if linearly scalable, then the report on the large database probably took 100 minutes to complete. For those doing one-name or community studies or having other databases that are tied up by slow report generation, this is one report or software to avoid until RM Inc gooses it to what it should be.

Other issues with it on RM8:

  1. The report title omits the Place and Date values: “Who Was There ()” is the result
  2. The Report Date is set when the Report Type is opened, not when generation was started or completed. If you leave the Report page open overnight and then Generate, the Report is shown with yesterday’s date.
  3. The “Age” result was 0 for all cases in my test report, which was not for a specific date but for a date range 1900-2020. What age should it present for a range date or a year-only date? And because it appears to consolidate events in that Place by person, which event-age should be reported when the report has only one Age field per person?
  4. The name of the file saved to PDF did expand to “Who Was There (in London, Middlesex Co, Ontario, in 1900–20.pdf” but note that the second year has lost its century digits implying that the range is 1900-1920.

Thanks for this summary Tom.
I’m a one-namer, and I had hoped that I could use the Who Was There list as a partial replacement for the RM7 report that listed, in chronological order, all the people recorded in a specific place (sorry, I’ve forgotten what it was called). Unfortunately, this report appears not to be available in RM8.
I had never used the Who Was There List in RM7, but when I tried to use it in RM8 I gave up because it was so slow - and I have quite a small database, just under 20,000 individuals.
So I’m really disappointed on two counts - first, my preferred report is no longer available, and second because its possible alternative doesn’t seem to be a runner - life’s just too short!

I wonder if what you mean is, in RM8, accessible via Places and via Reports as it is in RM7 - the Place List report.
In RM8: Publish > All Reports and Charts > Place List > Print: All places > Place List dialog window > Print all places in database > Print events in a single place > Select place > OK > OK > Generate Report

You can also get to it via Places > ⁝ More Options > Print places which opens the Place List report generator as above.

On my computer, it might have taken 10 minutes which is terribly slow when it’s possible to do it in seconds with SQlite or on other genealogy software.

Thanks Tom - I’ll have a look.

Just had a quick look, and this is exactly it…

Thanks again!

A little more testing and the Age reported is the age at the date for the report query, e.g., “Who Was There (in Ontario, in 1921)” reports the age of the person in 1921, not on the dates of the events listed. That makes sense and and answers the questions. When the query date is a date range, it cannot calculate an age so maybe the Age field should be empty, not “0”, as it is when there is no Birth/Christening date from which to compute age.

Another issue:

  1. Saving the report to XLSX looks to take as long as generating the report. Because the report writer is in a modal window which locks one out of doing anything else, the report has to be saved to something for reference. A spreadsheet would be the logical choice because of the filtering, sorting, data querying and manipulation capabilities of the spreadsheet software. The Ontario 2021 report must have been on the order of 100 minutes to generate and it’s over 30 minutes since I started the Save. This is just crazy!
  2. The output to XLSX should not be the formatted, grouped style of the Preview because it is rather useless in a spreadsheet. Rather it should be a proper table with one row for each event with separate columns for RIN, Name (maybe parts of name), Birth Date, Death Date, FactType, Place, Place Detail, EventDate, Age at event, Age at query target date. SortDate. That would allow the spreadsheet software to do the useful filtering, sorting, data querying and manipulation that it is capable of doing.

So this example “Who Was There (in Ontario, in 1921)” is the sort of report that one would want to have for chasing up Census sources for these people, especially of interest when there are new releases of Census data as for the upcoming I921 UK and 1950 US Censuses. But if it takes upwards of 200 minutes to generate and save the report for a 200k person database each time for each census area of interest, during which RM is unusable for anything else, it’s a useless report.

Contrast that with an old SQLite script I wrote 10 years ago that took 49 seconds on the same database to populate a named group with pretty much the same set of people. Use the named group to filter many of the List Reports and the People List and to colour code. Re-run to update the group in 49 seconds. no big deal!

Why hasn’t RM Inc taken to heart the repeated urgings over more than a decade to deliver capabilities that other programs have and to excel at them with the underlying power of the SQLite database engine?

For more on my script, visit:

It took 95 minutes to Save to XLSX after having taken a similar length of time to generate the Preview! To save to PDF was nearly instant - that’s what we preview. And Save to DOCX looks like another full generation that will take on the order of 100 minutes.

And the XLSX file is a proper table but with just a few columns having concatenated data from RM.

Sorting on Born or Died is pointless because they are a mix of numeric and text values many of which cannot be treated as dates. Filtering is problematic because one needs to create criteria that parse in the right part of a string.