Truncating full birth mo/day/year- to year only

We are considering publishing a genealogy book using Roots Magic. We have living individuals in the data base with full birth mo/day/year and others with a variety of other combinations such as birth year only. For privacy reasons, we want to publish our genealogy using only birth year for the living, if available. Is there some way of doing so by automatically manipulating the data base to either temporarily show only birth year in the system default birth field, or automatically copy only birth year from the default birth field to a new birth field? We don’t want to create a new birth fact name field and manually have to go through the data base individual by individual to type in birth year only in this new field-we would then have to privatize the system default birth field when we print our narrative report for the book and include only the new birth field. I would think this birth year only feature would be desirable for those wanting to publish a book.

There’s no such feature in RM so this would be an enhancement request. The Birth Year by itself is already extracted and stored with the person’s Name so it could be used in a report.

Outside of RM, one could use sqlite queries to manipulate the database so that RM’s reports would output just the year as you want.

Thanks for your response. How and were is the extracted birth year stored, and how would one set up a narrative NGSQ to print only the birth year?

It is stored in the NameTable and displayed in the sidebar Index and in the Preview pane of the focus person. You cannot access it nor use it in any report.

My comment was about manipulating a copy of the database using sqlite queries to bulk change the Birth date for all living people to Year only more or less as you described in your OP. Once the NGSQ was generated, that version of the database would be scrapped as it was modified solely for the generating of reports.

How about making a copy of the database by restoring it to a new database, then editing the sentence template in the new database copy to change the principal’s sentence template for the birth fact. Maybe changing [Date] to < in [Date:Year]> would do what you want. I haven’t tried this but it could work.

1 Like

It would do it for everybody, not just for living people.

Could you then do a group change for people over 105 years old back to [Date]?

it might be possible BUT the amount of work you would have to do would take a lot longer than changing the individual facts…
I know–changing the birth fact on 208 people or more individually would b a pain…
That said here is the 1st option :

create a 2nd birth fact-- name Birth 2 etc --check all items and use the sentence
[person] was born < [Date:Year]> <, [PlaceDetails]> <, [Place]> <[desc]>.
( or leave everything off except Date:year)…
Then create your group using set criteria-- Born before 2024-- born after 1920 etc— hit okay–once you have the group, go to people list–use the drop down list to show the group–

then you can click on the person to bring up their edit screen

change Birth FACT TYPE ( right side) to BIRTH 2–click okay to return to the list and your report will now read
Narrative Report for Billy Bob Lee-139

First Generation

  1. Billy Bob Lee was born 1860


Once done, run your reports-- then you can if you want go into TOOLS ( right side). and click on change fact type for everyone under fact tools ( Make sure to back-up database first) change Birth fact 2 to Birth and you should be back to normal…

1 Like

2nd option-- Export your whole tree using a gedcom-- make sure to name it something else like SMITH FAMILY REPORT-- in the dialog box Gedom EXPORT OPTION-- check PRIVATIZE LIVING PEOPLE and you can choose the option of changing the name and the facts to YEAR ONLY OR YEAR ONLY AND PLACE --among other things…

after checking and changing every thing you want–Save the gedcom–then import it to make sure all were changed as I am not certain if RM automatically picks up all LIVING persons— if okay, you can create your reports from this file BUT you also should know that there can be a lot of loss due to using a gedcom --Media being one of the biggest ones–someone else will have to tell you if you can fix the broken media links as I do NOT know…

Using either option are you sure that you won’t still be making a report that MIGHT give the reader a clue as to when living persons were born-- such as notes that MIGHT have birth announcements, census info-- other facts such as Baptized Sept 2 1978 in a religion that typically Baptizes a baby within 1 month of being born ( Catholic) etc…

just something to think abt


Nancy, I was going to suggest this also. Of course, it would be much easier if the RM option to change fact type for everyone had the option to select people by group or other criteria.

First, create a custom birth fact that only includes the birth year. Go to the “Lists” menu, select “Fact Type List,” and then click “Add” to create a new fact type. Name it something like “Birth Year Only” or “Birth Year” and set the type to “Birth.” You can then go through your database and apply this custom fact to all living individuals. You can do this by selecting each individual, going to the “Edit” menu, and then selecting “Add Fact.” Choose the custom birth fact you created and enter only the birth year. When generating your narrative report for the book, you can use the custom birth fact instead of the default birth fact. This will ensure that only the birth year is included for living individuals.

Sqlite sounds more complicated than our group may be capable of doing. I’m going to share it with my group. Thanks.

Our group will test all these great suggestions with our test data base. Thanks so much!

Our group will test this out on our test data base. Thanks for sharing the process.

Although it has already been touched on by @cweese, using the current options available, it is possible to modify the Birth fact type to make use of the living switch which is described in the Sentence template language help document.

In the fact role type, change the reference to the date from < [Date]> to <@ in [Date:Year]| [Date]>

  1. Select Tools → Add or modify fact types, then press the Run selected tool button.
  2. Select the Birth fact and press the Edit button.
  3. Select the role type to modify and press the Edit Role button.
  4. Modify the text as described above.


That’s a very clever and elegant solution. I had forgotten all about the Living switch. The solution should work fine for printed reports as long as it’s reports that are under control of sentence templates. It will not work for other things such as or GEDCOM export. Fortunately, this particular use case is specifically about printed reports that are under control of sentence templates.

Right. On review of the OP, I see it makes no mention of anything other than a narrative report. If Family Group Sheets or Individual Summaries, for example, were wanted, then some other solution would be required.

Thank you for your reply. I have recently been diagnosed with a very serious illness, so my responses may be delayed. I have forwarded your response to our book group.

Thank you Austin! Sorry to be so slow in responding due to my health issues. I tested in on a few individuals in my data base, and it works! This is a game changer!