過去,我從 Jan-14 中減去僅月份字串 (JAN),然後將各個月份重新編碼為新標籤 (JAN) = (Q1)。 然而,這個策略是非常手動的,是否有一個我可以嵌入的公式來在將來自動執行此操作?
謝謝 Jarmo - 局部變數功能對我來說是新功能,但看起來如果我掌握了它,它可能會改變遊戲規則!
建立新列,然後將其新增為公式:
Local({month_list = (month_list = {"JAN", "FEB", "MAR", "APR", "MAY", "JUN", "JUL", "AUG", "SEP", "OCT", "NOV", "DEC"})},
Ceiling(Contains(month_list, Word(1, :MonthYear, "-")) / 3)
)確保 :MonthYear 中的列名稱正確(下圖為 A)

感謝快速回應 - 我使用的是 JMP 14,因此沒有格式模式。 我新增了一個範例文件,您能否向我展示如何使用轉換清單?
謝謝!
如果您有 JMP16,您可以先使用格式模式將字元列轉換為日期列,然後使用季度函數
Names Default To Here(1);
dt = Current Data Table();
Column(dt, 1) << Set Name("MonthYear");
Column(dt, 1) << Data Type(Numeric,
Format("Format Pattern", "<MMM><-><YY>", 35),
Input Format("Format Pattern", "<MMM><-><YY>")
);
dt << New Column("Q", Numeric, Ordinal, Formula(Quarter(:MonthYear)));</YY></MMM></YY></MMM>如果您沒有 JMP16,您可以執行月份的“轉換清單”,然後使用它來獲取季度
編輯:
16 之前的 JMP 公式,並且不使用月份列表、 contains()、word() 和上限() 轉換為第一列
dt << New Column("Q",
Numeric,
Ordinal,
Formula(
Local({month_list = (month_list = {"JAN", "FEB", "MAR", "APR", "MAY", "JUN", "JUL", "AUG", "SEP", "OCT", "NOV", "DEC"})},
Ceiling(Contains(month_list, Word(1, :MonthYear, "-")) / 3)
)
)
);