상세 컨텐츠

본문 제목

[RPA] DataTable 관련 함수

IT/RPA(UiPath)

by Adonis_ 2021. 4. 29. 11:03

본문

1. 컬럼값 중복제거 후 호출

dtData = dtData.DefaultView.ToTable(True, "col name")

true : 중복제거, false : 해당 컬럼값만 호출

 

2. data table 특정 열 -> array 변환

arr = (From row In dtData.AsEnumerable() Select Convert.Tostring(row("col name"))).ToArray

 

3. Data Table Column명

(From row in MyDT.Columns.Cast(of DataColumn) Select row.ColumnName ).ToArray

 

4. Data Table에서 특정값으로 시작하는 Column Index

(From row in MyDT.Columns.Cast(of DataColumn) Select row.ColumnName ).ToList.FindIndex(Function ( c ) c.ToString.StartsWith("검색값"))

 

5. Data Table 특정 컬럼 타입변경(string -> int)

dtData = (From x IN dtData .AsEnumerable() order by convert.ToInt32(x("col name")) Select x).CopyToDataTable

 

6. Data Table Sort

dtData .DefaultView.Sort = ("[col name] ASC")

dtData .DefaultView.Sort = ("[col name] DESC")

 

7. 테이블에서 특정 컬럼의 max값 구하기

dtData.AsEnumerable().Max(Function(row) CInt(row(“구하는 max값이 포함된 열”))).ToString

 

dtData.Select("[필드1]='값1' and [필드2]='값2'").CopyToDataTable.AsEnumerable().Max(Function(row) CInt(row(“구하는 max값이 포함된 열”))).ToString

 

8. Groub by

(From x In dtData.AsEnumerable() order by (x("컬럼명")) select x).CopyToDataTable

 

(From x In dtData.Select("[컬럼1]='값1'").CopyToDataTable.AsEnumerable() order by (x("컬럼명")) select x).CopyToDataTable

 

9. 응용

dtData.AsEnumerable.Where(Function(r) r("열2").ToString="1").OrderBy(Function(r) r("열3")).ThenByDescending(Function(r) r("열4").ToString).First().Item("열1").ToString() => return값 : AA

관련글 더보기

댓글 영역