나는 다음과 같은 형식으로 엑셀 시트에서 데이터를 읽고 있습니다 -람다 식 Unpivoting DataTable을
나는 다음과 같은 방법 -
에 데이터를 저장해야나는 Linq 람다 표현의 도움으로 그것을하려하지만 나는 이것으로 어디에도 가지 않을 것이라고 생각한다.
private static readonly string[] designationNames = {"PA","A","SA","M","SM","CON"};
void Function()
{
/* ... */
var resultSet = dt.AsEnumerable().Where(x => !String.IsNullOrEmpty(x.Field<String>("Project_Code")))
.Select(x =>
new
{
Month = x.Field<String>("Month"),
ProjectCode = x.Field<String>("Project_Code"),
Designations = designationNames.ToDictionary(d => d, d => x.Field<int>(d))
}
);
}
이 정규화 된 버전은 다음과 같습니다
는 DataTable dataTable= ReadExcel();
var dt = dataTable.AsEnumerable();
var resultSet = dt.Where(x => !String.IsNullOrEmpty(x.Field<String>("Project_Code")))
.GroupBy(x =>
new
{
Month = x.Field<String>("Month"),
ProjectCode = x.Field<String>("Project_Code"),
//change designation columns into row data and then group on it
//Designation =
}
);
//.Select(p =>
// new
// {
// Month= p.d
// }
// );`
Power Query를 사용하여 데이터를 unpivot하는 것이 좋습니다 - 훨씬 쉽게! –
안녕하세요. 나는 우리가 람다 표현의 도움으로 그것을 할 수 있는지 궁금해하고있었습니다. Power Query는 먼저 탐색해야 할 것입니다. –