Thank you tones
Will take me a while to understand all that . but it works like a charm ,
and its even more than what i have asked for
thanks again:)
On Sunday, August 8, 2021 at 7:31:10 AM UTC+2 TW Tones wrote:
> Mohamad,
>
> I am happy to look at solving the problem presented but my suspicion
> remains that there may be a different way to put the question in the first
> place.
>
> Sometimes a question can be rephrased such that the answer is simpler to
> find.
>
> - In this we have multiple tiddlers, with multiple fields, with
> *values* that may be duplicated across these tiddlers/fields.
> - in effect you want to list all tiddlers using the select fields,
> list these for each tiddler then for each found value
> - detect when that value occurs in any other tiddler (not self?)
> or select fields, if it does highlight it.
> - I am not sure why you want to do this and can think of many ways to
> list/interpret the data!
> - What about triplicates?
> - What about duplicates in the same tiddler?
>
> I think using your test data this is what you wanted?
>
> <ul>
> <$list filter="[all[]has[field_example]]"><!-- each tiddler meeting
> condition -->
> <$set name=other-values
> filter="[all[]!<currentTiddler>get[field_example]]
> [all[]!title<currentTiddler>get[field_example2]]
> [all[]!title<currentTiddler>get[field_example3]] +[sort[]]"><!-- for this
> tiddler build a list of all values in the three fields except this tiddlers
> -->
> <li><<currentTiddler>>: |
> <$list filter="[all[current]get[field_example]]
> [all[current]get[field_example2]] [all[current]get[field_example3]]"
> variable=field-value><!-- for each example field get the value on the
> current tiddler-->
> <span style={{{ [enlist<other-values>match<field-value>then[color:
> red;]] }}}><<field-value>></span><!-- change the style to color red if any
> other-values match the current value -->
> </$list></li>
> </$set>
> </$list>
> </ul>
>
> It will also highlight triplicates...
>
> A slightly more efficient method is available that could actually could
> the number of repeats and color red if > 1
>
> <$set name=all-values filter="=[all[]get[field_example]]
> =[all[]get[field_example2]] =[all[]get[field_example3]]"><!-- get all
> values in all three fields using = so duplicates are not removed -->
> "<<all-values>>" {{{ [<all-values>split[ ]count[]] }}}
> <ul>
> <$list filter="[all[]has[field_example]]"><!-- each tiddler meeting given
> condition -->
> <li><<currentTiddler>>: |
> <$list filter="[all[current]get[field_example]]
> [all[current]get[field_example2]] [all[current]get[field_example3]]"
> variable=field-value><!-- for each example field get the value on the
> current tiddler-->
> <$set name=value-count filter="[<all-values>split[
> ]match<field-value>count[]]">
> <span style={{{ [<value-count>compare:number:gt[1]then[color:
> Red;]] }}} ><<field-value>> (<<value-count>>)</span><!-- change the style
> to color red if any other-values match the current value -->
> </$set>
> </$list></li>
> </$list>
> </ul>
> </$set>
>
> Of course in the above you can choose not to show the count of the same
> value delete "(<<value-count>>)"
>
> Regards
> Tones
>
> On Sunday, 8 August 2021 at 02:05:57 UTC+10 [email protected] wrote:
>
>> Hi Tones,
>>
>> sorry for the late reply , i wasn't clear at all in my last question
>> actually
>>
>> So for example ,if every tiddler has three fields , field_example ,
>> field_example2 and field_example3
>>
>> [image: Capture.PNG]
>>
>> and they are populated with values as such
>>
>> * tiddler 1* has in field_example "3" And in field_example2 "2"
>> And in field_example3 "6"
>> and
>> *tiddler 2 * has in field_example "4" And in field_example2 "9"
>> And in field_example3 "8"
>> and
>> *tiddler 3 *has in field_example "2" And in field_example2 "7"
>> And in field_example3 "5"
>> and
>> *tiddler 4 *has in field_example "1" And in field_example2 "2"
>> And in field_example3 "4"
>>
>>
>> as you can see, the number 2 is reoccurring in different fields in
>> different tiddlers , so when doing a list, can all these tiddlers which
>> has a 2 be highlighted
>>
>> [image: Capture2.PNG]
>>
>> even better can the transcluded values only be highlighted and not the
>> whole line
>> [image: Capture3.PNG]
>>
>> i have attached a sample file with with the test data i am working with
>>
>>
>> Thanks again for your help
>>
>>
>> On Monday, August 2, 2021 at 2:33:26 AM UTC+2 TW Tones wrote:
>>
>>> Mohamad,
>>>
>>> My solution above can be used to do this for multiple fields/criteria
>>> because it re-examines the whole list every time. This makes it logically
>>> very flexible but revisiting the whole list for every special field for
>>> each tiddler is not very high performance. There are other "algorithms you
>>> can deploy" if you describe the full problem, especially if you can share
>>> test data.
>>>
>>> The thing is, what you want to achieve could be addressed more
>>> efficiently with better knowledge of the input data(set), and ensuring that
>>> data is arranged appropriately. Over in the aforementioned github item
>>> https://github.com/Jermolene/TiddlyWiki5/discussions/5925 I think a
>>> solution may be a *report widget* designed for most reporting
>>> requirements ie beyond the list widget features. However even in this case
>>> you will need to give further thought on your input data and its structure.
>>>
>>> Mohamad - you could generate a list of tiddlers with duplicate *A*
>>> fields and another with a list of duplicate *B* fields then in the list
>>> test if each title exists in these lists.
>>>
>>> Regards
>>> Tones
>>> On Monday, 2 August 2021 at 09:23:23 UTC+10 [email protected]
>>> wrote:
>>>
>>>> Hi,
>>>>
>>>> is it possible to use the same code for multiple criteria, so highlight
>>>> in red all occurrences of duplicates in field A and also field B within
>>>> the
>>>> same list of tiddlers?
>>>>
>>>> i guess my question is can a Get / then be used within the same filter
>>>> multiple times for multiple fields/criteria
>>>>
>>>> thanks
>>>>
>>>> On Sunday, August 1, 2021 at 6:17:44 PM UTC+2 PMario wrote:
>>>>
>>>>> Hi,
>>>>>
>>>>> Since Tony did present a workable solution, the issue was moved to the
>>>>> discussions section at github.
>>>>> https://github.com/Jermolene/TiddlyWiki5/discussions/5925
>>>>>
>>>>> I still think, that a <<duplicates>> macro may reduce the complexity
>>>>> of the solution.
>>>>>
>>>>> -mario
>>>>>
>>>>
--
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/e810429b-54ea-46d1-be9c-6760307f4130n%40googlegroups.com.