特定の行/列の特定の値を合計するやあ、
私は奇妙にレイアウトされたデータのテーブルを扱っています。 下の表を見ると (実際のデータではなく、似ています)、すべての赤い数字の合計を見つけてから、すべての緑の数字の合計を見つける必要があります。 好ましくは、追加の列が作成され、ボブの各行は赤色の合計を読み取り、ビルの各行は緑色の合計を読み取ります。 誰かがこれを行う方法の概要を教えてもらえますか?
| 名前 | 年 | テスト 1 | テスト 2 | テスト 3 |
| ボブ | 1 | 10 | 22 | 34 |
| ボブ | 1 | 10 | 22 | 34 |
| ボブ | 2 | 12 | 24 | 36 |
| ボブ | 2 | 12 | 24 | 36 |
| ボブ | 3 | 14 | 26 | 38 |
| ボブ | 3 | 14 | 26 | 38 |
| 明細書 | 1 | 16 | 28 | 40 |
| 明細書 | 1 | 16 | 28 | 40 |
| 明細書 | 2 | 18 | 30 | 42 |
| 明細書 | 2 | 18 | 30 | 42 |
| 明細書 | 3 | 20 | 32 | 44 |
| 明細書 | 3 | 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 << Get Column Names(numeric);
TR = N アイテム (TotRow);
TD = N 個のアイテム (colnamesSix);
dt << New Column("Total", Numeric);
For Each Row( :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: 特定の行/列の特定の値を合計する「名前」の値で定義された各グループ内で、2 行ごと (最初の行から開始) の合計が必要ですか?