How to check each row from column if continuously dropping less than 3 then break the loop and send exception mail

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

@shaik.muktharvalli1

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:

  • get the row(s) / row indexes with values < 3
  • get the two previous rows of the < 3 row
  • evaluate the the 3 rows segment

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:

grafik
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:
grafik

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:
grafik

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

Understanding the 6 Debugging Panels of UiPath in the easiest way possible! - News / Tutorials - UiPath Community Forum

[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:
grafik

@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

Hi UiPath Community,

How to check each row from column if continuously dropping any three rows are less than 3(only in ascending order) then break the loop and send exception mail

Screenshot for your reference:

please help

thank
Shaik