I think you will have to add couple of formulas and then you can create tabulate/summary table like this
I would create a column to calculate the Zero value. Depending on your data something simpler (or more complicated) could be used
Col Mean(
If(Col Min(:Time, :Device, :Group, :Batch, :Name) == :Time,
:Value,
.
),
:Device, :Group, :Batch, :Name
);
Then create the calculation columns
:Value / :GroupZero - 1
and
:Value - :GroupZero
Below is the script JMP created to me (I would clean it up a lot and make it more robust)
// Delete column: Column 7
Data Table("Data") << Delete Columns(:Column 7);
// New column: Column 7
Data Table("Data") << New Column("Column 7",
Numeric,
"Continuous",
Format("Best", 12)
);
// Change column info: GroupZero
Data Table("Data"):Column 7 << Set Name("GroupZero") <<
Set Formula(
Col Mean(
If(Col Min(:Time, :Device, :Group, :Batch, :Name) == :Time,
:Value,
.
),
:Device,
:Group,
:Batch,
:Name
)
);
// New column: Column 8
Data Table("Data") << New Column("Column 8",
Numeric,
"Continuous",
Format("Best", 12)
);
// Change column info: Diff to 0
Data Table("Data"):Column 8 << Set Name("Diff to 0") <<
Set Formula(:Value - :GroupZero);
// New column: Column 9
Data Table("Data") << New Column("Column 9",
Numeric,
"Continuous",
Format("Best", 12)
);
// Change column info: Diff to 0perc
Data Table("Data"):Column 9 << Set Name("Diff to 0perc") << Format("Percent", 12, 2)
<< Set Formula(:Value / :GroupZero - 1);
// Change column modeling type: Device
Data Table("Data"):Device << Set Modeling Type("Nominal");
// Change column modeling type: Batch
Data Table("Data"):Batch << Set Modeling Type("Nominal");
// Change column modeling type: Time
Data Table("Data"):Time << Set Modeling Type("Nominal");
// Report snapshot: Data - Tabulate
Tabulate(
Show Control Panel(0),
Add Table(
Column Table(Analysis Columns(:Value), Statistics(Mean)),
Column Table(Analysis Columns(:Diff to 0, :Diff to 0perc), Statistics(Mean)),
Row Table(Grouping Columns(:Device, :Group, :Batch, :Name, :Time))
)
);
-Jarmo