從 Excel 導入文件後轉換日期問題我認為許多用戶使用 Excel 來保存數據,因為並非組織中的每個人都可以訪問公司數據庫。
我觀察到,如果日期列中的行之間缺少數據,則日期無法正確導入(這是否意味著 JMP 無法處理同一列中的文本和數值?)。
回顧一下有關 Excel 導入後日期格式返回到 01/01/1904 的一些討論(從 Excel 導入 - 日期作為字符問題):
1) https://community.jmp.com/t5/Discussions/Need-help-converting-a-date-format-from-character-to-numeric-in/mp/356131#M60603
2) https://community.jmp.com/t5/Discussions/probl%C3%A8me-importation-date-%C3%A0-partir-d-excel/mp/601264#M80458
例子:
我想轉換將數字 45008.078125(從 Excel 導入後的 JMP 數值)轉換為 3/23/2023 1:52:30 AM(根據 Excel 中的實際數據)
我從 JMP 收到的初始解決方案是安裝插件,可以在下面的鏈接中找到該插件;
https://community.jmp.com/t5/JMP-Add-Ins/Data-Table-Tools-Add-in/tac-p/653491#M1772
(但是,該加載項不能用於這種情況,因此建議使用日期公式,我需要編輯負 2 天的公式才能獲得正確的日期)
腳步:
1)將日期列的格式從字符設置為數字
2)創建新的列公式如下;
As Date( In Days( :Diebond End Date JMPImport) + Informat ("1/1/1900", "<MM><D><YYYY><HH><:><MM><:><SS><AMPM>")) - In Days( 2 )</AMPM></SS></MM></HH></YYYY></D></MM>
JMP 公式假設使用 01/Jan/1900,但不知何故它超過了 2 天。 為什麼呢?
3)將格式模式設置為所需的格式
我設置格式模式: <:><:>
附件中的 JMP 文件示例(Diebond 結束日期 Excel 中的 5 個空單元格)
我正在使用 JMP 17.0.0。
不確定 JMP 17.1 是否解決了此問題。
自動化和腳本編寫數據混合和清理回复:從 Excel 導入文件後轉換日期問題你好@WebDesignesCrow ,(我也在插件頁面上發布了這個)
JMP的計算是正確的;例如,從 0000 算起 45008 天,1900 年 1 月 1 日是 0000,即 2023 年 3 月 25 日,而不是 2023 年 3 月 23 日。
原因如下:
1900 年至 2019 年(含)代表 30 個“區塊”,每個區塊為期 4 年。 每個“塊”包含 (366 + 365 + 365 + 365) = 1461 天,除了年份為 1900 的塊。1900 不是閏年,因為如果年份可以被 100 整除,但不能被 400 整除,那麼該年份就不是閏年。閏年。
因此,從 1900 年到 2019 年,我們有 1461 * 30 - 1 = 43829 天。
2020 年、2021 年和 2022 年增加 (366 + 365 + 365) 天。
2023 年 1 月、2 月添加 (31 + 28) 天。
2023 年 3 月加上 24 天,我們將在 25 日到達 0000。
總數為 43829 + 366 + 365 + 365 + 31 + 28 + 24 = 45008。 剩餘的小數部分就是 2023 年 3 月 25 日的小時、分鐘和秒。
我不確定 Excel 中做了什麼,但以下是手動計算日期範圍時的一些常見錯誤(Excel 文件可能就是這種情況?)
a) 將所有能被 100 整除的年份視為閏年。
b) 未能將能被 400 整除的年份視為閏年。
c) 由於濫用端點而導致天數過少或過多。 例如,
-- 自 1 月 1 日午夜起 1 天是 1 月 2 日,而不是 1 月 1 日。
-- 20 日 - 24 日(含)代表 5 天,而不是 24-20 = 4 天...等等。
我希望這有幫助,
布雷迪
回复:從 Excel 導入文件後轉換日期問題你問, ”這是否意味著 JMP 無法處理同一列中的文本和數值?”
那是對的。 Excel 是一個電子表格應用程序。 電子表格基於單元格。 JMP 是一個統計應用程序。 它基於包含變量(列)和觀察值(行)的數據表。 變量只能有一種數據類型和建模類型。
回复:從 Excel 導入文件後轉換日期問題Microsoft Excel 將 1900 年設為閏年(因為 1900 年是這樣的)蓮花1-2-3)故意的,因為它會破壞太多東西。 您可以閱讀更多內容Excel 錯誤地假定 1900 年是閏年 (learn.microsoft.com)
回覆:從 Excel 匯入檔案後轉換日期問題啊哈!
非常感謝您的解釋@jthi