• Conditional === NOTES RECONN . ENTRY BREAK ===?

    By Scot Wolcott 1 decade ago

    Is there any way to specify a conditional "=== NOTES RECONN . ENTRY BREAK ==="?

    I am attempting to create multiple rows based on the number of elements in a multi-value field. For example:

    I have fields in a record: FieldA,FieldB, and MultiX

    I am attempting to create a row for each value in MultiX.

    Based on the @Elements in MultiX I would like to add the "=== NOTES RECONN . ENTRY BREAK ===" and the fields:

    FieldA

    FieldB

    MultiX[n]



    n number of times.



    Can I somehow use the XSL Join process to accomplish this?

    • A difficult one...

      By David Jeyachandran 1 decade ago

      Hi Scot,



      Sounds like you are doing some impressive reporting using Notes Reconn. This is a tough question. I can't see how this can be achieved without XSLT. I'll get Johnny to respond to this.



      Regards

      David

    • A possible solution

      By Johnny Jiang 1 decade ago

      Hi Scot,



      Yes, you are right, Join XSL process could do.



      I think there is another option might be helpful for you.


      1. Assume a possible maximum number for values in the multi-value field (10 in this sample).


      2. Set up fields as below (I just use pseudo @Formula here):

        FieldA

        FieldB

        If actualyNumberOfMultiFieldValues >= 1 then MultiX[0] else " DUPLICATE KEY "

        === NOTES RECONN . ENTRY BREAK ===

        FieldA

        FieldB

        If actualyNumberOfMultiFieldValues >= 2 then MultiX[1] else " DUPLICATE KEY "

        .

        .

        .

        === NOTES RECONN . ENTRY BREAK ===

        FieldA

        FieldB

        If actualyNumberOfMultiFieldValues >= 10 then MultiX[9] else " DUPLICATE KEY "


      3. Set up field titles as below:

        FieldA

        FieldB

        FieldC


      4. Use Counter Duplicate XSL process, and set the key to FieldC.


      5. After you run the profile, you might end up with a report like this (if maximum number is 3):

        FieldA, FieldB, FieldC

        FieldA value of document 1, FieldB value of document 1, MultiX value 0 of document 1

        FieldA value of document 1, FieldB value of document 1, DUPLICATE KEY

        FieldA value of document 1, FieldB value of document 1, DUPLICATE KEY

        FieldA value of document 2, FieldB value of document 2, MultiX value 0 of document 2

        FieldA value of document 2, FieldB value of document 2, MultiX value 1 of document 2

        FieldA value of document 2, FieldB value of document 2, DUPLICATE KEY



        so when Counter Duplicate XSL process is applied on FieldC,

        all DUPLICATE KEY will be removed, only the first DUPLICATE KEY left.



        then you can manually remove it if you want.



        Hope this makes sense, please feel free to let me know if you have any futher questions.



        Thanks and regards,

        Johnny
    • Another solution using Join XSL process

      By Johnny Jiang 1 decade ago

      Hi Scot,



      I also thought about using Join XSL process to accomplish this:


      1. You need to set up 2 separate profiles A and B, we assume the maximum number of values in MultiX is 3.



        Fields in profile A could be like this:

        @DocumentID + 1

        FieldA

        FieldB

        === NOTES RECONN . ENTRY BREAK ===

        @DocumentID + 2

        FieldA

        FieldB

        === NOTES RECONN . ENTRY BREAK ===

        @DocumentID + 3

        FieldA

        FieldB



        Field titles could be:

        Key

        FieldA Title

        FieldB Title



        Fields in profile B could be like this:

        If actualyNumberOfMultiFieldValues >= 1 then @DocumentID + 1 else "Key that never matches"

        If actualyNumberOfMultiFieldValues >= 1 then @DocumentID + 1 else ""

        === NOTES RECONN . ENTRY BREAK ===

        If actualyNumberOfMultiFieldValues >= 2 then @DocumentID + 2 else "Key that never matches"

        If actualyNumberOfMultiFieldValues >= 2 then @DocumentID + 2 else ""

        === NOTES RECONN . ENTRY BREAK ===

        If actualyNumberOfMultiFieldValues >= 3 then @DocumentID + 3 else "Key that never matches"

        If actualyNumberOfMultiFieldValues >= 3 then @DocumentID + 3 else ""



        Field titles could be:

        Key

        MultiX


      2. add Join XSL process, join by Key.


      3. Good luck.



        Kind regards,

        Johnny