* Relationships

Questions regarding use of any Version of Family Historian. Please ensure you have set your Version of Family Historian in your Profile. If your question fits in one of these subject-specific sub-forums, please ask it there.
avatar
arishmell
Famous
Posts: 100
Joined: 29 Jan 2005 19:13
Family Historian: V7

Re: Relationships

Post by arishmell » 12 Aug 2023 06:45

Thank you, Arthur and Sarah, for your efforts!

I have an expression =IsAncestorOf(%INDI%,Field(FileRoot(),'INDI.~FATH>')) which produces a diagram icon for direct paternal ancestors (and a corresponding one for maternal). I think I knew before I asked that finding an expression for ALL paternal relations was a bit much!
Maureen

Researching:
Waycott, Fewings, Piper, Burgoyne, Johns, Phillips, Paddon, Streat;
Morrish, Rowd*n, Pike, Lowder, Flood, Parsons and others.
All in glorious Devon!

avatar
arthurk
Superstar
Posts: 339
Joined: 31 Jan 2015 20:24
Family Historian: V7

Re: Relationships

Post by arthurk » 12 Aug 2023 10:01

arishmell wrote:
12 Aug 2023 06:45
I have an expression =IsAncestorOf(%INDI%,Field(FileRoot(),'INDI.~FATH>')) which produces a diagram icon for direct paternal ancestors (and a corresponding one for maternal). I think I knew before I asked that finding an expression for ALL paternal relations was a bit much!
I think we need some more expert input here, but what would happen if you changed IsAncestorOf to IsRelativeOf? And can it be incorporated in a Property Box caption (is TextIf the tool to use?)?

User avatar
tatewise
Megastar
Posts: 27074
Joined: 25 May 2010 11:00
Family Historian: V7
Location: Torbay, Devon, UK
Contact:

Re: Relationships

Post by tatewise » 12 Aug 2023 13:17

arthurk wrote:
12 Aug 2023 10:01
I think we need some more expert input here, but what would happen if you changed IsAncestorOf to IsRelativeOf? And can it be incorporated in a Property Box caption (is TextIf the tool to use?)?
IsAncestorOf(...) only returns true for direct line ancestors.
If you simply replace that with IsRelativeOf(...) it returns true for almost everyone related directly or indirectly via marriage.
i.e. It would be true for everyone shown in an All Relatives diagram so cannot differentiate paternal and maternal lines.

IMO it is in general not possible to differentiate paternal and maternal ancestors, and this is especially so if ancestral 'cousins' from both sides are married. Then via different routes, everyone is on both the paternal and maternal lines.
That is why the All Pool Relatives Except Partner Ancestors plugin is needed to manage such relationships.
Mike Tate ~ researching the Tate and Scott family history ~ tatewise ancestry

avatar
arthurk
Superstar
Posts: 339
Joined: 31 Jan 2015 20:24
Family Historian: V7

Re: Relationships

Post by arthurk » 12 Aug 2023 19:38

tatewise wrote:
12 Aug 2023 13:17
IMO it is in general not possible to differentiate paternal and maternal ancestors, and this is especially so if ancestral 'cousins' from both sides are married. Then via different routes, everyone is on both the paternal and maternal lines.
That is why the All Pool Relatives Except Partner Ancestors plugin is needed to manage such relationships.
Thanks, Mike. I haven't tried using that plugin, but I have read the description in the store. It looks to me as though it creates a Named List - but this is presumably a static list, so whenever you added someone new to that line you'd need to run the plugin again to capture them. What I'm wondering, and I don't know if it would be possible, is if there could be a dynamic list so that new people connected to a particular line would be added automatically.

The nearest I can think of is to run the plugin as required to separate the required lines, add a custom flag to everyone in each line, and then try to remember to add the flag manually to anyone new. Then possibly devise something for the property box caption based on the flag(s).

Meanwhile I've been experimenting some more with the property box caption. This isn't the solution I'll ultimately go for myself as it adds nothing to my Custom Id, but as a learning exercise I tried to add an element based on IsAncestorOf. The surname of one of my grandfathers (Record Id 61) begins with 'B', so I was trying to add " B" to the end of the existing caption for his ancestors (and no-one else), but it didn't work. This is what I used:

Code: Select all

=TextIf(IsAncestorOf(%INDI.REFN[61]%)," B", "")
What have I done wrong? Ultimately I might want to use TextIf with HasFlag, so I'd like to understand this a bit better.

User avatar
tatewise
Megastar
Posts: 27074
Joined: 25 May 2010 11:00
Family Historian: V7
Location: Torbay, Devon, UK
Contact:

Re: Relationships

Post by tatewise » 12 Aug 2023 20:02

Yes, the plugin produces a static Result Set which can be added to a Named List.
The plugin must be run from time to time to update the Named List.
You can have multiple Named Lists; perhaps one for Paternal and another for Maternal relatives.

Record Flags are not needed as the function =IsInList( %INDI%, "Paternal" ) returns true if the current Individual is in the "Paternal" Named List.
e.g. =TextIf( IsInList( %INDI%, "Paternal" ),"Paternal", "") =TextIf( IsInList( %INDI%, "Maternal" ),"Maternal", "")

Your IsAncestorOf( %INDI.REFN[61]% ) is referring to the 61st instance of the Individual Custom Id (which won't exist).
To reference the Individual with Record Id 61 use IsAncestorOf( Record( 61, "I" ) )
Mike Tate ~ researching the Tate and Scott family history ~ tatewise ancestry

avatar
arthurk
Superstar
Posts: 339
Joined: 31 Jan 2015 20:24
Family Historian: V7

Re: Relationships

Post by arthurk » 13 Aug 2023 16:32

Thanks for all the pointers, Mike - told you I was still trying to learn. Anyway, I've spent a while experimenting, and now have something that seems to work for me. I'll run through it in case anyone else feels like doing something similar.

I didn't actually try the All Pool Relatives Except Partner Ancestors plugin, but instead used the standard All Relatives query, running it separately for each grandparent. This seemed to produce the right sort of result set for me, though there's a bit of doubling up in the most recent generations which I might sort out manually at some point.

I added each set of results to a named list - then as a bonus I added the lists as columns in the Individuals record window, so now I can use the tick box to quickly add or remove people from the lists.

I've added an extra part to the end of the Property Box caption, as follows:

Code: Select all

=TextIf(IsInList(%INDI%,"Listname")," Ⓡ", "")
It actually appears 4 times, once for each grandparent, with "Listname" replaced by whatever the list is called, and an appropriate letter/symbol as the item to show in the caption.

For the symbol I've used circled capital letters from the Segoe UI Symbol font, found in the Windows Character Map. This produces the output below - it's a little bit on the small side, but I couldn't find anything better to fit my naming scheme. If it eventually annoys me I might go back to something like {R} or R*.
Screenshot 2023-08-13 172537.jpg
Screenshot 2023-08-13 172537.jpg (17.09 KiB) Viewed 50 times
Any comments welcome, and of course I'm happy for others to adapt this for their own use.

Post Reply