Filtering by month in any year?

Started by DigPeter, March 19, 2021, 05:20:52 PM

Previous topic - Next topic

DigPeter

Is it possible to filter files taken in any year,  by month?  Specifically, I have very many photos of flowers which flower at various time of year.  I want filter all those taken in a particular month (say April) in any year (e.g. 2000 AND 2001 AND 2003 etc).

Mario

You can just go to the Timeline View and select the year(s) or month(s) you are interested in?
This shows you tall files from these years/months. The Timeline automatically groups your file by year, month and day.

In all other Views, you can use the Date Filter in the Filter Panel
-- Mario
IMatch Developer
Forum Administrator
http://www.photools.com  -  Contact & Support - Follow me on 𝕏 - Like photools.com on Facebook

jch2103

Quote from: Mario on March 19, 2021, 06:48:54 PM
You can just go to the Timeline View and select the year(s) or month(s) you are interested in?
This shows you tall files from these years/months. The Timeline automatically groups your file by year, month and day.

In all other Views, you can use the Date Filter in the Filter Panel

But this doesn't really accomplish what DigPeter wants, which is a simple way to find all photos of flowers in April in any year.

You can select multiple Aprils in the Timeline via Control-click. I don't think there's a way to select all April files (for multiple years) in the Date Filter. Can you use a regular expression to extract only '04' from a date/time tag?.
John

DigPeter

Quote from: jch2103 on March 19, 2021, 09:10:44 PM
But this doesn't really accomplish what DigPeter wants, which is a simple way to find all photos of flowers in April in any year.

You can select multiple Aprils in the Timeline via Control-click. I don't think there's a way to select all April files (for multiple years) in the Date Filter. Can you use a regular expression to extract only '04' from a date/time tag?.
Thanks.  Yes - I am looking for a quick method.  I will investigate along these line.   Not sure about regular expressions - I am tech illiterate!

loweskid

#4
Just use data-driven categories, using the variable  - {File.DateTime|format:MMM}

Use DDD if you want the day of the week or YYYY for the year

You can then also combine them in the category builder if you want to know how many pics you took on a Wednesday in April.. 8)

jch2103

That's simpler that what I proposed. And it keeps the list handy for future reference.
John

DigPeter

Thank loweskid - I will try that, but might have to ask for further help.

loweskid

Quote from: DigPeter on March 19, 2021, 11:05:53 PM
Thank loweskid - I will try that, but might have to ask for further help.

No problem, that's what we're here for.. :)

JohnZeman

I would also use data driven categories for something like this.

This is really simplified but as an example you could make the first level of your Data-Driven category sort by year.

Tag: Exif::Main\36867\DateTimeOriginal\0
Use Other: Yes
Other Name: !No Year
Use part of value: yes
Start and Length: 1,4

This results in the years being listed in chronological order like this.
1999
2000
2001
2002 (and so on)

My second level which sorts by month does so like this.

Tag: Exif::Main\36867\DateTimeOriginal\0
Use Other: Yes
Other Name: !No Month
Use part of value: yes
Start and Length: 6,2

Replace Mask: 01,01 January;02,02 February;03,03 March;04,04 April;05,05 May;06,06 June;07,07 July;08,08 August;09,09 September;10,10 October;11,11 November;12,12 December

This results in the month names being shown in chronological order like this.

01 January
02 February
03 March
04 April
05 May
06 June
07 July
08 August
09 September
10 October
11 November
12 December

Of course you may want to use a different date tag if it works better for you, the above one works great for me.


Mario

@John:
I recommend using XMP-based variables only. Not directly accessing the EXIF variables.
If you change date and time in IMatch, the XMP tags are updated immediately, but the EXIF tags only after write-back. This may cause confusion.
-- Mario
IMatch Developer
Forum Administrator
http://www.photools.com  -  Contact & Support - Follow me on 𝕏 - Like photools.com on Facebook

Mario

This thread has inspired me to add two new simple date filters for IMatch 2021:

1. Year and Month
Pick a year and one or more months to see all files from that year in these months (any scope of course)

2. Month
Pick one or more months and see all files taken in these months (any scope).

-- Mario
IMatch Developer
Forum Administrator
http://www.photools.com  -  Contact & Support - Follow me on 𝕏 - Like photools.com on Facebook

Aubrey

Hmmmm  :-\
Do I wait for 2021 or..
Do I set up the data driven suggestion?

I think the latter, simply to remind myself of how to set up data driven categories!

Aubrey.

DigPeter

Thank you everyone.  Plenty here to investigate.  I look forward to IM 2021  :)

Mario

Quote from: Aubrey on March 20, 2021, 11:07:21 AM
Hmmmm  :-\
Do I wait for 2021 or..
Do I set up the data driven suggestion?

I think the latter, simply to remind myself of how to set up data driven categories!

Aubrey.

Data-driven categories can solve such problems easily. A single level, based on the month name. Combines all files taken in that month in a category.
Note that variable-based data-driven categories can be a performance hog (for larger databases or slower computers). You might consider using a XMP tag instead and just use "Use part of value" to extract the month number.
-- Mario
IMatch Developer
Forum Administrator
http://www.photools.com  -  Contact & Support - Follow me on 𝕏 - Like photools.com on Facebook

Aubrey

OK I set up using variables (variable.jpg) and XMP tag, as suggested by Mario (xmpTag.jpg) files of screen dump of the setup are attached for April.

The XMP tag method is incredibly fast the variable method quite slow in comparison.

I got slightly different number of files selected from within my database for month of April: variables(6917) and xmpTag(6151)

Not sure what the reason for the difference is - I expect slightly different population of the various tags and variables over some 12 years: as I only did this as an exercise I'm not really interested in digging out why I have the difference (life's too short).

Aubrey.


Aubrey

For all months... very very fast.

Mario

File.DateTime is not DateTimeOriginal but subject created (depending on the data available for each individual file).
See How IMatch uses Date and Time Information
-- Mario
IMatch Developer
Forum Administrator
http://www.photools.com  -  Contact & Support - Follow me on 𝕏 - Like photools.com on Facebook

DigPeter

@Aubrey
I have tried your method, but the result is not what I am looking for.  Please see attached screen grab. Filter pattern is '04' .  A separate result is produced for each time/date containing 04, whether it is a month (April), or a day.  I want only to see one result for the month of April (04).   

Mario

You did not enable the "Use part of value" option. Please check my screen shots again.
-- Mario
IMatch Developer
Forum Administrator
http://www.photools.com  -  Contact & Support - Follow me on 𝕏 - Like photools.com on Facebook

Aubrey

#19
As Mario stated you need to select "part of". Took me a few minutes to catch this, when I built the filter!

The string starts at 6th charctacter and then uses 2 characters, ie 6and 7th characters.smilar to substr in Javascript, using index of 1 rather than 0.

Following Mario's suggestion I read up on dates in the help file I changed the tag to:
Exif::Main\36867\DateTimeOriginal

I had some issues typing it in so I did a lookup for date tag, found the correct one and clicked on it.

You are probably aware you can set it up to only find certain file types, say you only want NEFs...

I've also implemented a search for a particular date for all years, nice for birthdays anniversaries (though these have already been keyworded)
Select string  6,5 then you get mm:dd
Then in filter select say 04:03 to get all files dated April 3rd.  for all years.

Aubrey

PaulS

Quote from: Aubrey on March 21, 2021, 09:42:06 PM
I've also implemented a search for a particular date for all years, nice for birthdays anniversaries (though these have already been keyworded)
Select string  6,5 then you get mm:dd
Then in filter select say 04:03 to get all files dated April 3rd.  for all years.

Aubrey

Another alternative is to enable Level 2 with the same settings as the first except use 9,2.  Then you will get only the months at the first level and can expand to get the days in the month at the second level.

DigPeter

Thanks everyone - it is now working as required

Aubrey

Whew.!   ;) Glad it's working; and many of us learned something on the way.
A concerted effort by all.
What a great forum we have here.  ;D

I expect any other DAM would require outlay of thousands of $s to have similar features (if even available).

Is there anything IMatch can't do? There always seems to be a solution.

Aubrey

Mario

Data-driven categories are an often overlooked power tool for automatically organizing, clustering and grouping of files by virtually every piece of metadata or attribute data available in IMatch.

The problem is to make it known to users.
There are related topics in the Did You Know app. Links all over the IMatch Help System, tutorial videos etc.

In my experience, users only learn as much about IMatch as they absolutely need for their current situation / task.
And so they often miss more advanced features which could help them solve things quicker or do more with less work.

When I show somebody what can be done with data-driven categories, they are usually surprised. Or how @Keywords makes it so easy to re-organize keywords in files on a database-wide level, how to correct spelling in keywords, change or add person name keywords after marriage etc. Many users never even look at the IMatch help system until they really see no other way  :)

No easy way to solve this. If you know one, let me know. I'm all ears.
-- Mario
IMatch Developer
Forum Administrator
http://www.photools.com  -  Contact & Support - Follow me on 𝕏 - Like photools.com on Facebook