특정 행/열의 특정 값 합계안녕하세요,
이상하게 배치된 데이터 테이블로 작업하고 있습니다. 아래 표를 보면(실제 데이터가 아니라 유사성) 모든 빨간색 숫자의 합을 찾은 다음 모든 녹색 숫자의 합을 찾아야 합니다. 바람직하게는 추가 열이 생성되고 Bob의 각 행은 빨간색 합계를 읽고 Bill의 각 행은 녹색 합계를 읽습니다. 누구든지 내가 이 일을 어떻게 할 수 있는지에 대한 개요를 줄 수 있습니까?
| 이름 | 나이 | 테스트 1 | 테스트 2 | 테스트 3 |
| 단발 | 1 | 10 | 22 | 34 |
| 단발 | 1 | 10 | 22 | 34 |
| 단발 | 2 | 12 | 24 | 36 |
| 단발 | 2 | 12 | 24 | 36 |
| 단발 | 삼 | 14 | 26 | 38 |
| 단발 | 삼 | 14 | 26 | 38 |
| 청구서 | 1 | 16 | 28 | 40 |
| 청구서 | 1 | 16 | 28 | 40 |
| 청구서 | 2 | 18 | 30 | 42 |
| 청구서 | 2 | 18 | 30 | 42 |
| 청구서 | 삼 | 20 | 32 | 44 |
| 청구서 | 삼 | 20 | 32 | 44 |
미리 감사드립니다!
Re: 특정 행/열의 특정 값 합계매우 도움이 됩니다! 감사합니다!!
Re: 특정 행/열의 특정 값 합계죄송합니다. 서둘러서 행이 진짜 중복이라는 사실을 발견하지 못했습니다(제 예에서 보셨을 수도 있습니다). 나는 또한 당신이 열을 합산하려는 것에 감사하지 않았습니다.
이 엄격한 복제에 의존할 수 있다면 다음을 수행할 수 있습니다.
NamesDefaultToHere(1);
// Make some test data: Note that pairs of rows are duplicates!
dt = New Table( "Test Data",
New Column( "Group", Numeric, "Nominal", Values([1,1,1,1,1,1,2,2,2,2,2,2])),
New Column( "Test 1", Numeric, "Ordinal", Values([2,2,3,3,4,4,5,5,6,6,7,7])),
New Column( "Test 2", Numeric, "Ordinal", Values([1,1,2,2,3,3,4,4,5,5,6,6]))
);
// List of columns for Summary
colList = {:Test 1, :Test 2};
// Summary
dt2 = dt << Summary(Group( :Group ), Sum( Eval(colList) ), StatisticsColumnNameFormat("column"));
// Sum over the columns in the summary, but also divide by 2 to account for the duplicate rows in dt
// (1) Template exprtession
CMD = Expr(dt2 << New Column( "Required Sum", Numeric, "Continuous", Formula( Sum(colsTBD) / 2 )));
// (2) Substitute in the columns we have
SubstituteInto(CMD, Expr(colsTBD), Eval(colList));
// (3) Use the expression we have built
CMD;
Re: 특정 행/열의 특정 값 합계감사해요,
그러나 열 범위에 대한 특정 행의 모든 값을 단순히 추가하고 싶다고 가정해 보겠습니다. 아래에서 열 번호 TR과 TD 사이의 행에 있는 모든 셀을 추가한다고 생각되는 이 코드 조각을 찾았습니다. 그러나 단순히 셀 TD의 값을 반환합니다. 그 이유는 무엇이며 어떻게 작동시킬 수 있습니까?
TotRow = dt << 열 이름 가져오기(숫자);
TR = N 항목(TotRow);
TD = N 항목(colnamesSix);
dt << New Column("합계", 숫자);
각 행에 대해( :Total[] = Sum( Column(TotRow[TD :: TR])[]) );
Re: 특정 행/열의 특정 값 합계Analyze - Tabulate를 사용할 수 없습니까?이름 다음에 나이를 입력한 다음 테스트 1의 평균(및 테스트 2 및 테스트 3의 열)을 사용합니다. 평균은 중복 값을 두 번 계산하지 않도록 하기 위한 것입니다.그런 다음 데이터 테이블로 만드십시오.거기에서 당신은 거의 당신이 원하는 곳에 있습니다.
Re: 특정 행/열의 특정 값 합계각 그룹에 짝수의 행이 있는 간단한 경우에는 다음과 같이 할 수 있습니다.
NamesDefaultToHere(1);
// Make some test data
dt = New Table( "Test Data",
Add Rows( 20 ),
New Column( "Group", Numeric, "Nominal", Values(VConcat(J(10, 1, 1), J(10, 1, 2)))),
New Column( "Test 1", Numeric, "Ordinal", Values(J(20, 1, RandomInteger(1,30)))),
New Column( "Test 2", Numeric, "Ordinal", Values(J(20, 1, RandomInteger(1,100))))
);
// Add a 'Subgroup' column
dt << NewColumn("Subgroup", Numeric, Nominal, Values(Repeat((1::2)`, 10)));
// Make a summary table
dt2 = dt << Summary(Group( :Group, :Subgroup ), Sum( :Test 1 ), Sum( :Test 2 ));
dt2 << selectWhere(:Subgroup == 2);
dt2 << hideAndExclude;
dt2 << clearSelect;Re: 특정 행/열의 특정 값 합계예! 그게 내가 필요한 것입니다.
Re: 특정 행/열의 특정 값 합계'이름'의 값으로 정의된 각 그룹 내에서 두 번째 행(첫 번째부터 시작)마다 합계가 필요합니까?