What inspired this wish list request?
I was working on data collection scripts which utilize few extra rows to indicate that the collection has been run EVEN if no data was returned. These few rows use row states. When the table is saved, this will more or less break the JMP table compression, and I did end up with 100MB file instead of 10MB file.
What is the improvement you would like to see?
I would like for JMP's table compression to be able to compress other data than just column data, in this case row states (table scripts are another one) as just single selected row can increase your table size massively when you save it.
Below is an example scripts which you can test out, just by adding one selected row to your table, you can increase the table size almost tenfold if you use compression (and in my opinion you should with JMP tables).
Names Default To Here(1);
path1 = "$TEMP/file1.jmp";
path2 = "$TEMP/file2.jmp";
dt = New Table("test",
Add Rows(10000000),
New Column("A", Numeric, Continuous, Set Each Value(Row())),
New Column("B", Character, Nominal, Set Each Value(Hex(Mod(Row(), 10))))
);
dt << Compress File When Saved(1);
Column(dt, "B") << Compact();
Wait(0);
dt << Save(path1);
Wait(0);
dt << Select Rows(1);
dt << Save(path2);
Show(File Size(path1), File Size(path2), File Size(path1) / File Size(path2));
//File Size(path1) = 11981335;
//File Size(path2) = 91981345;
//File Size(path1) / File Size(path2) = 0.130258314878957;
Close(dt, no save);
/*
Delete File(path1);
Delete File(path2);
*/
Write();
Why is this idea important?
Makes JMPs table compression much more useful as you can still utilize other powerful tools JMP offers you with.
... View more