Hi All,
How to check each row from column if continuously dropping less than 3 then break the loop and send exception mail to MA
please check attached Excel SS for your reference
Thanks
Shaik
Hi All,
How to check each row from column if continuously dropping less than 3 then break the loop and send exception mail to MA
please check attached Excel SS for your reference
Thanks
Shaik
check the workflow
When it is about to check if there is any value less then 3 we can avoid the loop and check in one go:
Assign Activity:
hasFound | DataType: Boolean =
dtData.AsEnumerable.Any(Function (x) CDbl(x(“YourColName”).toString.Trim))
continuously dropping any three rows from column
thanks
shaik
please rephrase in a more clear description the requirement. thanks
From column any three rows continuously dropping less than 3 then break the loop and send exception mail to MA
Thanks
Shaik
and why does it has to be a 3 row continously decreasing check and cannot check for the < 3 existence check?
as a modified procedure:
can you send sample workflow please
thanks
shaik
sure we will help you on the modelling. But still we have doubts if the requested is the needed
e.g.:
3.64,3.78,2.04 is not a constant falling series
we cannot derive any other factor using to group the data
so we cannot derive any reason why the only has value < 3 is not appropriate
if not falling constantly then continue the loop .
only break the loop if continuously three rows less than 3
thanks
shaik
sorry my screenshot was wrong …let me upload new one
thanks
shaik
lets avoid ping-pongs
is another use case which we would solve differently, But we cannot see this within the red marked samples:

as 2 row are grater then 3
I have uploaded new SS please check @ppr
thanks
shaik
please check I have updated new Screenshot @ppr
We recommend to define also derivations and its handling e.g. more rows are within the series.
However, find a starter help here:
Sample input:

A flow like:
arrIndexes =
(From i In Enumerable.Range(0, dtData.Rows.Count)
Let vs = dtData.Rows(i)("Column2").ToString.Trim
Where CDbl(vs) < 3
Select x=i).ToArray
GroupSets =
(From i In Enumerable.Range(0, arrIndexes.Length)
Let gf = arrIndexes.Skip(i).Take(3)
Where gf.Where(Function (x, idx) (gf.First() + idx).Equals(x)).Count.Equals(3)
Select gs = gf.toArray).ToList
Part inspections:

So GroupSets can be used to check if any sequence is present
GroupSets.Any()
And with the help of calcualted Indexes we could also fetch the corresponding rows
[HowTo] LINQ (VB.Net) Learning Catalogue - Help / Something Else - UiPath Community Forum
For sure we can also adapt and decompose LINQ to Essential Activities
UPD1:
for advanced adaption we can also rewrite to an indexed TakeWhile as prototyped here:

@ppr Please send sample workflow
thanks
shaik
as the core part is only about 2 Assigns and we shared also all details, you can model it quickly by your own as well
Find starter help here:
ppr_FindXRows_ByCriteria.xaml (11.6 KB)
values are not printed after used log message activity please suggest
avoid logging / write line / message box for variable inpection we gave you the option of