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
- :
- Regional JMP Users Groups
- :
- Other JMP Users Groups
- :
- Israel JMP Users - קבוצת משתמשים - ישראל
- :
- Forum
- :
- Efficient formula

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

Highlighted
##

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

Efficient formula

Created:
Jan 30, 2019 10:01 PM
| Last Modified: Jan 30, 2019 10:02 PM
(3466 views)

Hey,

I have big data table (~30million rows*20 columns) and this Pass/Fail test makes JMP stuck.

The PC is Windows 10 64-bit, i7-4770 @ 3.4Ghz, SSD and 32GB DDR3 1600Mhz.

The JSL is:

`cctable << New Column( "New status", Character, Nominal, Formula( If( :result < :L | :result > :H, "Fail", "Pass" ) ) );`

Can it be more efficient? Is there's a better choise in JMP to do it?

Thanks,

Ido

4 REPLIES 4

Highlighted
##

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

Re: Efficient formula

Hi,

Don't use column formulas with such a table.

Try to run a calculation with JSL and paste the results.

Please see attached a table and a script I used.

Regards,

Tom.

Highlighted
##

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

Re: Efficient formula

Thanks, but the "New Column( ... )" command takes time and everything get's stuck as well.

I will try to use update/join

If you (or anyone else :) ) have a nother idea- I will glad to hear it.

Thanks.

Highlighted
##

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

Re: Efficient formula

Created:
Feb 1, 2019 3:42 AM
| Last Modified: Feb 1, 2019 3:46 AM
(3421 views)
| Posted in reply to message from Idokol 01-31-2019

My test takes 15 seconds to create the table and 15 seconds to add the extra column. I am using <<runFormulas to make the formula evaluate immediately rather than waiting for idle time.

```
start = Tick Seconds();
dt = New Table( "Untitled",
Add Rows( 30e6 ),
New Column( "L", Numeric, "Continuous", Format( "Best", 12 ), Formula( Random Integer( 1, 9 ) ) ),
New Column( "result", Numeric, "Continuous", Format( "Best", 12 ), Formula( Random Integer( 1, 9 ) ) ),
New Column( "H", Numeric, "Continuous", Format( "Best", 12 ), Formula( Random Integer( 1, 9 ) ) )
);
dt<<runformulas;
stop = Tick Seconds();
Show("create", stop - start, N Rows( dt ) );
start = Tick Seconds();
dt << New Column( "New status", Character, Nominal, Formula( If( :result < :L | :result > :H, "Fail", "Pass" ) ) );
dt << runformulas;
stop = Tick Seconds();
Show( "add", stop - start, N Rows( dt ) );
```

"create";

stop - start = 12.8833333333605;

N Rows(dt) = 30000000;

"add";

stop - start = 12.6833333332906;

N Rows(dt) = 30000000;

Craige

Highlighted
##

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

Re: Efficient formula

Thanks!

I will do it.

Although what that helped the most was table of 1M * 100 rather then 80M * 5

Article Labels

There are no labels assigned to this post.