Here's some sample filter logic for each of the conditions you want:

On Thursday, December 10, 2020 at 8:52:42 PM UTC-8 Harry wrote:

> I want to filter all entries born before 1948 (in the birth_year field) 
> who has not died or been purged (in the c_status field), and assign them 
> value "retired".
>

*birth_date < 1948 and not c_status=dead and not c_status=purged*
<$button> assign retired
<$list filter="[has[birth_year]]">
   <$list 
filter="[<currentTiddler>get[birth_year]compare:integer:lt[1948]then<currentTiddler>!c_status[dead]!c_status[purged]]">
      <$action-setfield c_status="retired" />
   </$list>
</$list>
</$button>

I would also appreciate general guidance on filtering field value of a 
> certain numeric range (say greater than 1952, or between 1936 and 1978)
>

*birth_date > 1952*
<$list filter="[has[birth_year]]">
   <$list 
filter="[<currentTiddler>get[birth_year]compare:integer:gt[1952]then<currentTiddler>]">
      <<currentTiddler>><br>
   </$list>
</$list>

*birth_date between 1936 and 1978 (inclusive)*
<$list filter="[has[birth_year]]">
   <$list 
filter="[<currentTiddler>get[birth_year]compare:integer:gteq[1936]compare:integer:lteq[1978]then<currentTiddler>]">
      <<currentTiddler>><br>
   </$list>
</$list>
 

> or value of a particular vector (say contains either 
> 1,3,8,16,33,47,287,1345,9999 etc, 
>

*somefield contains any of 1,3,8,16,33,47,287,1345,9999*
<$list filter="[has[somefield]]">
   <$list filter="[enlist[1 3 8 16 33 47 287 1345 
9999]match{!!somefield}then<currentTiddler>]">
      <<currentTiddler>><br>
   </$list>
</$list>

enjoy,
-e

-- 
You received this message because you are subscribed to the Google Groups 
"TiddlyWiki" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tiddlywiki/ceb8ca50-9ca2-4024-adaa-3d028cc8d0f6n%40googlegroups.com.

Reply via email to