(Note: This was written for TMG v4.x and earlier although the principles apply to TMG v5.x, v6.x, and v7.x.)


Creating a Branch Flag

By Richard V. Wilson

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:

  1. It was focused on one person; I needed it to focus on two persons.
  2. It set several values for a flag; I needed only two for my father and two for my mother.

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:

  1. Create the custom flags:

         •   †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.

  1. Create custom reports for the DAD_REL flag.

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.

  1. Initialize

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

  1. Ancestors

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

  1. Descendents

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

  1. Collateral

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

  1. Marriage 1

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

  1. Marriage 2.

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

  1. Marriage 3

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

  1. Marriage 4.

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

  1. Marriage 5.

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

  1. Siblings.

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

  1. Create custom reports for the MOM_REL flag.

These reports are exactly the same as for DAD_REL, exchanging DAD_REL and MOM_REL (RVW0xxM).

  1. Create custom reports for the BRANCH flag.
  1. Set BRANCH to D (RVW023).

Focus tab filter:

 DAD_REL

 Does Not Equal

 U

 AND

 MOM_REL

 Equals

 U

 END

Secondary Output tab:

 Change Flag

 BRANCH

 D

  1. Set BRANCH to M (RVW024).

Focus tab filter:

 DAD_REL

 Equals

 U

 AND

 MOM_REL

 Does Not Equal

 U

 END

Secondary Output tab:

 Change Flag

 BRANCH

M

  1. Set BRANCH to C (RVW025).

Focus tab filter:

 DAD_REL

 Does Not Equal

 U

 AND

 MOM_REL

 Does Not Equal

 U

 END

Secondary Output tab:

 Change Flag

 BRANCH

 C

  1. Set BRANCH to U (RVW026).

Focus tab filter:

 DAD_REL

 Equals

 U

 AND

 MOM_REL

 Equals

U

 END

Secondary Output tab:

 Change Flag

 BRANCH

 U

  1. Run the initialization reports for Dad and Mom.†One report for Dad depends upon Mom being initialized, and one for Mom depends upon Dad being initialized.
  2. Run all other reports for Dad and Mom.† They must be run in sequence.
  3. Run the four reports for the BRANCH flag.

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.

Last revised:

Hit Counter