我有很多資料集,通常使用 Excel 資料透視表進行查看,但想知道是否可以使用 JMP 中的製表表進行類似的檢視。
資料看起來像是所附 Excel 表中的範例。四台設備測試5次,分別在0h,1h,20h,50h,100h。
在每次測量中,都會測量參數 1 和參數 2。我想要一個包含樹列資料的表格
對於每個設備/時間:資料值、資料值相對於第一次測量的差異、資料值相對於第一次測量的百分比差異。
今天我將非常大的資料集(10-100 個參數,數千個裝置)匯入 JMP,我將資料匯出到 Excel
用於建立數據透視表,使用數據透視表重新組織數據,新增顯示參數變化的列
然後我將數據導回 JMP 進行繪圖、退化分析、相關性圖等
我當然可以在 JMP 中使用腳本來執行此操作,該腳本拆分錶、添加帶有公式的新列、堆疊這些列、重命名新列等,但這是一種非常不靈活的方法,而且我還沒有找到一種不在測試時間進行硬編碼的情況下動態執行此操作的方法。
不幸的是,Excel 資料透視表更容易使用。但我不喜歡需要在 Excel 之間來回跳轉
包含所有數據。
有什麼想法是否可以在 JMP 中使用製表符表來完成此操作?
我想你必須添加幾個公式然後你可以像這樣創建表格/匯總表

我會創建一個列來計算零值。 根據您的數據,可以使用更簡單(或更複雜)的東西
Col Mean(
If(Col Min(:Time, :Device, :Group, :Batch, :Name) == :Time,
:Value,
.
),
:Device, :Group, :Batch, :Name
);
然後創建計算列
:Value / :GroupZero - 1
和
:Value - :GroupZero
下面是 JMP 為我創建的腳本(我會對其進行大量清理並使其更健壯)
// 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))
)
);
哇! 謝謝亞爾莫!
我從沒想過 Col Mean 可以那樣使用......
如果顯然錯過了一些基礎知識。
非常非常感謝,我在我的腳本中做了一些認真的清理工作:)
/傑西卡