I tried a bunch of different things to try to make this work including what you sent and the import will show up with the digits BUT without the actual values...
Excel Value: 26/11/2019 9:41:04.191 PM
Imported into JMP: 26/11/2019 9:41:04.000 PM
Is there a setting for import that might be changing this that I haven't turned on yet or something like that?
I did notice a bug in Excel while playing around with this and I'm curious if you have the same thing happening. When the format dd/mm/yyyy hh:mm:ss.000 is in excel the values .191 display in the cell but they do not display in the formula bar at the top. When I click into the formula bar, the digits are no longer shown in the formula OR the cell. Then when I click out of the formula bar, all of the digits change to .000..... I am curious if this might play a role in how the data is grabbed from Excel.
I don't know if maybe that is just a bug of excel or it it is maybe the version that I have (Excel 2013). What version of Excel are you using when the script works for you?
I'm using Excel 365 build 1908, so a fairly new version. What version of JMP are you using?
Thanks for your thoughts and input. Unfortunately, this approach also doesn't work. The problem stems from JMP misreading the date format before it even imports it. If I run the script or try to do it throught he wizard GUI, JMP misclassifies the dates as either a d.m.y or m.d.y format when it's the other one.
Even modifying your code for different variations in date format doesn't solve the problem. It simply doesn't import the mixed format and only treats one kind or the other as continuous, the others it'll just ignore. The JSL code won't import it as a nominal data type either -- it comes straight in as continuous.
I did a little more digging into the Excel file and the one common thing across all tabs that causes this mistake when I try to import the data is when it reads down the date column and goes from the date 12.02.2019 (12th Feb, 2019) to 13.02.2019 (13th Feb, 2019).
Here's my theory: I think JMP is mixing up the format for the dates before the 12th to after. My original date range is from 02 Jan 2019 to 28 Feb 2019: 02.01.2019 to 28.02.2019.
As JMP is reading down the date column, it appears to actually be interpreting the date 02.01.2019 as 01 Feb 2019, so when it gets to 12.02.2019, it's actually reading in the date as 02 Dec 2019. As a consequence, when it gets to 13.02.2019 (13 Feb 2019), it doesn't know how to read in the date since there is no 13th month. The column properties in JMP always show it as "continuous" modelying type, "d.m.y" format and "d.m.y" input format. It does this unless I split the import into two sections.
If I split the import into two different parts, one from 02.01.2019 to 12.02.2019 and then from 13.02.2019 to 28.02.2019, JMP imports the data appropriately and assigns the column format appropriately. I can then concatenate the two into a correct data table. I don't know why it wasn't working in my original post, but it can work this way.
I can also confirm that there is no dependence on the data being correctly imported on what preferences I've set within JMP.
This is not so conducive to automation since the original file might change the location (row) of this 12th/13th date change. I guess I might have to make it work via the split route, though. If this is a bug in JMP, it would be great if this could be fixed.
JMP should honor formats that are applied specifically to a column in Excel. Have you gone into Excel and use the Format Cells dialog to explicitly set the column type to Date and then a European format like German d.m.y? In that case JMP should bring the data in correctly.
Hi Brian (@briancorcoran),
Yes, in fact the column is set to "date" with a German style d.m.y. format. Please check a previous post in this thread where I include a screen shot of the Excel column property window and the setting. Even my system setting is like that, see below.
dt:Date << Data Type (Numeric, "Continuous", Format( "m/d/y", 12 ), Input Format( "ddmmyyyy" ));
dt:Date << Data Type (Numeric, "Continuous", Format( "ddmmyyyy", 12 ), Input Format( "ddmmyyyy" ));
As stated in my response, this was very unexpected behavior and seems to be a bug to me. I am using JMP Pro 14.3
@DS, Sorry it did not work for you.
Not being from Germany, JMP interpretted the dd.mm.yyyy format as text.
You might try one of these suggestions:
I do think there is an internal bug. See my last post to Brian.
There are no labels assigned to this post.