Jump to content


Photo

Boolean - Creating List People in Specific location / Specific Time


  • Please log in to reply
13 replies to this topic

#1 mcphilbrick

mcphilbrick

    Advanced Member

  • Members
  • PipPipPip
  • 33 posts

Posted 31 August 2017 - 02:32 PM

My husband is trying to create a list of people to make it easier to do some research in Newspapers. He has a roll of microfilm for a specific time period and would like to have a list of people born, married and died in that location between the dates covered by the microfilm roll.

 

Below is an example of how we are configuring the 'select from list' during the creation of a marked group:

 

Any fact - date - is after - 1 Jan 1942

and - any fact - date - is before - 1 Jan 1945 

and - any fact - place - contains - Kansas

and - any fact - place - contains - Ford

 

One of the people marked by the above search does not have a  single fact between those dates. He does have one fact that contains Ford and Kansas in the place.

See https://drive.google...l95cDNIUXM/view for example.

 

How can we create such a group?



#2 c24m48

c24m48

    Advanced Member

  • Members
  • PipPipPip
  • 2612 posts

Posted 31 August 2017 - 03:58 PM

You have been bitten by a limitation in RM's searching procedure. The search criteria are applied person by person basis and are not necessarily all applied to the same fact. For example, if someone were born in 1930 and died in 1980, they would meet your criteria. That is, the birth in 1930 meets the before 1 Jan 1945 criterion and the death in 1980 meets the after 1 Jan 1942 criterion. If the same person also had one fact in Ford (not necessarily the same fact) and also one fact in Kansas (not necessarily the same fact), then you have a match. But it's a meaningless match.

 

You might be able to come closer to what you want by picking a specific fact type - birth is before and after, death is before and after, etc. It's a little tedious but it might help. And remember that you can keep marking and unmarking before you exit the dialog to make a group. Another thing you can try is to mark everybody to be in the group and then use negative logic to unmark those you don't want. Sometimes that will work better than marking who you do want.

 

It's a difficult problem and there are longstanding and unfulfilled wishlist items requesting the ability to search as you need to search.

 

Jerry



#3 Renee Zamora

Renee Zamora

    Advanced Member

  • Support
  • PipPipPip
  • 7093 posts

Posted 31 August 2017 - 04:14 PM

I would use multiple passes to filter the group.

 

Mark Group

Any fact - place - contains - Ford, Kansas
 

UnMark

Any fact - date - is before - 1 Jan 1942

 

UnMark
Any fact - date - is after - 1 Jan 1945

 

You could also use the "Who Was There List" for people that would fit your criteria.

 

Thinking about it Any Fact probably isn't the best option, but you get the idea of Mark and UnMark.


Renee
RootsMagic

#4 BRM

BRM

    Member

  • Members
  • PipPip
  • 8 posts

Posted 31 August 2017 - 04:51 PM

Not exactly what your are looking for, but I was able to create a custom report that had the date fields for  birth, death and marriage along with the name of the person (you can add more fields to the report if desired).  Under Options, You can sort by up to three criteria, e.g. birth date then by marriage date, then by death date, or you could run the report multiple times and choose just one date to focus and sort on which might be useful because then you would know what kind of record you were looking for on the film. The report can be generated for everyone in the database, selected individuals, or named groups



#5 mcphilbrick

mcphilbrick

    Advanced Member

  • Members
  • PipPipPip
  • 33 posts

Posted 31 August 2017 - 05:58 PM

I will try the mark/unmark process.

 

We tried the Who was there report and without a working marked group, the results are too broad. What we need is a 'who was there ... when' report.



#6 TomH

TomH

    Advanced Member

  • Members
  • PipPipPip
  • 5467 posts

Posted 31 August 2017 - 06:06 PM

I think you are wanting to filter on BMD's that occurred between the 1942 and 1945 dates. Easily answered as a SQLite query. I cannot remember if RM's search criteria includes "between" for dates but it could and should because the underlying SQLite database engine does.

Tom user of RM7230 FTM2017 Ancestry.ca FamilySearch.org FindMyPast.com
SQLite_Tools_For_Roots_Magic_in_PR_Celti wiki, exploiting the database in special ways >>> Rmtrix_tiny.png app, a growing bundle of RootsMagic utilities.


#7 mcphilbrick

mcphilbrick

    Advanced Member

  • Members
  • PipPipPip
  • 33 posts

Posted 31 August 2017 - 06:13 PM

OK  -- I must have done something wrong, because my list still has people on it that I don't want.

 

Here's what I did:

Mark Group

Any Fact -- place -- contains -- Ford, Kansas

 

197 people

 

Unmark people

Clear people by data fields

any fact -- date -- is before -- 1 Jan 1942

cleared 7796 people

 

Unmark people

Clear people by data fields

any fact -- date -- is after -- 1 Jan 1945

cleared 1777 people

 

OK

Name Group

 

Has people in it who don't have any fact dated between 1942 and 1945. They do have at least one fact in Ford, Kansas. There are people in the marked group that do have events between 1942 and 1945 in Ford, Kansas.

 

Ran 'Who Was There' Report for this marked group -- and it doesn't contain any info

 

'Who Was There' report using Ford, Kansas

between 1942 and 1945

Everyone

 

27 pages long

Contains anyone in Ford, Kansas at any time (My mother is on this report and she wasn't in Ford, Kansas until after 1954.)

The 'On this date' setting does not appear to impact the results of the report.



#8 mcphilbrick

mcphilbrick

    Advanced Member

  • Members
  • PipPipPip
  • 33 posts

Posted 31 August 2017 - 06:18 PM

I think you are wanting to filter on BMD's that occurred between the 1942 and 1945 dates. Easily answered as a SQLite query. I cannot remember if RM's search criteria includes "between" for dates but it could and should because the underlying SQLite database engine does.

 

I've used SQL to query a different database but so far have needed specific directions to work with RM database. I tried finding such directions today and didn't have much luck.



#9 TomH

TomH

    Advanced Member

  • Members
  • PipPipPip
  • 5467 posts

Posted 31 August 2017 - 07:57 PM

If you have some knowledge of SQL, then you have a head start. Click on the wiki link in my signature for the resources you need to use SQL queries on a RootsMagic database.

Tom user of RM7230 FTM2017 Ancestry.ca FamilySearch.org FindMyPast.com
SQLite_Tools_For_Roots_Magic_in_PR_Celti wiki, exploiting the database in special ways >>> Rmtrix_tiny.png app, a growing bundle of RootsMagic utilities.


#10 kbens0n

kbens0n

    Advanced Member

  • Members
  • PipPipPip
  • 3261 posts

Posted 01 September 2017 - 12:14 PM

Any fact - date - is after - 1 Jan 1942
and - any fact - date - is before - 1 Jan 1945 
and - any fact - place - contains - Kansas
and - any fact - place - contains - Ford
 
How can we create such a group?


Don't have RM at hand, but maybe a different approach like...

MARK individuals with:
Any fact - date - contains - 1942
Any fact - date - contains - 1943
Any fact - date - contains - 1944

UNMARK individuals with:
Any fact - place - does not contain - Kansas
Any fact - place - does not contain - Ford

---
--- "GENEALOGY, n. An account of one's descent from an ancestor who did not particularly care to trace his own." - Ambrose Bierce
--- "The trouble ain't what people don't know, it's what they know that ain't so." - Josh Billings
---Ô¿Ô---
K e V i N


#11 zhangrau

zhangrau

    Advanced Member

  • Members
  • PipPipPip
  • 1145 posts

Posted 01 September 2017 - 12:27 PM

I like kbens0n's approach.

 

I tried marking any fact - place - contains Ford County, Kansas

then unmarking

death - date - is before - 1942

AND - birth - date - is after- 1944

 

That didn't quite get it, because not all persons had a death date recorded, even if they did probably die before 1942.

 

I also got false positives on someone born before 1942 but not in Ford County until the 1970's.

 

This is a difficult (maybe impossible) search filter to achieve in RM.



#12 Renee Zamora

Renee Zamora

    Advanced Member

  • Support
  • PipPipPip
  • 7093 posts

Posted 01 September 2017 - 12:59 PM

I like kbens0n's approach too, but the problem is the UnMark of any fact that does not contain Ford, Kansas.  A person could be there in 1943, but have another fact outside of that area that now disqualifies them.

 

I wonder if addng color-coding to this would help.  Color-code using the filter any fact - contains - Ford, Kansas. Let's say green.

 

Then when you get to the UnMark part use the filter Color coding - is not Green

 

This will then leave everyone in the group those dates and in that place.


Renee
RootsMagic

#13 c24m48

c24m48

    Advanced Member

  • Members
  • PipPipPip
  • 2612 posts

Posted 01 September 2017 - 01:45 PM

 

I wonder if addng color-coding to this would help.  Color-code using the filter any fact - contains - Ford, Kansas. Let's say green.

 

 

That doesn't really solve the problem. Solving the problem will require either an RM enhancement or else running an SQLite script.

 

The fundamental problem is that RM does not support more than one search criterion to be directed at one particular fact. Until RM supports this functionality, some search problems like this cannot be solved in RM.

 

Jerry



#14 c24m48

c24m48

    Advanced Member

  • Members
  • PipPipPip
  • 2612 posts

Posted 01 September 2017 - 01:59 PM

Here is a quick and dirty SQLite script which will solve the problem. If a given person has multiple facts in the 1942 to 1944 range, the person will be listed multiple times. That can be fixed easily with a DISTINCT parameter in the script, but I wasn't sure exactly what you wanted. So it lists all the facts for all the years 1942, 1943, and 1944.

 

The script is a little tricky because of having to decode RM's date field. I'm sure the WHERE statement for multiple years could be improved, but Year is a constructed variable instead of being a database column and I didn't take the time to clean up the WHERE statement.

 

The script is also a little tricky because you probably want both individual facts and family facts. It's slightly trickier to get the family facts than individual facts, like if somebody was married in 1942. So I left family facts out for now. If you want family facts, I can add them but it would take a few minutes. 

 

I didn't list the names of the people. That would require a JOIN with yet another table which is quite easy. But I find the RIN is what I really use when I'm working with RM and SQLite. Just click on the Looking Glass icon from the RM tool bar and then click on the Record tab. The RIN is The Record Number in RM.

 

Jerry

SELECT PS.PersonID AS RIN,
       P.Name AS Place, 
       FT.Name AS Event,
       Substr(E.Date,4,4)  AS Year        
FROM EventTable AS E
        JOIN
     PlaceTable AS P ON E.PlaceID = P.PlaceID
        JOIN 
     FactTypeTable AS FT ON E.EventType = FT.FactTypeID
        JOIN
     PersonTable as PS ON  E.Ownerid = PS.PersonID
WHERE (Year LIKE(1942) OR Year LIKE(1943) OR Year LIKE(1944) )
        AND
      (P.Name LIKE ('%Ford%') AND P.Name LIKE ('%Kansas%') )
        AND 
      E.OwnerType = 0
ORDER BY RIN;