My name is Mandy Chambers, and I'm a principal test engineer in the JMP Development Group. I'm here today, to talk to you about embracing some change in JMP 19, navigating the new data grid, the column tags, filtered views, and more.
You see these little guys on the screen, four little cheesy guys. Many of you might remember this book called, Who Moved My Cheese? It was written back in 1999. I was actually working at SAS then. Kind of dating myself here. We went through some change and a lot of people didn't enjoy the change. They gave us this book and we kind of laughed about it. I picked it back up as I started testing in JMP 19 and was looking at the changes in the data table, and I realized that we had the same situation. We've got a couple of players here. They got up every morning, Scurry and Sniff, and Hem and Haw, and they put on their little tracksuits and their tennis shoes, and they took off in their maze looking for their cheese.
They were very comfortable because they had a little place where they built their room, and they had their cheese every day. Then what happened is, the cheese ran out. Scurry and Sniff took off, and they went, right away, looking for new cheese, while Hem and Haw sat around, and waited, and waited, and waited, so their results were very different. I'm here today to tell you that JMP 19 has some great new cheese. I want to encourage you to be like Scurry and Sniff and accept these changes, and enhance your workflows in JMP.
One of the first changes that I'm going to talk about today, is the new data grid. It's more flexible and more intuitive of an interface. You have more data exploration within the table. The left panel has been rewritten, where the scripts, the columns, and the rows are. You'll see we have some new things called filtered views and tags, which I'm going to talk about. We have added nesting of column scripts and groups. We have column filtering to match the data grid, and we have a better way to edit longer texts that you might have in your cells in your data grid. The new column tags are kind of fun. Columns can fall into multiple groups, but when you're grouping columns, which you've always been able to do, they needed to be contiguous, or you possibly needed to move them around. Tags are great because sometimes columns could go into many places. Now, you can tag a column with multiple tags and also have it in… You can only have it in a single group, but you can tag it with multiple… Different identifiers. You have properties that you can add to tags. That means you can label them and share the attributes, and you can also save these tags and then share them between tables.
Filtered views is a way to do your data exploration right in your table. It's a way to do a lightweight analysis. You can run analysis on just the filtered part of your data. You can make subsets of that. You can limit it to certain rows. You can save your filters, and you can also create mini subsets, if you need to, of that data. Forced values is a column property that I'm tossing in here. It includes categories that may not be present or may maybe not always present in your data. You can replace data now. I think a lot of the users do this with dummy rows of data, and that could introduce errors. This new column property will maybe help you to not have to do that. Last but not least, I couldn't do a talk without at least throwing in a little bit of the Workflow Builder. We started that in JMP 17 and 18, and we have now added this great dialog that's only in Workflow Builder. Many of you probably have workflows that are very big. This is a way to find and replace things in the workflow, so I'll briefly touch on that.
Let me get right to the demo and show you some of these great new features. I want to start with the first column properties, and I want to show you this. This table is a cheese manufacturing data table. You'll notice, as I'm going through this, I'm not using all cheese data, but I'm using some cheese data. I thought that would probably be fun. This table is a great one to show you forced values. We have a column here called cheese type. In this table, we have Brie, cheddar, and Swiss cheese. I've already added the column property here just to expedite, a little bit of speed, called forced values, and I've added some values in here. I've added feta, mozzarella, and Parmesan cheese. You've got a little trash can here, so you could remove one of these. You could also uncheck something if you didn't want to remove it, and it would just be in there. You can type in more if you wanted to add another flavor of cheese.
Just to show you what it does if I run this distribution. You can see that I have… My bars are here. I've got the Brie, cheddar and Swiss cheese, but I've got placeholders for my other cheeses. If I run this Graph Builder, it's the same kind of thing. It's a little boring. It's just looking at salt concentration by cheese type. Again, I have feta, mozzarella, and Parmesan down here just in case I do some data analysis and I save the data for that. One of the most logical things that I can think of to use this for would probably be, obviously, if you have data for days of the week, or if you have data for months of the year, and you're maybe missing some places there, this is a great property to try out.
The Workflow Builder, I want to show you the way this finding works. It actually works in this side of your workflow. It goes through your step names, your notes, and obviously your code. I can see a good way for people to do this would be to possibly want to change a data table name, or maybe change columns. The way that you bring this up is you can simply be in here, and hit control find or command find, depending on which OS you're on, or you can go here and say, red triangle, advanced, find. This find dialog is only working in Workflow. It is not anywhere else in JMP. Just to note that. I've made this up using consumer preferences and color survey preference data. I'm going to go in here, and I'm going to just type that I want to look for preferences, and I'm going to see what happens. I can see, right away it comes up. I'm looking in my workflow here, there are searching scopes. I can search in step name, notes, or code.
This little guy here tells me I don't have anything found that I'm looking for. I'm sitting here saying, “I'm looking at preferences. I see the word right here, but it says match case, so let's uncheck that.” Now I can see this has been refreshed, and I've got, total hits, I've got two. It's also gone up here and put a little 1 out here. Each of these two steps has the word preferences in it, and it's looking, right now, at just my code. If I click notes it will look at the notes, and you can see it changed. If I click step name it will look at the step name and so forth. You would obviously replace it with something. I like this little replace multiple window that pops up because it'll come up and list everything that you need to replace, and you can toggle through that. You can uncheck things or check them if you want them replaced or not, so it's very handy tool.
Just to show you what it looks like if I look for something as generic as an A, you can see there's a lot going on in that. If I look at notes, it's circling and telling me. If I look at the code… I wanted to show you this one because it says it found 7 hits in this particular step, but it found greater than or equal to 10 down here, so anytime there's over a number of steps. If I were to step through this and hit the find button, you can see the little cursor is moving through here, and so forth. Just wanted to make you aware of that. I know a lot of you use the workflows, so hopefully you'll test that out, or try it out, and it'll be fun for you.
Now, let's just get into some fun cheese data. This is the new data grid. This is some of the things you can see in the data grid. You can see I have made some fun little tags in here. A couple of free things. I simply asked the Google for some information about data, maybe where cheese is processed in the United States. Surprise to me, California is a bigger region than Wisconsin. Then I was asking for different flavors and textures of data in here, and I also wanted to know which animals produced the data. I came up with this tag down here, and I'm going to just show you what the tag looks like. I don't want to make changes to this tag, but I'll just show you what I did. You can select to have a color, an emoji or nothing. I used emoji. Once you click in here, the little picker will come up. This does work the same way on Windows. You can see all my little icons are in here. This is how I selected: A cow, a sheep, a goat and a buffalo. I'll do a little bit more with that, obviously, as we go through the talk, but I just wanted to show you that briefly.
This particular column, I made it a multiple response column myself, so I could list these like this. I'm going to give you a free little tidbit that I didn't cover in the slides. Tabulate, now, will handle multiple response columns. That's that's a freebie for JMP 19. You can put it in t rows or columns side section, either one. You also can list your column down here in page columns. You can scroll through, and it changes up here if you want to use it in that respect as well. You can try that out. I've did a text explorer on the textures of cheese here, just to play around with that a little bit. I did a lot of adding and taking out phrases. If you're looking for particular cheeses in countries… This is not limited to just these countries. This is just a little handful. But I went through… Obviously we get a lot of cheese from cows. A lot in the United States, but in other countries too, France, Italy, England, and Switzerland. Here the goat doesn't produce as much, but some. You've got a sheep, but we've got buffalo cheese as well. Surprisingly, as I was researching this, I found other animals, one of which was a yak, but I didn't include that one. That's just some fun facts, here, I wanted to quickly share, now let's get right into the data grid.
The data grid has a lot going on. The column panel and the filtering of the grid now look the same. It's much nicer for wider tables. You can move through the grid, then the cells, editing long text and scrolling. I'll show you how you do that. The left data panel has been rewritten, and there's enhanced nesting of columns and scripts in the table as well. I want to make a note here that if you create this type of grouping with multiple groups of columns and scripts in JMP 19, it does not persist backwards when you go back into JMP 17 or 18. So just be aware of that and don't resave your table in a previous version of JMP.
Let's open up a couple of tables. I specifically wanted to open the semiconductor capability table because it has so many columns. A little button to point out to you here is, you see this little box that's here? I'll talk about filtered views later. There's also one there, and there's one right here. This expands this side over here so that you can see just your scripts. You can do this to scripts, columns and rows. I really think people are going to love this with columns because when you do this all of a sudden you've got your… I didn't want to select those. All of a sudden, you've got all your columns right here, and you can see, when you have many, many columns, this could be really nice. The cool thing I wanted to show you in here is, now, if I filter, and I filter on columns that start with NPN, and I'm pretty sure all of these columns are not beside each other, really, in the table, you can see that it filters down. Now what I've got in my columns panel is just those columns, and what I'm looking at in the table is just those columns. Again, if I change it to IVP, I've got that, and if I go NPN, I've got just those. The other thing to note down here is that we've added this little message that tells you that right now, we're showing 11 of 132 columns. That's also very helpful. Let me close that table up and go on to this other table.
This table is the hybrid fuel economy table, and I added some groups and things to it. I just wanted it to come in the way I saved it, so you could see it. You'll notice over here immediately, we have some group scripts. We've got Oneway grouped here, and I grouped Graph Builder, and I grouped those and all of a sudden you can see all the scripts have been reduced and grouped. We have changed the little red triangle menu here. We took some things out of that menu because we thought we really only need to have things in there that pertain to scripts. We have new table variable, new script, group scripts, and ungrouping scripts. Just be aware of that. The main menu for the red triangle menu here, is the same. I think you'll find that a little more handy that we don't have extra stuff in there. If I move down here to grouping of columns, you can see that now, not only are the columns grouped in the columns panel, but you get this grouping in your table. You can also go up here to this, and you can change this to a color, so that you could make it stand out a little more if you wanted to, and you can color all your little subgroupings up there at the top.
A few things to note, one kind of large thing here, when I double-click on this column, no longer opens up the column info dialog. We had this out throughout all of JMP 19's EA cycles. We had about a 50/50 take on people liking it and not liking it, so this is the way JMP 19 will come to you by default. I would challenge you to embrace this new cheese and try it. I've gotten used to it now. I do believe former JMPs might have done this years ago, but if you really hate it, and you don't want to do this, you do right-click, and your column info, obviously, will come up for your column. There is a setting… Oops. Sorry about that. There is a setting over here under tables, and in the tables right here it says double-click to open column info. We gave you a setting, if you check that box, and you save it, it will revert to that way, and it'll be like it was in previous versions of JMP.
A couple of other things to note. In this little triangle area up here, if I double-click, this nice little box comes up. I can add a new column. I can number columns down here. I can do it before the first, after the last, or after selected, and I could even add column properties at this point if I wanted to. Double-clicking down here, will bring up this little box to add rows. That's very handy also. If you go over here, obviously double-clicking out here, will add columns and double-clicking down here, of course will add rows. While I'm over here on this side looking at this text over here, I had added a field myself and pasted in some reviews of these cars. You can see we have always handled the text this way, and if you needed to edit it, you could click to highlight, and you could go in here and edit.
I want to bring your attention to this little triangle right here. If I open this up, you can see that now your text is populated into here. I could go in here and say, “I like this car,” and give it an exclamation point. Then, once I click off of that and go back to that, what I've added is in there. A good way to edit your text data. This works for all text, not just long text. If I go over here and click on this one, or this one, or this one, I mean the text is populated in there. Just be aware that that little button is down there. I believe that was most of what I wanted to show you in this table, so let's close those up and let's move on to my column tagging.
Column tags are fun. I have to admit, I ended up really enjoying playing with this data and doing this. As I said, you can use an emoji, you can use a color of the little tag, or you can just use nothing, if you want to do that. You can give it a description or not. Column properties can be stored and shared. Saving the tags to your preferences and then importing them to another table, I'll show you, quickly, how to do that. The tags are inherited with… The property tags are inherited with the tag. They can be copied locally. That's what we're sort of referring to this as the way you used to assign column properties. They were local to that column. Then, the column filtering matches in the columns panel, if you refresh it, it matches with your… You can filter by tags, you can filter by other things. Let me show you this real quick.
Again, some data that I found from Wikipedia. Vitamin content % Daily Intake per 100g of cheese. Then I've got a Mineral Content, down here, Daily Intake, and I've got Macronutrients. I added some tags already. I left some tags out of one of these tables just so I could show you what I'm doing here. Let me quickly show you, if I edit this tag just for fun, and I go in here, and I want to do something different to it. I've got it marked as cheese. I could go in here and I say, “Let's make it a color and maybe move the cheese.” Let's just make it a yellow and say OK. You can change your tag to not be an icon at all. You could also take it off at this point. I just wanted to show you quickly how to do that.
Now, I made a Vitamin tag here, and I made a Minerals tag here, and then I ran a couple of little tables that I want to create. Here's a Tabulate that's showing Cheese Type. You've got Vitamin B6, B12, A, D and K. I pretty much came away feeling like Swiss is still supposed to be good for me. You can tell that from some of these numbers. If I run this Graph Builder here, you kind of see the same thing with the Minerals in the Cheese per 100g. I can see calcium, and iron, and magnesium, and all these good things. And it looks like Swiss is right down here. It looks like Swiss is running a close first. I do love cheddar cheese myself, Vermont cheddar specifically. Now let's go to this table and I want to add some things to it, so you can see how easy this is. I don't have a Cheese Type on this column, a tag. I do have one over here saved in my settings. I want to go back over here again and show you we have a field for Column Tags, and I have a couple. I have a Cheese and I have this other one saved out here. So I have it saved in my preferences.
Now that I know that, there's couple ways to add it. I can click on this and I could add a cheese. I could add that here. The other way I could add it, which is a little quicker, is if I go to this column because that's where I want it to be. I click on this and say Tags. It says I have nutrients, but I want to add a tag here, so what pops up is still this little arrow. What it shows me is I have a nutrients tag that's already in this table, but I have cheese and blood pressure measures, which are global. I'm going to select the Cheese one, and I'm going to say OK, and now I have that tag in here. Very simple, very easy. You could store a lot of tags. You can share them between tables. This Nutrients tag, I want to add the same per 100g to these columns as well. Column Properties, super easy. I could go out here. This is a units measure, so I could say plus and do Units, but I could also say Import, and we've implemented this.
This is a little bit boring with this example because everything's exactly the same. I have all my table… Both tables. I have the columns. I have the columns here. You can see when I select this, this little message says some duplicate properties are selected. Only the first one is going to be imported and copied, which makes sense. But if you had more properties out here, like, sorting or value colors or distribution or something else, they would all be listed, and you would see them faintly over here to the right. Since I want to grab this property, I'm just going to pick something, it doesn't matter what, and I'm going to say OK, and now I have my units here. I've got my Units Property per 100g, I'm going to say OK, and there it is. It's on those columns, and I'm going to open up a Distribution. I'm going to show you this also.
You can select columns this way, but you also have this Tags. I can grab my Nutrients, I can click on this, and now, anything that has that tag, was thrown in here. Just to reduce this and make it a little bit smaller distribution, I'm going to take the Water out. I'm going to say OK, and now you can see I've got Protein, Fat and Carbs per cheese. We've got per 100g on the axis, so our unit of measure was brought in for this example. That's just some fun with the tags there, and that's how to do some of the importing. Let me close these up.
Now, I want to open up the Lipid Data Table and show you just a few things here. Lipid Data Table was part of JMP prior to JMP 19. It was just kind of… It didn't have a lot of anything in it, so we took it and we modified it. This is what you'll get when you open up Lipid Data. I want to tell you that this is sort of your home base if you want to learn about Tags. If you want to learn about Filtered Views, which I'm going to talk about next, we have Filter Views set up for you in here. We have several views set up. A few of these are locked, that's why they're italicized. I'll show you how to do that. But they're in here for free just so you can refer to those.
Let me go back to the data table and point out one other thing. A few people have commented that they think this is too much going on at the top of the table. They don't want to see all this. So we have a little built-in feature here with these little settings quickly at your fingertips. So you can turn things off. I'm going to turn off the Header Graphs. If you really don't like the Groups you can turn off the Groups. If you really don't like the Tags you can turn off the Tags. You can take all of that out of the right-hand side, and now your table, the grid, looks more like the table in JMP 18. However, you still have groupings over here and you still have your tags. For this example, I want to turn back on my Groups and I want to turn back on my Tags. I'll leave the Header Graphs off for the time being.
If I select a column like, let's look at Sex and Age, and let's go in here and say that we want to hide these two columns, again they're hidden. This was already in JMP 18. They're hidden from my data grid. But we thought it would be kind of nice if they were hidden over here. There's a little feature here. This little button is called a Column Panel Refresh Button. If you click now, you see I have all these tags. I can click this, and all of a sudden now, not only are they hidden from the data grid, they're hidden from the Columns Panel. I'm giving you the little note right here. I'm Showing 23 of 25 columns. Super helpful. I think you'll find that handy. You don't have to use it if you don't want to, but it's there.
Filtering on the Tags is also nice because, again, we're matching a little bit. I said, “Give me everything that has blood…” I believe those were called blood pressure. Yeah, Blood Measures. So these are all the things in this table that relate to blood measures. Then, if I clicked another filter and said, “Show me things with total measures,” then that's selected as well. It was already in there, but it's selected. I did that on purpose because I want to point out this Advanced Button that's right here. If I click this Advanced Button it comes up. I didn't want this to be too hard to see, but anyway, what's marked here, is Total Measures and Blood Measures, and it says Keep columns tagged with any of these selected tags. It says this Filter matches 8 columns, which we can all see.
If I select this ALL of the selected tags, that means I only want to see the columns that have blood measures and total measures. I think we can see that's really just one column, and if I say OK, the filter zooms in and narrows down to just the one Cholesterol column. Let that sink in for just a minute. I could have made the example a little harder, but I didn't really want to. I think you'll get the hang of that. I'm going to clear these out, and I'm going to go back and show my hidden tags, and I'm going to unhide those as well.
You can drag this little bar up. This table has a lot of tags in it. These tags also have… In this table, we have assigned some local column properties, and we also have assigned tags that have the inherited properties. I'm going to bring up the Columns Manager because I just want to show you how easy it is to see this and visualize it. You can see all your tags are listed over here with the columns, and then you can see here are the tags. Properties are listed here. You can see the tags and what they're called.
I want to draw your attention to the lightly italicized measure here. I want you to see that if I click on this, what this is, is it's telling you the distribution property is on that column, but the property is inherited from the tag: Good Measures. You do have this little button that says you can copy it local, so that you could do something with it. Same thing here with Units. If I click on this, you can see that this one's editing the cholesterol and the inherited tag is Total Measures and has the units. Just to show you the difference, if I click on the one that corresponds to triglycerides, that one is a local units property that's been assigned to the column totally on the column. So you could go in and change this right here and edit it and save it.
Just to drive that home, let's look real quick at this column in the column info dialog, just so you can see how these show up differently. I have a tag, and you can see I have two tags Good Measures and Blood Measures. Then I have Distribution, says right here it's inherited. I can copy it locally, and now it's on the column. This changed to a solid font. I don't really want to do that, so I'm going to put it back. Then I've got units here. Same thing. I could copy it locally, and then it would be local to that column. Hopefully this will be a really good reference point for a lot of you. Give that a try and look at it. I think it'll answer a lot of your questions if you have those.
In Filtered Views, I want to quickly show this to… I want to bring up Workflow quickly, is what I mean. I've got a workflow here, and I want to show you and assure you that we are recording this new stuff. I'm going to click the Record button. I'm going to go back to my cheese thing here, and I have no tags. I'm going to just do what I did earlier. I'm going to go in here and say, “Hey, I want to add a tag.” Because I have this cheese one out here, I'm going to go get it, and I'm going to say, OK. Then what I want to do is, I want to show you how you can edit a tag and add a property the other way. I'm going to go here, and I'm going to add a property, and I want to add Value Colors. I'm going to do it by Cheese Type, check this, and I'm going to go OK. There's our value colors.
Now, as we're getting into filter views, you see this little icon that pops up at the top of the columns? I'm going to create a filter here. Now we're going into the filter view, and I'm going to select Cheese for Swiss cheese, and I'm going to save it, which is this little button up here. I'm going to call this Swiss. It gets put over here on the side. I've now done several things that I want to stop recording, so I'm going to stop this. I'm going to close it up. And just like workflows do, I'm going to run it real quick, and you can see it did all the things I wanted it to do. If I go back to the… If I clear this out, or I exit my filtered view, go back, you can see it added the value colors. Very cool that we've made that stuff work. Give that a try. I think you'll like that.
This last table I want to bring up is something I got from the USDA. It's Production, Supply and Demand for Dairy. I was looking at butter, cheese, dry whole milk, milk fluid, and dry powdered milk. Kind of interesting with all the country names. Here's a graph I made showing the metric tons, 1,000 metric tons of milk, this is fluid milk, that's produced in the world for, I think this was for 2023. Probably not 2024. But at any rate, you can see that we've had a lot of milk production in the world. Filter Views are great for examining the data to help you switch between subsets. They add the ability to link to another subset. Then the Rows panel, I want to show you how that works and how it's visible. I want to also point out this little note here, just to give you another little warning. If you create tags and filtered views in JMP 19 and save them, and then you go back to JMP 18, you're going to get this little pop up box that's going to warn you and say, “Hey, you've got some new features from JMP 19, and you're going to lose them if you save your table in JMP 18.” I feel like I need to let you know that because I don't want you to miss that big fact there.
This little table, I've added some tags and so forth too. I've added some filtered views already. Let's go and let's look at the filtered views I've added. You can see that these are slanted italics. What that means is that means that these views are locked. There's your little red triangle selection to say I want to open a view as a table, or I want to open it as a link subset, or it's locked. In this particular one, I was looking 1,000 Head, which I think is the cattle for this milk fluid production. You can see down here now, what we've done is, when you're in the filtered view side of the table, the visible rows match up. What this is telling me is I have 78 rows here that I'm looking at that have this 1,000 metric Head selection. With that filter being locked, I can't click over here. I can't change anything, so it is locked. I do want to run a script, so you can see what this does. I have this Graph Builder, and this is only showing me the 78 rows from the filtered view. If I go back to the filtered view and I click Country Name… This is another one that I had locked. I can't change anything.
I was kind of interested in France, so I was looking at France. Again, I can see down here I have 33 rows now, not 78. You can also see this graph changed, but I had saved a script over here too, for distribution. And there's my distribution that shows my 33 rows of data for France. Now, if I go back in here, and I click Year, all of a sudden you saw both of these change. You see this Graph Builder changes. I've got all my data now. I've got 2114 rows of data. Same thing here. I've got all of it in this, this filter. But if I go into here, and I click into my filter here, and I start dragging this, let's say, you can see things are changing. The filter is changing according to what I'm doing here. Can make it really small, and you can see how this works.
As I'm doing this, you can see too, that this is changing. Visible rows is 66. I could go up here, and I could say, “Hey, I want to make a subset of this.” So I can click this and say Open the View as a New Table. What this does is, this makes a table that's completely separate, so I only get the 66 rows. It's a little bit more to me like doing table subset that you would have done in JMP 18. So you get your subsetted table here. As I'm looking at things in here too, it's disconnected from what's happening in my Graph Builder and my Distribution. If I go in here, and I select this and say Open the View as a Linked Subset, what I get here is, I get the 66 rows, but as you can see, if I start to drag this, it's kind of like another table where I've got this filter view, and I've got this subset, which you'll notice as I'm dragging this, nothing's changing in the graph and nothing's changing in my distribution. I think you can see that without me moving it around too much. So it is a separate table. Hopefully that makes sense, and you will be able to use that.
You do have the ability to… Let me exit this view and then let me show you, you could make your own, again, by clicking on this filter. This is another country name. I could order this or order it by count. I could go in here and say, “Hey, I want to look at the United States,” and I could say, “Let's save that.” I could call it United States, and it gets saved over here. I now have this. I didn't lock this filter view, so if I click on other stuff, it's still named United States, but I'm over here changing it. Just so you're aware of what we're looking at. Once you add that over here, let's say I don't want that one, I can hit the little box and it will delete it. This is a little button to say, “Go in here for year and let's make me another year, so we can have two filters.” Kind of nice that you can do a lot of these different things within here.
I think that's the majority of what I wanted to show you. I will mention very quickly, I'm not going to run these, but we do have available JSL for grouping the columns nested. We also have it for the filtered views, and it's out there for doing your tagging as well. Just search in the index, in the scripting index and you'll find those things.
As I close, let me just tell you that I want you to be like Scurry and Sniff. I want you to embrace the change and enhance your efficiency and your work in JMP. Move with the new cheese of JMP 19. If you like cheese like me, you might love this. Accept the changes, lead the way, and enjoy your journey along the way. Here are some references that I have. I hope you've enjoyed this presentation, and let us know what you think about JMP 19.