<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Transforming Flat File with multiple rows for 1 record to Flat File with mutliple columns in Talend Studio</title>
    <link>https://community.qlik.com/t5/Talend-Studio/Transforming-Flat-File-with-multiple-rows-for-1-record-to-Flat/m-p/2217903#M13314</link>
    <description>&lt;P&gt;Hi everybody,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I usually manage to do what I want with Talend Data Integration, but not that time...&lt;/P&gt;&lt;P&gt;I have a flat file extracted from a SAP Portal that gives me the Java roles associated with their "actions", their users, and their groups.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The file is quite simple.&lt;/P&gt;&lt;P&gt;It is structured that way :&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;[role]&lt;/P&gt;&lt;P&gt;rid=&amp;lt;ID of the Java role&amp;gt;&lt;/P&gt;&lt;P&gt;rdesc=&amp;lt;description of the role&amp;gt;&lt;/P&gt;&lt;P&gt;action=&amp;lt;portal actions possible when the user has this role, delimited with ;&amp;gt;&lt;/P&gt;&lt;P&gt;user=&amp;lt;users affected to this role, delimited with ;&amp;gt;&lt;/P&gt;&lt;P&gt;group=&amp;lt;group of users affected to this role, delimited with ;&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;...and you have that structure for each Java role of the SAP Portal...&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The relationship is :&lt;/P&gt;&lt;P&gt;rid - rdesc : 1-1&lt;/P&gt;&lt;P&gt;rid - action : 1-n&lt;/P&gt;&lt;P&gt;rid - user : 1-n&lt;/P&gt;&lt;P&gt;rid - group : 1-n&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I would like to transform my file into 2 column files, structured that way :&lt;/P&gt;&lt;P&gt;rid | rdesc | user&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;...and another one with the group :&lt;/P&gt;&lt;P&gt;rid | rdesc | group&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;As an example I give you an input file :&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;[role]&lt;BR /&gt;rid=portal_content/mybeautifullrole1&lt;BR /&gt;rdesc=My beautifull role 1&lt;BR /&gt;action=ACTN.AUTH_DS.un:N$sap.com/com.sap.security.core.ume.service$Manage_My_Profile&lt;/P&gt;&lt;P&gt;group=ZROLE1;ZROLE2&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;[role]&lt;BR /&gt;rid=portal_content/mybeautifullrole2&lt;BR /&gt;rdesc=My beautifull role 2&lt;BR /&gt;user=TOTO;TATA;TITI&lt;/P&gt;&lt;P&gt;group=ZROLE1&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;[role]&lt;BR /&gt;rid=portal_content/mybeautifullrole3&lt;BR /&gt;rdesc=My beautifull role 3&lt;BR /&gt;user=TATA;TITI&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;...and the result should be :&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;File for the users :&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;portal_content/mybeautifullrole2 | My beautifull role 2 | TOTO&lt;/P&gt;&lt;P&gt;portal_content/mybeautifullrole2 | My beautifull role 2 | TATA&lt;/P&gt;&lt;P&gt;portal_content/mybeautifullrole2 | My beautifull role 2 | TITI&lt;/P&gt;&lt;P&gt;portal_content/mybeautifullrole3 | My beautifull role 3 | TATA&lt;/P&gt;&lt;P&gt;portal_content/mybeautifullrole3 | My beautifull role 3 | TITI&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;File for the groups :&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;portal_content/mybeautifullrole1 | My beautifull role 1 | ZROLE1&lt;/P&gt;&lt;P&gt;portal_content/mybeautifullrole1 | My beautifull role 1 | ZROLE2&lt;/P&gt;&lt;P&gt;portal_content/mybeautifullrole2 | My beautifull role 2 | ZROLE1&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have tried to do it with tFileInputMSDelimited, tFileInputMSPositionnal, tDenormalize, ... without success.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Does anyone have an idea to do that sort of work ?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Regards.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Guillaume&lt;/P&gt;</description>
    <pubDate>Tue, 21 Apr 2020 15:19:32 GMT</pubDate>
    <dc:creator>Anonymous</dc:creator>
    <dc:date>2020-04-21T15:19:32Z</dc:date>
    <item>
      <title>Transforming Flat File with multiple rows for 1 record to Flat File with mutliple columns</title>
      <link>https://community.qlik.com/t5/Talend-Studio/Transforming-Flat-File-with-multiple-rows-for-1-record-to-Flat/m-p/2217903#M13314</link>
      <description>&lt;P&gt;Hi everybody,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I usually manage to do what I want with Talend Data Integration, but not that time...&lt;/P&gt;&lt;P&gt;I have a flat file extracted from a SAP Portal that gives me the Java roles associated with their "actions", their users, and their groups.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The file is quite simple.&lt;/P&gt;&lt;P&gt;It is structured that way :&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;[role]&lt;/P&gt;&lt;P&gt;rid=&amp;lt;ID of the Java role&amp;gt;&lt;/P&gt;&lt;P&gt;rdesc=&amp;lt;description of the role&amp;gt;&lt;/P&gt;&lt;P&gt;action=&amp;lt;portal actions possible when the user has this role, delimited with ;&amp;gt;&lt;/P&gt;&lt;P&gt;user=&amp;lt;users affected to this role, delimited with ;&amp;gt;&lt;/P&gt;&lt;P&gt;group=&amp;lt;group of users affected to this role, delimited with ;&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;...and you have that structure for each Java role of the SAP Portal...&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The relationship is :&lt;/P&gt;&lt;P&gt;rid - rdesc : 1-1&lt;/P&gt;&lt;P&gt;rid - action : 1-n&lt;/P&gt;&lt;P&gt;rid - user : 1-n&lt;/P&gt;&lt;P&gt;rid - group : 1-n&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I would like to transform my file into 2 column files, structured that way :&lt;/P&gt;&lt;P&gt;rid | rdesc | user&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;...and another one with the group :&lt;/P&gt;&lt;P&gt;rid | rdesc | group&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;As an example I give you an input file :&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;[role]&lt;BR /&gt;rid=portal_content/mybeautifullrole1&lt;BR /&gt;rdesc=My beautifull role 1&lt;BR /&gt;action=ACTN.AUTH_DS.un:N$sap.com/com.sap.security.core.ume.service$Manage_My_Profile&lt;/P&gt;&lt;P&gt;group=ZROLE1;ZROLE2&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;[role]&lt;BR /&gt;rid=portal_content/mybeautifullrole2&lt;BR /&gt;rdesc=My beautifull role 2&lt;BR /&gt;user=TOTO;TATA;TITI&lt;/P&gt;&lt;P&gt;group=ZROLE1&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;[role]&lt;BR /&gt;rid=portal_content/mybeautifullrole3&lt;BR /&gt;rdesc=My beautifull role 3&lt;BR /&gt;user=TATA;TITI&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;...and the result should be :&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;File for the users :&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;portal_content/mybeautifullrole2 | My beautifull role 2 | TOTO&lt;/P&gt;&lt;P&gt;portal_content/mybeautifullrole2 | My beautifull role 2 | TATA&lt;/P&gt;&lt;P&gt;portal_content/mybeautifullrole2 | My beautifull role 2 | TITI&lt;/P&gt;&lt;P&gt;portal_content/mybeautifullrole3 | My beautifull role 3 | TATA&lt;/P&gt;&lt;P&gt;portal_content/mybeautifullrole3 | My beautifull role 3 | TITI&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;File for the groups :&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;portal_content/mybeautifullrole1 | My beautifull role 1 | ZROLE1&lt;/P&gt;&lt;P&gt;portal_content/mybeautifullrole1 | My beautifull role 1 | ZROLE2&lt;/P&gt;&lt;P&gt;portal_content/mybeautifullrole2 | My beautifull role 2 | ZROLE1&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have tried to do it with tFileInputMSDelimited, tFileInputMSPositionnal, tDenormalize, ... without success.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Does anyone have an idea to do that sort of work ?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Regards.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Guillaume&lt;/P&gt;</description>
      <pubDate>Tue, 21 Apr 2020 15:19:32 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/Transforming-Flat-File-with-multiple-rows-for-1-record-to-Flat/m-p/2217903#M13314</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2020-04-21T15:19:32Z</dc:date>
    </item>
    <item>
      <title>Re: Transforming Flat File with multiple rows for 1 record to Flat File with mutliple columns</title>
      <link>https://community.qlik.com/t5/Talend-Studio/Transforming-Flat-File-with-multiple-rows-for-1-record-to-Flat/m-p/2217904#M13315</link>
      <description>&lt;P&gt;I finally succeed to do that quite simply.&lt;/P&gt; 
&lt;P&gt;You have to use the tFileInputMSPositionnal to do that :&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&lt;/P&gt; 
&lt;P&gt;&lt;SPAN class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="1.png" style="width: 911px;"&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="0683p000009M9y5.png"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/137051iDC997773E2502C8A/image-size/large?v=v2&amp;amp;px=999" role="button" title="0683p000009M9y5.png" alt="0683p000009M9y5.png" /&gt;&lt;/span&gt;&lt;/SPAN&gt;&lt;SPAN class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="2.png" style="width: 999px;"&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="0683p000009M9fb.png"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/150416i89CFB6187B13D87E/image-size/large?v=v2&amp;amp;px=999" role="button" title="0683p000009M9fb.png" alt="0683p000009M9fb.png" /&gt;&lt;/span&gt;&lt;/SPAN&gt;&lt;/P&gt; 
&lt;P&gt;The important functionnality is the parent line to establish the link with the ID !&lt;/P&gt; 
&lt;P&gt;&lt;EM&gt;The Head value is defined in relationship with the position "0-4" :&lt;/EM&gt;&lt;/P&gt; 
&lt;UL&gt; 
 &lt;LI&gt;&lt;EM&gt;rid= for rid=&lt;/EM&gt;&lt;/LI&gt; 
 &lt;LI&gt;&lt;EM&gt;rdes for rdesc=&lt;/EM&gt;&lt;/LI&gt; 
 &lt;LI&gt;&lt;EM&gt;acti for action=&lt;/EM&gt;&lt;/LI&gt; 
 &lt;LI&gt;&lt;EM&gt;user for user=&lt;/EM&gt;&lt;/LI&gt; 
 &lt;LI&gt;&lt;EM&gt;grou for group=&lt;/EM&gt;&lt;/LI&gt; 
&lt;/UL&gt; 
&lt;P&gt;&amp;nbsp;&lt;/P&gt; 
&lt;P&gt;Here are all the schemas :&lt;/P&gt; 
&lt;P&gt;&lt;SPAN class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="3.png" style="width: 535px;"&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="0683p000009M9tL.png"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/153247i5DF0FFFC34922830/image-size/large?v=v2&amp;amp;px=999" role="button" title="0683p000009M9tL.png" alt="0683p000009M9tL.png" /&gt;&lt;/span&gt;&lt;/SPAN&gt;&lt;/P&gt; 
&lt;P&gt;...and the corresponding model is&amp;nbsp;"4,9999" (4 for "rid=").&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&lt;/P&gt; 
&lt;P&gt;&lt;SPAN class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="4.png" style="width: 534px;"&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="0683p000009M9x1.png"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/130240i6DDACBF1469275E0/image-size/large?v=v2&amp;amp;px=999" role="button" title="0683p000009M9x1.png" alt="0683p000009M9x1.png" /&gt;&lt;/span&gt;&lt;/SPAN&gt;&lt;/P&gt; 
&lt;P&gt;&lt;EM&gt;You have to add a "rid" field that will be filled by the parent line.&lt;/EM&gt;&lt;/P&gt; 
&lt;P&gt;&lt;EM&gt;...and the corresponding model is&amp;nbsp;"6,9999,9999" (6 for "rdesc=").&lt;/EM&gt;&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&lt;/P&gt; 
&lt;P&gt;&lt;SPAN class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="5.png" style="width: 536px;"&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="0683p000009M9yD.png"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/148499i91FFA5BAE3F21A32/image-size/large?v=v2&amp;amp;px=999" role="button" title="0683p000009M9yD.png" alt="0683p000009M9yD.png" /&gt;&lt;/span&gt;&lt;/SPAN&gt;&lt;/P&gt; 
&lt;P&gt;&lt;EM&gt;You have to add a "rid" field that will be filled by the parent line.&lt;/EM&gt;&lt;/P&gt; 
&lt;P&gt;&lt;EM&gt;...and the corresponding model is&amp;nbsp;"7,9999,9999" (7 for "action=").&lt;/EM&gt;&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&lt;/P&gt; 
&lt;P&gt;&lt;SPAN class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="6.png" style="width: 536px;"&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="0683p000009MA7E.png"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/158278i8FE1C2DFECECC1D2/image-size/large?v=v2&amp;amp;px=999" role="button" title="0683p000009MA7E.png" alt="0683p000009MA7E.png" /&gt;&lt;/span&gt;&lt;/SPAN&gt;&lt;/P&gt; 
&lt;P&gt;&lt;EM&gt;You have to add a "rid" field that will be filled by the parent line.&lt;/EM&gt;&lt;/P&gt; 
&lt;P&gt;&lt;EM&gt;...and the corresponding model is&amp;nbsp;"5,9999,9999" (7 for "user=").&lt;/EM&gt;&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&lt;/P&gt; 
&lt;P&gt;&lt;SPAN class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="7.png" style="width: 535px;"&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="0683p000009MA2Q.png"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/145718i547B7F034A6E2198/image-size/large?v=v2&amp;amp;px=999" role="button" title="0683p000009MA2Q.png" alt="0683p000009MA2Q.png" /&gt;&lt;/span&gt;&lt;/SPAN&gt;&lt;/P&gt; 
&lt;P&gt;&lt;EM&gt;You have to add a "rid" field that will be filled by the parent line.&lt;/EM&gt;&lt;/P&gt; 
&lt;P&gt;&lt;EM&gt;...and the corresponding model is&amp;nbsp;"6,9999,9999" (6 for "group=").&lt;/EM&gt;&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&lt;/P&gt; 
&lt;P&gt;&lt;EM&gt;I obtain 5 files with the key "rid" and all the relationships I need : rdesc, action, user and group :&lt;/EM&gt;&lt;/P&gt; 
&lt;P&gt;&lt;SPAN class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="8.png" style="width: 904px;"&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="0683p000009M9oJ.png"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/133652i067A6A373DEC4E1F/image-size/large?v=v2&amp;amp;px=999" role="button" title="0683p000009M9oJ.png" alt="0683p000009M9oJ.png" /&gt;&lt;/span&gt;&lt;/SPAN&gt;&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&lt;/P&gt; 
&lt;P&gt;I hope I have been clear enough.&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&lt;/P&gt; 
&lt;P&gt;Regards.&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&lt;/P&gt; 
&lt;P&gt;Guillaume&lt;/P&gt;</description>
      <pubDate>Wed, 22 Apr 2020 11:04:26 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/Transforming-Flat-File-with-multiple-rows-for-1-record-to-Flat/m-p/2217904#M13315</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2020-04-22T11:04:26Z</dc:date>
    </item>
  </channel>
</rss>

