Hi everyone
IN excel I have the multi-column,
I have to check that column
{CP1, CP2, CP3…CP11} does not contain
any of these values (“CO-45"or"CO-16"or"CO-18"or"PR-1"or"PR-2"or"PR-3”)
if the column contains these values I have to remove that column.
Hi!
Use filter DataTable.
please refer:
https://docs.uipath.com/activities/docs/filter-data-table
Regards,
NaNi
I have to check multiple conditions in the same column
CO-45
CO-16
CO-18
PR-1
PR-2
PR-3
Yes, you can do that by using the filter DataTable,
please find the attachment below for your reference
Regards,
NaNi
so I have to use filter Datatable 11 times, for CP2, CP3…up to CP11
Hi @ashishmani
Follow the steps below!
Read the excel
assign arrayVariable={“FilterValue1”,“Filtervalue2”…}
use For each and change Type argument to string
For each item in array variable
assign NewDtVariable =readDt.select(“[YourColumn name] = '”+item+“'”).CopyToDatatable
use Path exists activity Input the path with xlsx
Like “your path/file.xlsx”
If condition use path exists output exists
then append range the NewDt
else write Range the NewDt
Regards
can you make the xaml for me, Denial Note Examples.xlsx (35.4 KB)
first I have to check cpt1…CPT 11 does not contain
CO-45
CO-16
CO-18
PR-1
PR-2
PR-3
After that I have to check cpt1 to cpt11 must have different values, if the value is same i have to skip that cpt
Could you be elaborate your requirement !
From the File I am having 2 sheets which sheet i do need to refer!
Regards
from sheet1 first, I have to remove duplicates “Visior id” (column1),
so I remove it and paste it to sheet A,
after that I have to check cpt1 to CPT 11 column does not contain above values,
after that I have to check the value of cpt1 to CPT 11 must be differentExcel denial code.xaml (59.1 KB)
create a string array
arrColSet = {“CP1”,“CP2”,“CP3”…“CP11”}
create a string array
arrKeys = {“CO-45”,“CO-16” …}
use an assign activity
LHS: dtFiltered
RHS:
(From d in dtData.AsEnumerable
Let hasKey = arrColSet.Any(Function (x) arrKeys.Any(Function (k) d(x).toString.Contains(k)))
Where not hasKey
Select r=d).CopyToDataTable
arrColSet.Select(Function (x) row(x).toString.Trim).Distinct().Count = arrColSet.Length
check your spelling CopyToDataTable
done, can you tell me the next step
what are you looking for to get achieved?
now I want to check that every CPT have different values
checking row level an approach was shared with you
Maybe you can resharpen the requirement
- check on row level?
- what to do if all same / all distinct?
I want different values, if the same values are there I will skip that one.
check there are dicstinct on row level
filter out datarow
then combine it with the LINQ from above:
(From d in dtData.AsEnumerable
Let hasKey = arrColSet.Any(Function (x) arrKeys.Any(Function (k) d(x).toString.Contains(k)))
Where not hasKey
Let isDist = arrColSet.Select(Function (x) d(x).toString.Trim).Distinct().Count = arrColSet.Length
Where isDist
Select r=d).CopyToDataTable
in case of empty results from filtering are to expect handle defensive the CopyToDataTable
can you paste this xmal.