turn on suggestions

Auto-suggest helps you quickly narrow down your search results by suggesting possible matches as you type.

Showing results for

- JMP User Community
- :
- Discussions
- :
- Col (Sum) function by selecting specific rows

Topic Options

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Get Direct Link
- Email to a Friend
- Report Inappropriate Content

Feb 7, 2015 12:50 AM
(2218 views)

Hello,

I would like to create a column which calculates another columns mean or sum but I would like to specify the function by :

Let’s say if we select the year the calculation to be occured by "Year" or,

Let’s say col (sum) of NetRevenueWithoutVat by Year or "NetRevenueWithoutVat" by "Month (Stay Date)" or

Col (Sum) functions of specific row numbers...

Would anyone please share his/her knowledge how to do it in scripting or by entering the Col(Sum) function as a formula in a column?

The logic behind it?

Many thanks in adance

1 ACCEPTED SOLUTION

Accepted Solutions

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Get Direct Link
- Email to a Friend
- Report Inappropriate Content

Solution

Use ColSum() in column formulas. The formula Col Sum**(** :NetRevenueWithoutVat, :Year **)** will return the sum (not the cumulative sum) grouped by *Year*.

Try this formula for a ColSum() that changes dynamically with row selection:

Col Sum**(** :NetRevenueWithoutVat, Selected**()** **)**

4 REPLIES

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Get Direct Link
- Email to a Friend
- Report Inappropriate Content

Feb 9, 2015 9:23 AM
(1551 views)

The answer may depend on what happens next. You can certainly do:

NamesDefaultToHere**(****1****)**;

// (1) Get some data

dt1 = Open**(**"$SAMPLE_DATA/Big Class.jmp"**)**;

// (2) Get summary info into a list and a vector

Summarize**(**groups = By**(**:sex**)**, groupMeans = Mean**(**:height**))**;

// (3) Make a table using the summary info

dt2 = NewTable**(**"Height by Gender",

NewColumn**(**"Gender", Character, Nominal, Values**(**groups**))**,

NewColumn**(**"Mean Height", Numeric, Continuos, Values**(**groupMeans**))**

**)**;

(see the JSL Scripting Guide for more options with Summarise).

If you need step 3, you may be better using either 'Tables > Summary' or 'Analyse > Tabulate'.

You can also aggregate across any set of rows, so long as you can express what that selection is.

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Get Direct Link
- Email to a Friend
- Report Inappropriate Content

Use ColSum() in column formulas. The formula Col Sum**(** :NetRevenueWithoutVat, :Year **)** will return the sum (not the cumulative sum) grouped by *Year*.

Try this formula for a ColSum() that changes dynamically with row selection:

Col Sum**(** :NetRevenueWithoutVat, Selected**()** **)**

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Get Direct Link
- Email to a Friend
- Report Inappropriate Content

Feb 9, 2015 2:33 PM
(1551 views)

Thank you!

This is what I was looking for.

Does that mean I could go further and let's say Col Sum**(** :NetRevenueWithoutVat, :Year, :Agency **) ?**

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Get Direct Link
- Email to a Friend
- Report Inappropriate Content

Feb 9, 2015 2:36 PM
(1551 views)