<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://community.appian.com/cfs-file/__key/system/syndication/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>parsing a date array</title><link>https://community.appian.com/discussions/f/general/13617/parsing-a-date-array</link><description>I have an array that contains a number of dates. I want to provide a month i.e 11 and have Appian return the date for the next month. 
 i.e 
 List of Timestamp: 12 items 24/04/2018 12:00 BST 29/05/2018 12:00 BST 26/06/2018 12:00 BST 24/07/2018 12:00 BST</description><dc:language>en-US</dc:language><generator>Telligent Community 12</generator><item><title>RE: parsing a date array</title><link>https://community.appian.com/thread/61861?ContentTypeID=1</link><pubDate>Tue, 23 Oct 2018 22:09:32 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:7c765d01-1119-490d-b213-d3016eff80e0</guid><dc:creator>Soumya Banerjee</dc:creator><description>You may try the following expression rule - &lt;br /&gt;
&lt;br /&gt;
Use: itemIndex as a rule input (integer)&lt;br /&gt;
&lt;br /&gt;
= load(&lt;br /&gt;
  local!allDates: {&lt;br /&gt;
    &amp;quot;24/04/2018 12:00 BST&amp;quot;,&lt;br /&gt;
    &amp;quot;29/05/2018 12:00 BST&amp;quot;,&lt;br /&gt;
    &amp;quot;26/06/2018 12:00 BST&amp;quot;,&lt;br /&gt;
    &amp;quot;24/07/2018 12:00 BST&amp;quot;,&lt;br /&gt;
    &amp;quot;21/08/2018 12:00 BST&amp;quot;,&lt;br /&gt;
    &amp;quot;18/09/2018 12:00 BST&amp;quot;,&lt;br /&gt;
    &amp;quot;16/10/2018 12:00 BST&amp;quot;,&lt;br /&gt;
    &amp;quot;13/11/2018 12:00 GMT&amp;quot;,&lt;br /&gt;
    &amp;quot;11/12/2018 12:00 GMT&amp;quot;,&lt;br /&gt;
    &amp;quot;29/01/2019 12:00 GMT&amp;quot;,&lt;br /&gt;
    &amp;quot;26/02/2019 12:00 GMT&amp;quot;,&lt;br /&gt;
    &amp;quot;26/03/2019 12:00 GMT&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  local!appianDates: a!forEach(&lt;br /&gt;
    items: local!allDates,&lt;br /&gt;
    expression: todate(&lt;br /&gt;
      split(&lt;br /&gt;
        fv!item,&lt;br /&gt;
        &amp;quot;/&amp;quot;&lt;br /&gt;
      )[2] &amp;amp; &amp;quot;/&amp;quot; &amp;amp; split(&lt;br /&gt;
        fv!item,&lt;br /&gt;
        &amp;quot;/&amp;quot;&lt;br /&gt;
      )[2] &amp;amp; &amp;quot;/&amp;quot; &amp;amp; split(&lt;br /&gt;
        fv!item,&lt;br /&gt;
        &amp;quot;/&amp;quot;&lt;br /&gt;
      )[3]&lt;br /&gt;
    )&lt;br /&gt;
  ),&lt;br /&gt;
  local!searchIndex: if(&lt;br /&gt;
    or(&lt;br /&gt;
      rule!APN_isBlank(&lt;br /&gt;
        ri!itemIndex&lt;br /&gt;
      ),&lt;br /&gt;
      ri!itemIndex &amp;lt;= 0,&lt;br /&gt;
      ri!itemIndex &amp;gt;= max(&lt;br /&gt;
        month(&lt;br /&gt;
          local!appianDates&lt;br /&gt;
        )&lt;br /&gt;
      )&lt;br /&gt;
    ),&lt;br /&gt;
    1,&lt;br /&gt;
    wherecontains(&lt;br /&gt;
      ri!itemIndex + 1,&lt;br /&gt;
      month(&lt;br /&gt;
        local!appianDates&lt;br /&gt;
      )&lt;br /&gt;
    )&lt;br /&gt;
  ),&lt;br /&gt;
  index(&lt;br /&gt;
    local!allDates,&lt;br /&gt;
    local!searchIndex,&lt;br /&gt;
    null&lt;br /&gt;
  )&lt;br /&gt;
)&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: parsing a date array</title><link>https://community.appian.com/thread/61831?ContentTypeID=1</link><pubDate>Tue, 23 Oct 2018 11:06:28 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:9db30352-b195-4b74-a150-52700fdf3ad1</guid><dc:creator>Vinay Kumar Rai</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;hope the below code help,&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;=load(   
    
    local!dates : {List to DateTime},
    
    local!findValue: 12,
    
    index(
      local!dates,
      wherecontains(
        if(
          local!findValue = 12,
           1,
           local!findValue + 1
         ),
        month(local!dates)
      ),
      null
    )
    
)&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Thanks&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: parsing a date array</title><link>https://community.appian.com/thread/61830?ContentTypeID=1</link><pubDate>Tue, 23 Oct 2018 11:00:51 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:3c027152-e400-4b0f-b2c3-61c5de6fcf27</guid><dc:creator>bryant.st39</dc:creator><description>Try this&lt;br /&gt;
&lt;br /&gt;
load(&lt;br /&gt;
  local!findMonth: 3,&lt;br /&gt;
  local!dates: {&lt;br /&gt;
    &amp;quot;24/04/2018 12:00 BST&amp;quot;,&lt;br /&gt;
    &amp;quot;29/05/2018 12:00 BST&amp;quot;,&lt;br /&gt;
    &amp;quot;26/06/2018 12:00 BST&amp;quot;,&lt;br /&gt;
    &amp;quot;24/07/2018 12:00 BST&amp;quot;,&lt;br /&gt;
    &amp;quot;21/08/2018 12:00 BST&amp;quot;,&lt;br /&gt;
    &amp;quot;18/09/2018 12:00 BST&amp;quot;,&lt;br /&gt;
    &amp;quot;16/10/2018 12:00 BST&amp;quot;,&lt;br /&gt;
    &amp;quot;13/11/2018 12:00 GMT&amp;quot;,&lt;br /&gt;
    &amp;quot;11/12/2018 12:00 GMT&amp;quot;,&lt;br /&gt;
    &amp;quot;29/01/2019 12:00 GMT&amp;quot;,&lt;br /&gt;
    &amp;quot;26/02/2019 12:00 GMT&amp;quot;,&lt;br /&gt;
    &amp;quot;26/03/2019 12:00 GMT&amp;quot;,&lt;br /&gt;
    &lt;br /&gt;
  },&lt;br /&gt;
  local!dateIndex: where(&lt;br /&gt;
      a!forEach(&lt;br /&gt;
        items: local!dates,&lt;br /&gt;
        expression: mid(&lt;br /&gt;
          fv!item,&lt;br /&gt;
          4,&lt;br /&gt;
          2&lt;br /&gt;
        ) = text(&lt;br /&gt;
          local!findMonth,&lt;br /&gt;
          &amp;quot;00&amp;quot;&lt;br /&gt;
        )&lt;br /&gt;
      )&lt;br /&gt;
    ) + 1,&lt;br /&gt;
  &lt;br /&gt;
  index(&lt;br /&gt;
    local!dates,&lt;br /&gt;
    if(local!index = 13, 1, local!index)&lt;br /&gt;
  )&lt;br /&gt;
)&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: parsing a date array</title><link>https://community.appian.com/thread/61828?ContentTypeID=1</link><pubDate>Tue, 23 Oct 2018 09:59:29 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:20afa10f-54e4-4d80-95eb-54b8155cce2d</guid><dc:creator>Neha Dangi</dc:creator><description>Hi,&lt;br /&gt;
&lt;br /&gt;
Pass the rule input value in this code as ri variable , try this code  e,g ri!ip = 07&lt;br /&gt;
load(&lt;br /&gt;
local!dates: {&lt;br /&gt;
&amp;quot;24/04/2018 12:00 BST&amp;quot;,&lt;br /&gt;
&amp;quot;29/05/2018 12:00 BST&amp;quot;,&lt;br /&gt;
&amp;quot;26/06/2018 12:00 BST&amp;quot;,&lt;br /&gt;
&amp;quot;24/07/2018 12:00 BST&amp;quot;,&lt;br /&gt;
&amp;quot;21/04/2018 12:00 BST&amp;quot;,&lt;br /&gt;
&amp;quot;10/09/2018 12:00 BST&amp;quot;,&lt;br /&gt;
&amp;quot;16/10/2018 12:00 BST&amp;quot;,&lt;br /&gt;
&amp;quot;13/11/2018 12:00 GMT&amp;quot;,&lt;br /&gt;
&amp;quot;11/12/2018 12:00 GMT&amp;quot;,&lt;br /&gt;
&amp;quot;29/01/2019 12:00 GMT&amp;quot;,&lt;br /&gt;
&amp;quot;26/02/2019 12:00 GMT&amp;quot;,&lt;br /&gt;
&amp;quot;26/03/2019 12:00 GMT&amp;quot;&lt;br /&gt;
},&lt;br /&gt;
local!findValue: ri!ip,&lt;br /&gt;
&lt;br /&gt;
local!indexodmonth:wherecontains(local!findValue,tointeger(right(left(local!dates,5),2))),&lt;br /&gt;
local!dateofrequiredmonth:index(local!dates,local!indexofmonth),&lt;br /&gt;
local!dateofrequiredmonth&lt;br /&gt;
)&lt;br /&gt;
&lt;br /&gt;
Hope it will work for you.&lt;br /&gt;
Thanks,&lt;br /&gt;
Neha Dangi&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: parsing a date array</title><link>https://community.appian.com/thread/61825?ContentTypeID=1</link><pubDate>Tue, 23 Oct 2018 08:47:19 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:38ce3b34-8ec7-42ff-ae5e-4e4d3f08b336</guid><dc:creator>harishkumart</dc:creator><description>Hi Pauls,&lt;br /&gt;
&lt;br /&gt;
Please check with this code and this should work for you.&lt;br /&gt;
&lt;br /&gt;
/*To get all the instances*/&lt;br /&gt;
load(&lt;br /&gt;
  local!dates: {&lt;br /&gt;
    &amp;quot;24/04/2018 12:00 BST&amp;quot;,&lt;br /&gt;
    &amp;quot;29/05/2018 12:00 BST&amp;quot;,&lt;br /&gt;
    &amp;quot;26/06/2018 12:00 BST&amp;quot;,&lt;br /&gt;
    &amp;quot;24/01/2018 12:00 BST&amp;quot;,&lt;br /&gt;
    &amp;quot;21/08/2018 12:00 BST&amp;quot;,&lt;br /&gt;
    &amp;quot;10/04/2018 12:00 BST&amp;quot;,&lt;br /&gt;
    &amp;quot;16/10/2018 12:00 BST&amp;quot;,&lt;br /&gt;
    &amp;quot;13/02/2018 12:00 GMT&amp;quot;,&lt;br /&gt;
    &amp;quot;11/12/2018 12:00 GMT&amp;quot;,&lt;br /&gt;
    &amp;quot;29/01/2019 12:00 GMT&amp;quot;,&lt;br /&gt;
    &amp;quot;26/02/2019 12:00 GMT&amp;quot;,&lt;br /&gt;
    &amp;quot;26/03/2019 12:00 GMT&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  local!findValue: 04,&lt;br /&gt;
  index(&lt;br /&gt;
    local!dates,&lt;br /&gt;
    where(&lt;br /&gt;
        a!forEach(&lt;br /&gt;
          local!dates,&lt;br /&gt;
          tointeger(&lt;br /&gt;
            right(&lt;br /&gt;
              left(&lt;br /&gt;
                fv!item,&lt;br /&gt;
                5&lt;br /&gt;
              ),&lt;br /&gt;
              2&lt;br /&gt;
            )&lt;br /&gt;
          ) = local!findValue&lt;br /&gt;
        )&lt;br /&gt;
      )+1,&lt;br /&gt;
    null&lt;br /&gt;
  )&lt;br /&gt;
)&lt;br /&gt;
/* To get the first instances*/&lt;br /&gt;
load(&lt;br /&gt;
  local!dates: {&lt;br /&gt;
    &amp;quot;24/04/2018 12:00 BST&amp;quot;,&lt;br /&gt;
    &amp;quot;29/05/2018 12:00 BST&amp;quot;,&lt;br /&gt;
    &amp;quot;26/06/2018 12:00 BST&amp;quot;,&lt;br /&gt;
    &amp;quot;24/07/2018 12:00 BST&amp;quot;,&lt;br /&gt;
    &amp;quot;21/04/2018 12:00 BST&amp;quot;,&lt;br /&gt;
    &amp;quot;10/09/2018 12:00 BST&amp;quot;,&lt;br /&gt;
    &amp;quot;16/10/2018 12:00 BST&amp;quot;,&lt;br /&gt;
    &amp;quot;13/11/2018 12:00 GMT&amp;quot;,&lt;br /&gt;
    &amp;quot;11/12/2018 12:00 GMT&amp;quot;,&lt;br /&gt;
    &amp;quot;29/01/2019 12:00 GMT&amp;quot;,&lt;br /&gt;
    &amp;quot;26/02/2019 12:00 GMT&amp;quot;,&lt;br /&gt;
    &amp;quot;26/03/2019 12:00 GMT&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  local!findValue: 06,&lt;br /&gt;
  index(&lt;br /&gt;
    local!dates,&lt;br /&gt;
    index(&lt;br /&gt;
      where(&lt;br /&gt;
        a!forEach(&lt;br /&gt;
          local!dates,&lt;br /&gt;
          tointeger(&lt;br /&gt;
            right(&lt;br /&gt;
              left(&lt;br /&gt;
                fv!item,&lt;br /&gt;
                5&lt;br /&gt;
              ),&lt;br /&gt;
              2&lt;br /&gt;
            )&lt;br /&gt;
          ) = local!findValue&lt;br /&gt;
        )&lt;br /&gt;
      ),&lt;br /&gt;
      1,&lt;br /&gt;
      - 1&lt;br /&gt;
    ) + 1,&lt;br /&gt;
    null&lt;br /&gt;
  )&lt;br /&gt;
)&lt;br /&gt;
&lt;br /&gt;
Please let me know if this works.&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: parsing a date array</title><link>https://community.appian.com/thread/61818?ContentTypeID=1</link><pubDate>Tue, 23 Oct 2018 08:02:30 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:c53bc4d8-4bf2-4bd2-b80f-e190ecfde892</guid><dc:creator>arpitbhargava@kpmg.com</dc:creator><description>Hi,&lt;br /&gt;
&lt;br /&gt;
Its not working for me,&lt;br /&gt;
&lt;br /&gt;
lets suppose if you take the local!findvalue as 12 then its taking the first index and giving me the date &amp;quot;29/05/2018 12:00 BST&amp;quot;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: parsing a date array</title><link>https://community.appian.com/thread/61803?ContentTypeID=1</link><pubDate>Mon, 22 Oct 2018 16:16:52 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:90e14698-1052-49a2-af2b-2f1b62cc1b25</guid><dc:creator>harishkumart</dc:creator><description>&lt;p&gt;Hi Pauls0003,&lt;br /&gt; The following code should serve your purpose.&lt;/p&gt;
&lt;p&gt;convert your array using touniformString() function and then this code will work for your case.&lt;br /&gt; &lt;br /&gt; load(&lt;br /&gt; local!dates: {&lt;br /&gt; &amp;quot;24/04/2018 12:00 BST&amp;quot;,&lt;br /&gt; &amp;quot;29/05/2018 12:00 BST&amp;quot;,&lt;br /&gt; &amp;quot;26/06/2018 12:00 BST&amp;quot;,&lt;br /&gt; &amp;quot;24/07/2018 12:00 BST&amp;quot;,&lt;br /&gt; &amp;quot;21/08/2018 12:00 BST&amp;quot;,&lt;br /&gt; &amp;quot;10/09/2018 12:00 BST&amp;quot;,&lt;br /&gt; &amp;quot;16/10/2018 12:00 BST&amp;quot;,&lt;br /&gt; &amp;quot;13/11/2018 12:00 GMT&amp;quot;,&lt;br /&gt; &amp;quot;11/12/2018 12:00 GMT&amp;quot;,&lt;br /&gt; &amp;quot;29/01/2019 12:00 GMT&amp;quot;,&lt;br /&gt; &amp;quot;26/02/2019 12:00 GMT&amp;quot;,&lt;br /&gt; &amp;quot;26/03/2019 12:00 GMT&amp;quot;&lt;br /&gt; },&lt;br /&gt; local!findValue: 10,&lt;br /&gt; index(&lt;br /&gt; local!dates,&lt;br /&gt; index(&lt;br /&gt; where(&lt;br /&gt; a!forEach(&lt;br /&gt; local!dates,&lt;br /&gt; toboolean(&lt;br /&gt; find(&lt;br /&gt; local!findValue,&lt;br /&gt; fv!item,&lt;br /&gt; 2&lt;br /&gt; )&lt;br /&gt; )&lt;br /&gt; )&lt;br /&gt; ),&lt;br /&gt; 1,&lt;br /&gt; - 1&lt;br /&gt; ) + 1,&lt;br /&gt; null&lt;br /&gt; )&lt;br /&gt; )&lt;br /&gt; &lt;br /&gt; &lt;br /&gt; Please let me know if this helps.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: parsing a date array</title><link>https://community.appian.com/thread/61802?ContentTypeID=1</link><pubDate>Mon, 22 Oct 2018 16:11:41 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:1df445fc-6270-41df-b670-6f820175fa3c</guid><dc:creator>bryant.st39</dc:creator><description>If the array is always sorted properly, just increment the index of the returned value from the wherecontains.&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>