<?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 String Functions to Split Field into Multiple Fields in App Development</title>
    <link>https://community.qlik.com/t5/App-Development/String-Functions-to-Split-Field-into-Multiple-Fields/m-p/2047034#M86121</link>
    <description>&lt;P&gt;I have Chess Notation which I get via and api call, this is then loaded into a qlik app, I then have a field called game moves , I would like to split this out to this format&lt;/P&gt;
&lt;P&gt;MoveNumber, WhiteMove, BlackMove&lt;/P&gt;
&lt;P&gt;1, a3,e6&lt;/P&gt;
&lt;P&gt;2,h3,d5&lt;/P&gt;
&lt;P&gt;......&lt;/P&gt;
&lt;P&gt;Here is the notation for one record&amp;nbsp;&lt;/P&gt;
&lt;P&gt;1. a3 {[%clk 0:00:29.1]} 1... e6 {[%clk 0:00:29.6]} 2. h3 {[%clk 0:00:28.9]} 2... d5 {[%clk 0:00:29.2]} 3. f4 {[%clk 0:00:28.5]} 3... Nf6 {[%clk 0:00:28.2]} 4. Nf3 {[%clk 0:00:28.2]} 4... Qd6 {[%clk 0:00:26.6]} 5. d4 {[%clk 0:00:27]} 5... Ne4 {[%clk 0:00:25.5]} 6. Nc3 {[%clk 0:00:25.1]} 6... Ng3 {[%clk 0:00:24.4]} 7. Rg1 {[%clk 0:00:23.6]} 7... Nxf1 {[%clk 0:00:23.2]} 8. Kxf1 {[%clk 0:00:22.4]} 8... c5 {[%clk 0:00:22.7]} 9. dxc5 {[%clk 0:00:20.9]} 9... Qxc5 {[%clk 0:00:22.3]} 10. e4 {[%clk 0:00:19.6]} 10... dxe4 {[%clk 0:00:21.1]} 11. Nxe4 {[%clk 0:00:18.6]} 11... Qb6 {[%clk 0:00:19.6]} 12. Nfd2 {[%clk 0:00:15.3]} 12... Bc5 {[%clk 0:00:17.6]} 13. Nc4 {[%clk 0:00:14.3]} 13... Bxg1 {[%clk 0:00:16.4]} 14. Nxb6 {[%clk 0:00:12.5]} 14... Bxb6 {[%clk 0:00:15.8]} 15. Bd2 {[%clk 0:00:11]} 15... Bd7 {[%clk 0:00:15.2]} 16. Bb4 {[%clk 0:00:10.7]} 16... Nc6 {[%clk 0:00:14.2]} 17. Nd6+ {[%clk 0:00:09.8]} 17... Kd8 {[%clk 0:00:12.7]} 18. Nxb7+ {[%clk 0:00:08.6]} 18... Kc7 {[%clk 0:00:11.6]} 19. Nd6 {[%clk 0:00:08.4]} 19... Rhd8 {[%clk 0:00:10.3]} 20. Nb5+ {[%clk 0:00:07.7]} 20... Kb7 {[%clk 0:00:09]} 21. Qd6 {[%clk 0:00:06.5]} 21... a6 {[%clk 0:00:07.9]} 22. Qc7+ {[%clk 0:00:05.2]} 22... Bxc7 {[%clk 0:00:06.5]} 23. Nxc7 {[%clk 0:00:03.5]} 23... Kxc7 {[%clk 0:00:06]} 24. Ba5+ {[%clk 0:00:02.8]} 24... Nxa5 {[%clk 0:00:04.7]} 25. b4 {[%clk 0:00:01.4]} 25... Rab8 {[%clk 0:00:04]} 26. Rd1 {[%clk 0:00:01.1]} 26... Nc4 {[%clk 0:00:02.8]} 27. Rc1 {[%clk 0:00:00.7]} 27... Bc6 {[%clk 0:00:02.5]} 28. c3 {[%clk 0:00:00.3]} 28... Rd1+ {[%clk 0:00:01.9]} 0-1&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="ChessNotation.PNG" style="width: 629px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/102318iB23D6A83901530B2/image-size/large?v=v2&amp;amp;px=999" role="button" title="ChessNotation.PNG" alt="ChessNotation.PNG" /&gt;&lt;/span&gt;&lt;/P&gt;</description>
    <pubDate>Wed, 08 Mar 2023 19:35:43 GMT</pubDate>
    <dc:creator>shaunsomai</dc:creator>
    <dc:date>2023-03-08T19:35:43Z</dc:date>
    <item>
      <title>String Functions to Split Field into Multiple Fields</title>
      <link>https://community.qlik.com/t5/App-Development/String-Functions-to-Split-Field-into-Multiple-Fields/m-p/2047034#M86121</link>
      <description>&lt;P&gt;I have Chess Notation which I get via and api call, this is then loaded into a qlik app, I then have a field called game moves , I would like to split this out to this format&lt;/P&gt;
&lt;P&gt;MoveNumber, WhiteMove, BlackMove&lt;/P&gt;
&lt;P&gt;1, a3,e6&lt;/P&gt;
&lt;P&gt;2,h3,d5&lt;/P&gt;
&lt;P&gt;......&lt;/P&gt;
&lt;P&gt;Here is the notation for one record&amp;nbsp;&lt;/P&gt;
&lt;P&gt;1. a3 {[%clk 0:00:29.1]} 1... e6 {[%clk 0:00:29.6]} 2. h3 {[%clk 0:00:28.9]} 2... d5 {[%clk 0:00:29.2]} 3. f4 {[%clk 0:00:28.5]} 3... Nf6 {[%clk 0:00:28.2]} 4. Nf3 {[%clk 0:00:28.2]} 4... Qd6 {[%clk 0:00:26.6]} 5. d4 {[%clk 0:00:27]} 5... Ne4 {[%clk 0:00:25.5]} 6. Nc3 {[%clk 0:00:25.1]} 6... Ng3 {[%clk 0:00:24.4]} 7. Rg1 {[%clk 0:00:23.6]} 7... Nxf1 {[%clk 0:00:23.2]} 8. Kxf1 {[%clk 0:00:22.4]} 8... c5 {[%clk 0:00:22.7]} 9. dxc5 {[%clk 0:00:20.9]} 9... Qxc5 {[%clk 0:00:22.3]} 10. e4 {[%clk 0:00:19.6]} 10... dxe4 {[%clk 0:00:21.1]} 11. Nxe4 {[%clk 0:00:18.6]} 11... Qb6 {[%clk 0:00:19.6]} 12. Nfd2 {[%clk 0:00:15.3]} 12... Bc5 {[%clk 0:00:17.6]} 13. Nc4 {[%clk 0:00:14.3]} 13... Bxg1 {[%clk 0:00:16.4]} 14. Nxb6 {[%clk 0:00:12.5]} 14... Bxb6 {[%clk 0:00:15.8]} 15. Bd2 {[%clk 0:00:11]} 15... Bd7 {[%clk 0:00:15.2]} 16. Bb4 {[%clk 0:00:10.7]} 16... Nc6 {[%clk 0:00:14.2]} 17. Nd6+ {[%clk 0:00:09.8]} 17... Kd8 {[%clk 0:00:12.7]} 18. Nxb7+ {[%clk 0:00:08.6]} 18... Kc7 {[%clk 0:00:11.6]} 19. Nd6 {[%clk 0:00:08.4]} 19... Rhd8 {[%clk 0:00:10.3]} 20. Nb5+ {[%clk 0:00:07.7]} 20... Kb7 {[%clk 0:00:09]} 21. Qd6 {[%clk 0:00:06.5]} 21... a6 {[%clk 0:00:07.9]} 22. Qc7+ {[%clk 0:00:05.2]} 22... Bxc7 {[%clk 0:00:06.5]} 23. Nxc7 {[%clk 0:00:03.5]} 23... Kxc7 {[%clk 0:00:06]} 24. Ba5+ {[%clk 0:00:02.8]} 24... Nxa5 {[%clk 0:00:04.7]} 25. b4 {[%clk 0:00:01.4]} 25... Rab8 {[%clk 0:00:04]} 26. Rd1 {[%clk 0:00:01.1]} 26... Nc4 {[%clk 0:00:02.8]} 27. Rc1 {[%clk 0:00:00.7]} 27... Bc6 {[%clk 0:00:02.5]} 28. c3 {[%clk 0:00:00.3]} 28... Rd1+ {[%clk 0:00:01.9]} 0-1&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="ChessNotation.PNG" style="width: 629px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/102318iB23D6A83901530B2/image-size/large?v=v2&amp;amp;px=999" role="button" title="ChessNotation.PNG" alt="ChessNotation.PNG" /&gt;&lt;/span&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 08 Mar 2023 19:35:43 GMT</pubDate>
      <guid>https://community.qlik.com/t5/App-Development/String-Functions-to-Split-Field-into-Multiple-Fields/m-p/2047034#M86121</guid>
      <dc:creator>shaunsomai</dc:creator>
      <dc:date>2023-03-08T19:35:43Z</dc:date>
    </item>
    <item>
      <title>Re: String Functions to Split Field into Multiple Fields</title>
      <link>https://community.qlik.com/t5/App-Development/String-Functions-to-Split-Field-into-Multiple-Fields/m-p/2047066#M86122</link>
      <description>&lt;P&gt;maybe something along the lines of:&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="MarcoWedel_0-1678311962946.png" style="width: 999px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/102326iE1A35D35A4D3EEF1/image-size/large?v=v2&amp;amp;px=999" role="button" title="MarcoWedel_0-1678311962946.png" alt="MarcoWedel_0-1678311962946.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;LI-CODE lang="markup"&gt;mapSplitMoves:
Mapping
LOAD ' '&amp;amp;RecNo()&amp;amp;'. ',
     ' &amp;lt;Next_Move&amp;gt;'&amp;amp;RecNo()&amp;amp;'. '
AutoGenerate 10000;

tabGames:
LOAD RecNo() as GameID,
     GameMoves  
Inline "
GameMoves
1. a3 {[%clk 0:00:29.1]} 1... e6 {[%clk 0:00:29.6]} 2. h3 {[%clk 0:00:28.9]} 2... d5 {[%clk 0:00:29.2]} 3. f4 {[%clk 0:00:28.5]} 3... Nf6 {[%clk 0:00:28.2]} 4. Nf3 {[%clk 0:00:28.2]} 4... Qd6 {[%clk 0:00:26.6]} 5. d4 {[%clk 0:00:27]} 5... Ne4 {[%clk 0:00:25.5]} 6. Nc3 {[%clk 0:00:25.1]} 6... Ng3 {[%clk 0:00:24.4]} 7. Rg1 {[%clk 0:00:23.6]} 7... Nxf1 {[%clk 0:00:23.2]} 8. Kxf1 {[%clk 0:00:22.4]} 8... c5 {[%clk 0:00:22.7]} 9. dxc5 {[%clk 0:00:20.9]} 9... Qxc5 {[%clk 0:00:22.3]} 10. e4 {[%clk 0:00:19.6]} 10... dxe4 {[%clk 0:00:21.1]} 11. Nxe4 {[%clk 0:00:18.6]} 11... Qb6 {[%clk 0:00:19.6]} 12. Nfd2 {[%clk 0:00:15.3]} 12... Bc5 {[%clk 0:00:17.6]} 13. Nc4 {[%clk 0:00:14.3]} 13... Bxg1 {[%clk 0:00:16.4]} 14. Nxb6 {[%clk 0:00:12.5]} 14... Bxb6 {[%clk 0:00:15.8]} 15. Bd2 {[%clk 0:00:11]} 15... Bd7 {[%clk 0:00:15.2]} 16. Bb4 {[%clk 0:00:10.7]} 16... Nc6 {[%clk 0:00:14.2]} 17. Nd6+ {[%clk 0:00:09.8]} 17... Kd8 {[%clk 0:00:12.7]} 18. Nxb7+ {[%clk 0:00:08.6]} 18... Kc7 {[%clk 0:00:11.6]} 19. Nd6 {[%clk 0:00:08.4]} 19... Rhd8 {[%clk 0:00:10.3]} 20. Nb5+ {[%clk 0:00:07.7]} 20... Kb7 {[%clk 0:00:09]} 21. Qd6 {[%clk 0:00:06.5]} 21... a6 {[%clk 0:00:07.9]} 22. Qc7+ {[%clk 0:00:05.2]} 22... Bxc7 {[%clk 0:00:06.5]} 23. Nxc7 {[%clk 0:00:03.5]} 23... Kxc7 {[%clk 0:00:06]} 24. Ba5+ {[%clk 0:00:02.8]} 24... Nxa5 {[%clk 0:00:04.7]} 25. b4 {[%clk 0:00:01.4]} 25... Rab8 {[%clk 0:00:04]} 26. Rd1 {[%clk 0:00:01.1]} 26... Nc4 {[%clk 0:00:02.8]} 27. Rc1 {[%clk 0:00:00.7]} 27... Bc6 {[%clk 0:00:02.5]} 28. c3 {[%clk 0:00:00.3]} 28... Rd1+ {[%clk 0:00:01.9]} 0-1
1. e4 {[%clk 1:30:56]} 1... c5 {[%clk 1:30:55]} 2. c3 {[%clk 1:31:19]} 2... Nf6 {[%clk 1:31:16]} 3. e5 {[%clk 1:31:42]} 3... Nd5 {[%clk 1:31:43]}
1. e4 {[%clk 1:30:11]} 1... e6 {[%clk 1:30:51]} 2. d4 {[%clk 1:30:23]} 2... d5 {[%clk 1:31:16]} 3. Nc3 {[%clk 1:30:37]} 3... dxe4 {[%clk 1:30:19]}
";

tabGameMoves:
LOAD *,
     SubField(Move,'.',1) as MoveNumber,
     TextBetween(Move,'. ',' {',1) as WhiteMove,
     TextBetween(Move,'... ',' {',1) as BlackMove;
LOAD GameID,
     SubField(MapSubString('mapSplitMoves',GameMoves),'&amp;lt;Next_Move&amp;gt;') as Move
Resident tabGames;&lt;/LI-CODE&gt;</description>
      <pubDate>Wed, 08 Mar 2023 21:47:41 GMT</pubDate>
      <guid>https://community.qlik.com/t5/App-Development/String-Functions-to-Split-Field-into-Multiple-Fields/m-p/2047066#M86122</guid>
      <dc:creator>MarcoWedel</dc:creator>
      <dc:date>2023-03-08T21:47:41Z</dc:date>
    </item>
  </channel>
</rss>

