(Note: This was written for TMG v4.x and earlier although the principles apply to TMG v5.x, v6.x, and v7.x.)
I wanted to create a flag (BRANCH) to mark all persons as being on:
This seemed easy enough to do. For any person, I could quickly identify where the person belonged. I could set the flag manually, but I didn’t want to go through my whole database manually. So I tried to use the List of People Report Secondary Output capability.
I tried for about eight hours over three days, without any luck. I always ended up with too many persons in the Common and Unrelated categories. My mother’s ggggGrandfather appeared in the Common category, for example, and I knew that he should be in my mother’s branch.
So I asked for help. The suggestion I got was to modify the procedure outlined in the Creating the Related_By Flag page on the TMG Tips site. I had looked at this and rejected it because:
I looked again at this procedure. If I could go through this procedure twice, once for my father and once for my mother, I could set my BRANCH flag from the two RELATED_BY flags.
I setup and ran the reports, one for my father and one for my mother. With these reports, I still got too many in the Unrelated category, but I didn’t get anyone in the Common category that shouldn’t have been there. That was progress!
I looked in the Unrelated category, identifying a class of persons that had a particular type of relationship to my mother or father, e.g., a second spouse of an ancestor. I setup a report to find this particular type of relationship, and ran the reports again. After several iterations of this process, I finally got what I wanted.
The following delineates the process:
BRANCH (?MDCU). The “?” is the default for new persons.
DAD_REL (?ADCMUSWI1234).
MOM_REL (?ADCMUSWI1234). Same as for DAD.
? – Default for new persons.
A – Ancestors.
D – Descendents.
C – Collaterals.
M – Related by Marriage.
U – Unrelated.
S – Self and Siblings.
W – Wife (other spouses).
I – In-Laws.
1 – Descendents of M.
2 – Spouses of 1.
3 – Spare.
4 – Spare.
TMP_REL (NY). This flag is used during the process, and may be deleted when finished.
In most of the following reports, I check the Suppress for secondary output box. The only exception is the report to set the designated Dad and Mom.
i. Clear the TMP_REL flag (RVW001).
Focus tab filter:
All People
Secondary Output tab:
Change Flag |
TMP_REL |
N |
END |
This report is used many times, usually as a first sub-step. I found it easier to copy this report to each section.
ii. Clear the DAD_REL flag (RVW002D & RVW002M).
Focus tab filter:
All People
Secondary Output tab:
Change Flag |
DAD_REL |
U |
END |
iii. Set the focus person (RVW003D & RVW003M).
This is the where the designated Dad is set.
Focus tab filter:
Person Number |
Equals |
[?] |
END |
_ Spouse(s) |
_ Ancestor(s) 250 Generations |
_ Descendent(s) 250 Generations |
Secondary Output tab:
Change Flag |
DAD_REL |
S |
END |
These reports set DAD_REL for Dad’s Ancestors.
i. Clear the TMP_REL
flag (RVW001).
ii. Set the TMP_REL flag for Ancestors (RVW004D
& RVW004M).
Focus tab filter:
DAD_REL |
Equals |
S |
END |
||
_ Spouse(s) |
x Ancestor(s) 250 Generations |
_ Descendent(s) 250 Generations |
Secondary Output tab:
Change Flag |
TMP_REL |
Y |
iii. Set the DAD_REL to A for Ancestors (RVW005D & RVW005M).
Focus tab filter:
TMP_REL |
Equals |
Y |
AND |
||
DAD_REL |
Equals |
U |
END |
||
_ Spouse(s) |
_ Ancestor(s) 250 Generations |
_ Descendent(s) 250 Generations |
Secondary Output tab:
Change Flag |
DAD_REL |
A |
These reports set DAD_REL for Dad’s Descendents.
i. Clear the TMP_REL flag (RVW001).
ii. Set the TMP_REL flag for Descendants (RVW006D & RVW006M).
Focus tab filter:
DAD_REL |
Equals |
S |
END |
||
_ Spouse(s) |
_ Ancestor(s) 250 Generations |
x Descendent(s) 250 Generations |
Secondary Output tab:
Change Flag |
TMP_REL |
Y |
iii. Set the DAD_REL to D for Descendants (RVW007D & RVW007M).
Focus tab filter:
TMP_REL |
Equals |
Y |
AND |
||
DAD_REL |
Equals |
U |
END |
||
_ Spouse(s) |
_ Ancestor(s) 250 Generations |
_ Descendent(s) 250 Generations |
Secondary Output tab:
Change Flag |
DAD_REL |
D |
These reports set DAD_REL for Dad’s Collaterals (Aunts, Uncles, Nieces, Nephews, Cousins).
i. Clear the TMP_REL flag (RVW001).
ii. Set the TMP_REL flag for Collaterals (RVW008D & RVW008M).
Focus tab filter:
DAD_REL |
Equals |
A |
END |
||
_ Spouse(s) |
_ Ancestor(s) 250 Generations |
x Descendent(s) 250 Generations |
Secondary Output tab:
Change Flag |
TMP_REL |
Y |
iii. Set the DAD_REL to C for Collaterals (RVW009D & RVW009M).
Focus tab filter:
TMP_REL |
Equals |
Y |
AND |
||
DAD_REL |
Equals |
U |
END |
||
_ Spouse(s) |
_ Ancestor(s) 250 Generations |
_ Descendent(s) 250 Generations |
Secondary Output tab:
Change Flag |
DAD_REL |
C |
Before running these reports, the designated Mom must be set (RVW003M).
These reports set DAD_REL for Dad’s other Spouse(s).
i. Clear the TMP_REL flag (RVW001).
ii. Set the TMP_REL flag for Dad’s Spouse(s) (RVW010D & RVW010M).
Focus tab filter:
DAD_REL |
Equals |
S |
END |
||
x Spouse(s) |
_ Ancestor(s) 250 Generations |
_ Descendent(s) 250 Generations |
Secondary Output tab:
Change Flag |
TMP_REL |
Y |
iii. Set the DAD_REL to W for Dad’s other Spouse(s) (RVW011D & RVW011M).
Focus tab filter:
TMP_REL |
Equals |
Y |
AND |
||
DAD_REL |
Does Not Equal |
S |
AND |
||
MOM_REL |
Does Not Equal |
S |
END |
||
_ Spouse(s) |
_ Ancestor(s) 250 Generations |
_ Descendent(s) 250 Generations |
Secondary Output tab:
Change Flag |
DAD_REL |
W |
These reports set DAD_REL for spouses of Dad’s Ancestors, Descendents, and Collaterals.
i. Clear the TMP_REL flag (RVW001).
ii. Set the TMP_REL flag for Dad’s Spouse(s) (RVW012D & RVW012M).
Focus tab filter:
DAD_REL |
Equals |
A |
OR |
||
DAD_REL |
Equals |
D |
OR | ||
DAD_REL |
Equals |
C |
END | ||
x Spouse(s) |
_ Ancestor(s) 250 Generations |
_ Descendent(s) 250 Generations |
Secondary Output tab:
Change Flag |
TMP_REL |
Y |
iii. Set the DAD_REL to M for spouses of Dad’s Ancestors, Descendents, and Collaterals (RVW013D & RVW013M).
Focus tab filter:
TMP_REL |
Equals |
Y |
AND |
||
DAD_REL |
Equals |
U |
END |
||
_ Spouse(s) |
_ Ancestor(s) 250 Generations |
_ Descendent(s) 250 Generations |
Secondary Output tab:
Change Flag |
DAD_REL |
M |
These reports set DAD_REL for Ancestors and Descendents of persons previously marked as related to Dad by Marriage (In-Laws).
i. Clear the TMP_REL flag (RVW001).
ii. Set the TMP_REL flag for Dad’s Spouse(s) (RVW014D & RVW014M).
Focus tab filter:
DAD_REL |
Equals |
M |
OR |
||
DAD_REL |
Equals |
W |
END |
||
_ Spouse(s) |
x Ancestor(s) 250 Generations |
x Descendent(s) 250 Generations |
Secondary Output tab:
Change Flag |
TMP_REL |
Y |
iii. Set the DAD_REL to I for. Ancestors and Descendents of persons previously marked as related to Dad by Marriage (RVW015D & RVW015M).
Focus tab filter:
TMP_REL |
Equals |
Y |
AND |
||
DAD_REL |
Equals |
U |
END |
||
_ Spouse(s) |
_ Ancestor(s) 250 Generations |
_ Descendent(s) 250 Generations |
Secondary Output tab:
Change Flag |
DAD_REL |
I |
These reports set DAD_REL for Descendents of persons previously marked as related to Dad by Marriage.
i. Clear the TMP_REL flag (RVW001).
ii. Set the TMP_REL flag for Dad’s Spouse(s) (RVW016D & RVW016M).
Focus tab filter:
DAD_REL |
Equals |
M |
OR |
||
DAD_REL |
Equals |
I |
OR |
||
DAD_REL |
Equals |
W |
END |
||
_ Spouse(s) |
_ Ancestor(s) 250 Generations |
x Descendent(s) 250 Generations |
Secondary Output tab:
Change Flag |
TMP_REL |
Y |
iii. Set the DAD_REL to 1 for Descendents (RVW017D & RVW017M).
Focus tab filter:
TMP_REL |
Equals |
Y |
AND |
||
DAD_REL |
Equals |
U |
END |
||
_ Spouse(s) |
_ Ancestor(s) 250 Generations |
_ Descendent(s) 250 Generations |
Secondary Output tab:
Change Flag |
DAD_REL |
1 |
These reports set DAD_REL for spouses of persons previously marked as related to Dad by Marriage.
i. Clear the TMP_REL flag (RVW001).
ii. Set the TMP_REL flag for Dad’s Spouse(s) (RVW018D & RVW018M).
Focus tab filter:
DAD_REL |
Equals |
M |
OR |
||
DAD_REL |
Equals |
I |
OR | ||
DAD_REL |
Equals |
1 |
END | ||
x Spouse(s) |
_ Ancestor(s) 250 Generations |
_ Descendent(s) 250 Generations |
Secondary Output tab:
Change Flag |
TMP_REL |
Y |
iii. Set the DAD_REL to 2 for spouses of persons previously marked as related to Dad by Marriage (RVW019D & RVW019M).
Focus tab filter:
TMP_REL |
Equals |
Y |
AND |
||
DAD_REL |
Equals |
U |
END |
||
_ Spouse(s) |
_ Ancestor(s) 250 Generations |
_ Descendent(s) 250 Generations |
Secondary Output tab:
Change Flag |
DAD_REL |
2 |
These reports set DAD_REL for Dad’s Siblings.
i. Clear the TMP_REL flag (RVW001).
ii. Set the TMP_REL flag for Dad’s and his Parents(s) (RVW020D & RVW020M).
Focus tab filter:
DAD_REL |
Equals |
S |
END |
||
_ Spouse(s) |
x Ancestor(s) 1 Generations |
_ Descendent(s) 250 Generations |
Secondary Output tab:
Change Flag |
TMP_REL |
Y |
iii. Set the TMP_REL flag for Dad’s Parents(s) Children (RVW021D & RVW021M).
Focus tab filter:
TMP_REL |
Equals |
Y |
AND |
||
DAD_REL |
Does Not Equal |
S |
END |
||
_ Spouse(s) |
_ Ancestor(s) 250 Generations |
x Descendent(s) 1 Generations |
Secondary Output tab:
Change Flag |
TMP_REL |
Y |
iv. Set the DAD_REL to S for Dad’s Siblings (RVW022D & RVW022M).
Focus tab filter:
TMP_REL |
Equals |
Y |
AND |
||
DAD_REL |
Does Not Equal |
S |
AND |
||
DAD_REL |
Does Not Equal |
A |
END |
||
_ Spouse(s) |
_ Ancestor(s) 250 Generations |
_ Descendent(s) 250 Generations |
Secondary Output tab:
Change Flag |
DAD_REL |
S |
These reports are exactly the same as for DAD_REL, exchanging DAD_REL and MOM_REL (RVW0xxM).
Focus tab filter:
DAD_REL |
Does Not Equal |
U |
AND |
MOM_REL |
Equals |
U |
END |
Secondary Output tab:
Change Flag |
BRANCH |
D |
Focus tab filter:
DAD_REL |
Equals |
U |
AND |
MOM_REL |
Does Not Equal |
U |
END |
Secondary Output tab:
Change Flag |
BRANCH |
M |
Focus tab filter:
DAD_REL |
Does Not Equal |
U |
AND |
MOM_REL |
Does Not Equal |
U |
END |
Secondary Output tab:
Change Flag |
BRANCH |
C |
Focus tab filter:
DAD_REL |
Equals |
U |
AND |
MOM_REL |
Equals |
U |
END |
Secondary Output tab:
Change Flag |
BRANCH |
U |
This concludes the process.
The TMP_REL flag contains no useful information, and may be deleted (until the next time the process is to be done).
The DAD_REL and MOM_REL contain information similar to the RELATED_BY flag in the Creating the Related By Flag page, which may be useful. New persons added will have the default value of “?” for these flags, which may be manually changed, as appropriate.
The BRANCH flag contains the useful data (the final results of this process).
For my TMG database, this process classified relationships for all persons except for persons known to be unrelated. There may be relationships that will not be classified by this process. In that case, more reports will be necessary.
Ed. Note: The reports noted above have been created with designations of RVW001 through RVW026 with some being created for (D)ad and some for (M)om (i.e., RVW003D, RVW003M). These reports may be downloaded and imported into your copy of TMG. The download file is zipped for faster downloading and should be unZipped into the TMGW directory/folder. Then follow the instructions in the READMEBR.TXT file.
Comments to: Lee Hoffman
Return to the TMG Tips User Tutorials Page.