对某些行/列中的特定值求和你好呀,
我正在处理一个布局奇怪的数据表。 如果您看到下表(不是实际数据,而是相似数据),我需要找到所有红色数字的总和,然后找到所有绿色数字的总和。 最好创建一个附加列,Bob 的每一行将读取红色总和,Bill 的每一行将读取绿色总和。 谁能给我概述一下如何去做这件事?
| 姓名 | 年龄 | 测试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 |
提前致谢!
回复:对某些行/列中的特定值求和很有帮助! 谢谢你!!
回复:对某些行/列中的特定值求和很抱歉,但在我的匆忙中,我没有发现这些行是真正的重复项(正如您可能从我的示例中看到的那样)。 我也不明白你想要对列进行求和。
如果您可以依赖这种严格的复制,那么您可以这样做:
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;
回复:对某些行/列中的特定值求和谢谢,
然而,假设我想简单地添加特定行中一系列列的所有值。我发现下面的代码片段我认为添加了列号 TR 和 TD 之间的行中的所有单元格。 然而,它只是返回单元格 TD 的值。 这是为什么?我怎样才能让它发挥作用?
TotRow = dt << 获取列名称(数字);
TR = N 项(TotRow);
TD = N 项(colnamesSix);
dt << 新列("总计", 数字);
对于每一行( :Total[] = Sum( Column(TotRow[TD :: TR])[]) );
回复:对某些行/列中的特定值求和你不能使用分析 - 制表吗?将“姓名”和“年龄”放入行中,然后使用测试 1 的平均值(以及测试 2 和测试 3 的列) - 平均值是为了避免重复计算重复值。然后将其制作成数据表。从那里开始,您几乎就到达了您想去的地方。
回复:对某些行/列中的特定值求和在每组中有偶数行的简单情况下,您可以执行以下操作:
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;回复:对某些行/列中的特定值求和是的! 这正是我所需要的。
回复:对某些行/列中的特定值求和您是否需要在“名称”中的值定义的每个组中每第二行(从第一行开始)的总和?