Author |
Topic |
|
pandapo
9 Posts |
Posted - 07/19/2011 : 07:44:02 AM
|
Hi! I have two columns one with time and one with my values, I would calculate the maximum of the column with my values and have in output the maximum and the corresponding time. Someone knows how to do it? |
|
Hideo Fujii
USA
1582 Posts |
Posted - 07/19/2011 : 10:14:59 AM
|
Hi pandapo,
There may be a smarter way, but the following is one method:
1) In Script window, type the following two commands (press ENTER at each command):
range BB=2;
sum(BB);
Here, "2" in the first line indicates the column number.
2)Choose "Worksheet: Worksheet Query" menu, select and move(=>) the
all target columns to right panel (the 2nd column got the alias "B"),
and enter the following condition:
B=sum.max
and run it.
Hope this works for you.
--Hideo Fujii
OriginLab
|
|
|
pandapo
9 Posts |
Posted - 07/19/2011 : 10:35:14 AM
|
and if I want to do it for a template file, with an unknown number of columns? |
|
|
Hideo Fujii
USA
1582 Posts |
Posted - 07/19/2011 : 10:48:52 AM
|
Hi,
If you don't know the column number, you can use the column name
instead of the column number in the "range" declaration such that:
range BB=col(B);
sum(BB);
--Hideo Fujii
OriginLab |
Edited by - Hideo Fujii on 07/19/2011 10:50:17 AM |
|
|
pandapo
9 Posts |
Posted - 07/19/2011 : 11:11:53 AM
|
I cannot find this worksheet query :( |
|
|
pandapo
9 Posts |
Posted - 07/19/2011 : 11:19:43 AM
|
I have Origin 8.1 |
|
|
Hideo Fujii
USA
1582 Posts |
Posted - 07/19/2011 : 11:25:04 AM
|
Hi,
quote: Originally posted by pandapo
I cannot find this worksheet query :(
Before Origin 8.5, the menu was called "Extract Worksheet Data". From next time when you post, as a general manner, please write your Origin version.
Thank you.
--Hideo Fujii OriginLab |
|
|
pandapo
9 Posts |
Posted - 07/19/2011 : 11:47:45 AM
|
oh! you are right!
It seems to work just with the first column :(
so my first column is the time (T), the second is B, and then many C ( C1, C2...); I would search the maximum of each column and the corresponding time; what the script does now, is to search the maximum of the column B, give the time corresponding of the maximum and then give me back also all the other columns' values at that time :( |
|
|
Hideo Fujii
USA
1582 Posts |
Posted - 07/19/2011 : 2:50:01 PM
|
Hi pandapo,
Well... because you said you have two columns, so that is what I
intended. If you want to apply the same thing to bunch of columns
repeatedly, you need to have some sort of automitization.
For example, the following script applies "wextract" command (see
"Help:X-Functions" help for details) to every column after the second
column to the rest. You can copy-and-paste to the Script window,
highlight all lines, then press ENTER key to run:
%A=%H; //book name
%L=layer.name$; //sheet name
nc=wks.ncols; //colums
for(ii=2;ii<=nc;ii++) {
range B=[%A]%L!col($(ii));
sum(B);
wextract iy:=[%A]%L!(1:end) settings.stAlias.Cols:=$(ii) settings.stAlias.AliasNames:=BB$(ii) settings.stCondition.Condition:="BB$(ii)=sum.max" settings.stMethod.Method:=1 settings.Cols:="0|$(ii-1)";
wcol(2)[C]$=From Col$(ii);
};
Hope this works!
|
Edited by - Hideo Fujii on 07/19/2011 2:52:47 PM |
|
|
pandapo
9 Posts |
Posted - 07/20/2011 : 04:50:41 AM
|
Hi Hideo, I did: -open worksheet---> extract worksheet data ---->Scripts-->
%A=%H; //book1 %L=layer.name$; //myworksheet nc=wks.ncols; //col(c) for(ii=2;ii<=nc;ii++) { range B=[%A]%L!col($(ii)); sum(B); wextract iy:=[%A]%L!(1:end) settings.stAlias.Cols:=$(ii) settings.stAlias.AliasNames:=BB$(ii) settings.stCondition.Condition:="BB$(ii)=sum.max" settings.stMethod.Method:=1 settings.Cols:="0|$(ii-1)"; wcol(2)[C]$=From Col$(ii); };
in the window Script before select data loop
Then in the 'if' window I wrote: B=sum.max
I selelcted all the columns from left to right and then Apply.
It doesn't work :( |
|
|
Hideo Fujii
USA
1582 Posts |
Posted - 07/20/2011 : 11:30:51 AM
|
Hi,
This script is a self-contained, and as I wrote, you need to copy-and-paste to the Script window ("Window: Script Window" menu), highlight ALL lines, then press ENTER key to run.
--Hideo Fujii OriginLab |
Edited by - Hideo Fujii on 07/20/2011 11:31:45 AM |
|
|
pandapo
9 Posts |
Posted - 07/20/2011 : 11:43:57 AM
|
it gaves me back just the maximum value of the last column with the corresponding time :( |
|
|
Hideo Fujii
USA
1582 Posts |
Posted - 07/20/2011 : 3:28:20 PM
|
Hi,
Probably you have overlooked other worksheet tabs by not scrolling to left using the triangle buttons at the bottom of the workbook. Or, not?
--Hideo Fujii OriginLab |
|
|
pandapo
9 Posts |
Posted - 07/21/2011 : 04:21:26 AM
|
Hi! now it gives me the the maximum and the corresponding time for each channel, but each channel is placed in another worksheet. I would like to have, if it is possible, all channels with maximum and corresponding time in one tab. Do you know if it is possible?
|
|
|
pandapo
9 Posts |
Posted - 07/21/2011 : 05:23:39 AM
|
anyway.. it is fine in this way..thank you a lot! :) |
|
|
|
Topic |
|