나는 다음과 같은 쿼리가 :C#을 LINQ 쿼리
var results = from theData in GeometricAverage
group theData by new { study = theData.study, groupNumber = theData.groupNumber, GeoAverage= theData.GeoAverage } into grp
select new
{
study = grp.Key.study,
groupNumber = grp.Key.groupNumber,
TGI = testFunction(grp.Key.GeoAverage, Also here I want to pass in the GeoAverage for only group 1 (but for each individual study))
};
내가하고 싶은 것은 각 연구를 위해, 각 그룹에 대해 GeoAverage 그림에 여러 그룹이 있다는 것을입니다. TGI는 각 그룹에 대한 GeoAverage 수치와 그룹 1에 대한 GeoAverage 수치 (각 스터디에 대한)를 testFunction에 전달하여 계산됩니다. 그룹 1의 값만 전달하는 방법을 알 수 없습니다.
희망적이라고 생각합니다.
편집 : 데이터의 샘플 :
Study Group GeoAverage
1 1 3
1 2 5
1 3 6
2 1 2
2 2 3
2 3 9
그래서, 위의 데이터를 들면, 나는 각 그룹에 대해 각 GeoAverage 그림을 원하는 것이이 같은 연구에서 1 군의 GeoAverage 그림에 대해 평가한다. 그래서 함수 말할 경우 :
int foo(int a, int b)
{
return a * b;
}
위의 데이터를 사용하여, 내가 먼저 자체에 대한 연구 1, 1 군을 평가하고, 그래서 두 번 GeoAverage 3 전달 및 연구 1, 2 군, 패스 9.을 반환 2 학년 그룹은 2 학년이었고 5 학년 그룹은 3 학년이었으며 1 학년은 3 학년이었습니다. 15 012를 반환합니다.
데이터가 명확하지 않습니다. 당신은 * 그룹화하지 않습니까? select 문에서'Key' 만 사용하는 것을 볼 수 있습니다. –
데이터 샘플 및 예상 결과도 도움이 될 것입니다. –
추가 정보가 추가되었습니다. 감사. –