-Well, thanks everybody for coming.
Today, we're going to talk about JMP Live 17
and how it allows you to collaborate better with JMP.
My name is Eric Hill,
I am a developer on the JMP Live team,
and my co- presenter Chris Humphrey, is also a developer on the JMP Live team.
Thought I'd start by reminding everyone what JMP Live is,
and then we can talk a little bit more about what's new and JMP Live 17.
We introduced JMP Live back in the JMP 15 cycle
about three years ago.
And what JMP Live is a web application that you access through your browser.
It is private to your company, so nobody can see the content
of your JMP L ive instance other than you and your company.
It can be installed on premises at your company,
or you have the option of having JMP host your JMP Live instance on AWS,
either way it's still private to your organization.
The main purpose, at least when we started JMP Live
was to allow people who use JMP experts who create analyses,
to be able to publish them to a place where people who don't have JMP
could see them and interact with them.
There's a lot of interest that people have in sharing their JMP discoveries
with people who don't have JMP,
and you can already do that with screenshots and powerpoints
and various things.
But those things lack an important characteristic,
and that is the interactivity that JMP is known for.
With JMP Live, you can share your discoveries
in a way that allows people to interact with them
in many of the same ways that they can that you can when you're in JMP .
It also allows people who do not have JMP , that's the main thing.
The main thing it allows people to do is people who don't have JMP
to see and interact with your content.
In 17, we've added some features to facilitate collaboration
between people who do have JMP,
so even if you and your colleague both have JMP
there's value in publishing both data and analyses to JMP Live
so that you can collaborate and make each other's analyses better.
Another thing that we have added in 17 is the ability to publish analyses
that will automatically update when new data becomes available.
And that was a big customer request and prospective customer request
that we've had in the couple years that JMP L ive has been out,
so in 17, we are delivering that feature.
Things that are new in JMP Live 17.
Well, we have this concept of spaces
that you'll see a lot during our demo today.
A space is an area of JMP Live
that you can restrict to a certain group of people.
A certain group of people
may have the right to publish content there
or view content there, or edit content,
improve or script the data, updates, those things.
So that's what a space is.
We have greatly streamlined the publishing process,
and you'll see that in a couple places in our demo today.
We now support unlimited file folder hierarchies.
So in previous versions of JMP Live , you had the root level,
and you could create one level of folders on top of that,
but beyond that, you couldn't continue to create folders at lower levels.
Well, now in 17, you have a complete hierarchy of folders,
so you can organize your content, however, makes sense.
There's also a new feature in JMP L ive 17 called Open in JMP.
So you can be using JMP Live and you can look at an analysis
that you want to maybe take further in jump.
You want to see if you could add something to that analysis
or improve it in some way.
Well, now that you can open it directly into JMP
and if you have JMP on your machine of course,
and then you can start working on it, improving it, experimenting with it,
to see if you can add to it.
So we'll again, seek some examples of that in our demo.
And then the one I alluded to in the last slide schedule data refresh,
the ability to create a script hat knows how to refresh your data,
and then to run that on a schedule every 5 m inutes,
every day, every week, however you want to do that.
Now, the premise of today's demo is that Chris and I work together
at a manufacturing company, that manufactures widgets.
And we are responsible for some of the products,
five of the products for that company, five of the widget products,
and each of those products has a certain yield
that gets reported every day.
And we need to find ways to present that are helpful to both us
and our colleagues at the organization.
So we're going to collaborate, work together
to come up with some analyses that we think are beneficial
in that regard.
So Chris, have you gotten started at all with the analyses
of the yields of our widgets?
-I have, I will share my screen, sorry.
Eric and I work on a few different parts,
and we have a couple data tables that we use to track the yields
for those different parts.
The first one is a simple data table with all five parts
that we're responsible for, with their yield values over time.
So this is something that I need to share
with the rest of the group.
So I'm going to create a simple report that shows the yield over time.
So I'll use graph builder for this.
I'll drag the date to the X column, one part to the Y column,
and now I have a report that shows my yield values over time
for this one part.
I could create four more, one for each of the remaining parts,
but I think it'll be a lot easier to use if I add a column switcher to this report,
switch out the part that I added earlier
with the five parts that are in the data table,
and now I can see every part in one report.
I can switch between it and see the yield values
for those different reports or those different parts
all in one report.
So I think that's good.
The second data table that we use is a fit model for a photo process
that we run.
This model has four factors, three responses,
and there's a script already in the data table
to run a fit lease squares that gives me a profiler.
This allows me to see the interaction between the different values.
I can change the values to see how it
impacts other values, and pretty useful to the other engineers.
So I think this is a report that I'd also like to share
with the group.
So in the past, I would either have to share my data table
with a script that others could run.
I could do screenshots,
which I would lose all the interaction ability of these reports.
Or maybe I could do a pdf also, it's not interacted.
But with JMP Live, I can publish these reports to JMP Live
directly, so others can use them just like I have here in JMP.
So I go to publish, file publish, publish reports to JMP Live.
And JMP is now setting up a connection to my JMP Live server.
I set that up previously in my managed connections.
The first screen you see is two reports, actually a list of the reports
that are open in JMP. These are the two reports that we just created.
I'll select both of those.
And down here, I'll also make sure the publish new is selected.
This is a new publish to JMP Live.
I'll select next.
And now, as Eric mentioned earlier,
I need to pick the space that we use to collaborate as a group,
or right now Eric and I are working on this before we share it with everyone.
So I'm going to use the Eric and Chris space that he and I have access to.
Within the space, I'll create a new folder called yields
to store our data and our reports.
I make sure that's selected. And I click next.
The next screen shows me the reports that are going to be published.
I see my yield report and my fit model.
And so I'll give him a new title,
and I'll change this one something a little more appropriate.
And now I'm ready to publish.
I'll hit the publish button. And at this time,
JMP is sending the reports and the data up to JMP Live to publish it on the web.
The results screen appears, and I see three sections.
First is the location,
that's the yields folder that I created in the space, Eric and Chris.
Second section are the new reports.
That's the two reports that we were working with in JMP.
And the third section is the new data that was added to JMP Live.
T hese are the data tables
that are used to support the two reports that we sent.
All of these values are hyperlinks.
So if I click on the yields, I've brought to a folder on the web
that shows the two reports that I added to JMP Live.
The one on the left is the yield report,
and I have the column switcher that I added, just like I had in JMP,
I can switch between the products and see the yield data for each product.
If I go back, I see the fit model.
And in this report,
the profiler is present, and it's as interactive as it was in JMP.
So now anyone that has access to JMP Live can use the same data
and provide the same analysis that they had in JMP.
So Eric, I think that's a good first step.
Can you take a look and see if maybe that's enough?
-I can do that.
All right. Well, that's interesting.
Let me go see if I can only go to my, we go to JMP Live in my web browser here.
And here's the instance of JMP Live that we're doing this.
I'll log into that.
All right. Okay. I can see, even right in my homepage,
I can see the two reports that Chris created.
I'm going to go ahead and go to the space where we're collaborating here.
So there's the Eric and Chris space. And there's the yields folder.
All right. Well, let's see what we've got here.
So here's the widget, is that profiler that I heard Chris talking about.
So yeah, this looks very helpful.
I think our engineers will appreciate this interactivity.
One thing I would like to do, though,
is I'd like to look at the data behind this report.
This is something else that we added new in JMP Live 17.
I need this. Let me grab this.
To get to the data, I can go to this details
here and scroll down.
And there is photo process app.
That's the data table that Chris published that's behind this analysis here.
So I will go there, and then I can just go
to view data right here, and that will bring that data up in a browser
so that I can just take a look at it.
It doesn't have the full power of the JMP data table.
I can't edit the data,
and I can't do a number of things that you can do in the JMP data table.
But I can do a number of things, and I can look through it
and just get an idea what the data looks like.
So kind of I get a feel for what's going on here.
Now, one thing I notice as I'm scrolling
through this data is that there are two material suppliers for this photo process
that Chris has analyzed here, advanced materials like it is, and Cooper.
I'm curious if the material supplier has any effect on the relationship
between the factors and the responses.
I'm going to go back to that report here. Here it is.
So what I want to do is I want to add a data filter to this,
to filter on that material supplier.
Now I can't do that directly in JMP Live. For that, I need JMP.
But it's really, JMP is only one click away.
When you're in JMP Live 17, there's a button up here called open in JMP.
So if I click that, it's going to open this report right here
and the data behind it into JMP. And there it is.
And here is the report. And then down here is the data.
Now we've opened it into a JMP project.
You may or may not have used JMP projects in the past,
but a JMP project is a convenient way to collect reports and data
that kind of go together into one object
so that you don't lose track of what goes together.
Because in JMP Live, when you have a report,
it has data that goes along with it. In order to keep those together,
when we open them in JMP,
we go ahead and put them into a project, just to kind of hold everything together.
But other than that, it will work just like JMP.
So I can go up here to the red triangle and go to local data filter.
And under factors, I have material supplier.
So I will add a data filter for that. And I will check right here in JMP
to make sure that it's worthwhile to add this even.
And sure enough, there is a good bit of movement
in the graphs as I click between the two material suppliers.
So I think that's a worthwhile addition to what Chris did.
So I would like to publish this back to JMP Live
and replace the version that Chris published.
We set up our space because we're collaborating.
We set it up so we have the ability to edit each other's content.
You don't have to set it up that way. You can set it up
so that each person's content is private from the other people,
or not, at least not editable.
But we wanted to be able to collaborate, so we set it up in the way we did.
So let's do file publish reports to JMP Live.
We're getting things ready. Okay.
There's the list squares report that I just created.
Now I'm not going to publish new this time,
I'm going to replace an existing report.
So let's choose that. So here's the report I'm publishing.
Now I've got to tell JMP what report on JMP Live do I want to replace.
So I click here, and I can see, here's the fit lease squares
that Chris just created moments ago. So I will select that.
So that's the report I will replace.
And I will add just a little extra to the title there,
just so we differentiate between the two.
I will click, and I will click next.
Now I'm presented here with an interesting decision I need to make.
When Chris published this data to JMP Live, the photo process opt data.
And when I downloaded that to my machine,
it just made a copy of that same data table on my machine.
I don't really need to republish the data here, because Chris already published it.
All I want to do is republish the report that has my data filter in it.
So rather than doing anything to the data that's on JMP Live that Chris published,
I'm just going to say, use the JMP Live data table.
Use the table that's already on JMP Live
that's associated with the report that I'm replacing.
Click, replace. Off it goes.
All right. So you see, I have,
there's the folder that I put it in, and here's the report I created.
And you see, it doesn't show any data tables here being published.
And that's because of the choice I made to just keep using the data
that's already out there.
All right. Well, if I go back to my JMP Live window here,
you can see that there's a little note here
that an updated version of this report is now available
because I publish something new. It doesn't immediately update it
because you might be in the middle of something with this report,
and don't want it to be jerked out from under you.
So we let you be the one to decide, okay, I'm ready to reload this.
And when I reload it, there's my data filter that I added.
So I can select advanced materials,
and there's the data filter for advanced materials.
Switch over to Cooper.
And I get the slightly different curves there.
All right. So I am happy with that part.
L et's take a look at what else Chris did over here.
So here's the yield report that Chris published.
It looks fine. I can switch between them and see them.
But one thing I might like to do here is create a control chart
for this yield process.
You can think of a yield process as being in control or out of control,
and that might be a helpful way to display the yield process.
So I'm not sure that that's what we want to do,
but I'm going to create that and then add it
to the folder that Chris created, so we can look at the two
and decide which one we like better or maybe you like them both.
So to do that, I don't need to download this report,
because I'm not going to do anything to his report.
I'm going to make a new report.
So I'm going to go over to the data for it,
and I'm going to open that in JMP.
Give it permission. And there you go.
So now we didn't need to create a project or anything in JMP.
We just brought the data table down and it looks like any other data
table you would open in JMP.
Now, in the interest of time,
let's go to, let's see, let's go to the home window here.
Now here's my script right here.
So I made a script to create the control chart that I'm interested in.
So I will just run that script.
And there is that same information that Chris published,
only this time it's in the form of a control chart,
so I can go down and look, I've set some spec limits on here,
so I can see that maybe some of them look pretty good.
Others, here's one that looks like it's completely
all the yields are below the lower spec limit.
So that looks like a process that we might want to look at
and try to improve the yield on.
Okay, so I like the way this looks,
I think this is a good addition to our collaboration here.
So I will publish this as well.
I'll publish reports to JMP Live.
There's the yield control chart that I just created.
I'm going to publish new and what space do I want to put that in?
Well, here's the Eric and Chris space that we've been collaborating in.
And here's the yields folder.
So I want to put that right in there.
Now let's think about the data for this one as well, because here again,
I've made a new analysis, but I haven't changed Chris's data.
So I really don't want to republish the data with this report.
I just want to continue using,
I want this report to use the data that Chris already published to JMP Live.
So to do that, I need to go to the data options tab.
And for the yield five star dot JMP data table.
Instead of publish new data, I need to select existing data,
and I will find a data source. And here it is, yield five star.
That's the one I want.
I will save that, and now I can publish.
There we are. Again, we have the folder and the report.
No data, because we didn't ask, we asked jump not to publish the data.
So should be good there. I can go back to jump live.
And I've got some new posts, and there's my control chart.
So, see how that looks. Hopefully there it is.
All right. That looks pretty good.
Now, Chris, so I've made some updates to,
I've updated one of your reports and created a new report out there.
But as I was creating, I was wondering,
we've got all the yields up to date to today, but tomorrow
we're going to produce more Widgets, and we're going to have a yield
value in the day after that, and the day after that on into the future.
So I wonder if there's a way that we could allow all these reports
that we've just created to automatically update periodically,
and maybe daily when we have new yield data.
Can we do anything like that?
-Sure, I think we can.
So in the past, even before JMP 17, we could update data from JMP.
So in the past, if I'd had this request, I would have used a simple GSL script
that would have opened the data table that Eric wants to update every day,
would have updated the values from the database,
then would have connected to JMP Live, and then updated the data on JMP Live
with the new data table using the ID of the post on JMP Live.
So that's good,
except I still have to remember every morning when I come in to make sure before
I get my coffee, that I need to push this up to JMP Live
so Eric gets the new data.
It's going to be hard to do if I'm on vacation,
and I know I won't remember. So maybe in JMP Live.
There's a better way to do it.
So here I am on the yields folder,
and I can see Eric's new report that I like a lot, the control chart report,
but I need to see if there's a way to update the data.
So I'll go to the data table,
and here I can see the two reports that use this data table.
And Eric's asked if we can update this data every day.
I see an update data button here on JMP Live .
That might help. Let's try that.
So I'll push the update data button, and now I can select the data table
on my local machine and update JMP Live with that data table.
Marginally better, I guess, because now,
at least I guess I don't have to run the last line of the script,
but I still have to update the data table with the data from the database,
and then use this button to upload the new data to JMP Live.
Still I have a lot of steps that I need to remember to do every day,
and I probably won't. If we look under settings,
there's some new items here in JMP Live 17 to make this a lot easier.
The first one we see are the refresh settings.
That's exactly what I want to do.
I want to refresh the data as quick as every morning.
So Eric gets the new data and the rest of the engineers as well.
So I'll make this refreshable, I'll go back to the reports.
And now the update data has changed to refresh data.
And so I'll refresh the data.
I get an error that says it can't be refresh able
because the refresh script is empty.
I'll go back to the settings,
and sure enough, there's nothing in my refresh script.
When we look at this screen, we see this source script.
When we updated or uploaded the JMP data table to JMP Live,
we stored the source script off for that data table, and you see it here.
In this case, this source script can be used to refresh the data directly.
So all I really need to do is to copy this
source script doubt, add it to the refresh script, and then see if that will refresh.
So I'll copy the source script, and then I'll paste it in the refresh script.
So now we have the connection to the data source and the creation of the data table.
I'll save that.
And then now I'll try to do another refresh.
I'll refresh the data.
This time it got queued for refresh.
That's nice, but it failed to refresh.
So if I look at the history tab, I can see the different things that have happened.
The on demand data refresh that I just ran looks like it failed.
And if I look at the details,
I can see that an unknown error occurred with the connection string.
It may not seem that helpful, but fortunately, I know what's wrong.
So I'll go back to the settings.
We'll look at the refresh script for a second.
If you look at the refresh script, you'll see there's a password and a user ID.
Now I could just paste my password in here and my user ID in here.
I don't think that's overly secure.
I don't think that's a good idea.
So JMP Live is provided this substitution
parameter syntax for user ID and password in a refresh script.
So what I need to do is I need to provide
this user ID and password to this refresh script somehow securely.
So if I look at the assigned credentials tab, or hanging here.
I can see there are no credentials assigned.
I'll go into assign a credential.
To create a credential, it's pretty simple.
You just store the credential name, you provide the user ID and the password.
That's all there is to it. You do it every day.
But I've already set up a yield table credentials here with DBA web JMP
as a username and a secure password that's stored in a database.
I'll assign that credential to the refresh script and then save that.
So now what's going to happen is this refresh script is going to run.
When it runs, it will request the assigned credentials, add the user ID and password
to the substitution, and then run the refresh.
So I'll go back to the reports,
and I'll see if I can refresh the data now.
I'll run refresh data.
Now the refresh looks like it worked.
I see my reports are automatically regenerating,
and I can actually see the thumbnail on the report was updated
with the new yield data from the database.
So now I'm a lot closer.
I have a refresh data button here that all I have to do is press it,
and it'll refresh the data.
I don't have to update a data table.
I don't have to upload anything to JMP Live.
All I have to do is come in every morning and remember to press this button.
It's at least more likely, but it's still not going to happen,
I promise, especially when I'm at the beach.
So there's one more pain that we haven't messed with yet,
and that's the refresh schedules.
The refresh schedules provide us a way to set up times
to refresh this data automatically. Sounds like what I want.
So I'm going to set up a refresh schedule
that will run at seven o'clock every morning and update this data.
I don't think I need to run it on Sundays or Saturdays,
and so I'll take those two out of the list, and I'll save that.
So now this refresh schedule is in place,
which means the refresh script will run five days a week
at seven o'clock in the morning.
So I'll go back to my reports, and you guys just sit
and talk amongst yourselves while we wait for seven o'clock to show up.
Probably not.
So let's see if we can look into getting a reef fresh to happen.
We'll create another schedule here that runs every 5 minutes.
And I'll set that to run.
This is the most complicated part of the demo.
I will set that to run at five, where we run here in just a second.
So let's see, I think it's going to be 27.
Let's see if that's right.
-And you can just put 32 or 33.
There you go. -Yeah.
So now I have a refresh schedule.
It's going to run every 5 Min, and I think I calculate it properly,
so to run in just a few seconds.
JMP Live is going to tell me, yes, it's going to run in just a few seconds.
We go back to the report tab,
and we'll wait for about 15 seconds here for the refresh to run.
Refresh schedules are, you can have as many as you want for each data table.
We won't run two at a time.
So now the refresh is about to run.
You see the automatic refreshes as run.
My reports are updated.
Well, they're still updating.
So both reports have updated now, just a few seconds ago,
if I actually go to the data, we also see it was updated a few seconds ago.
If we look at the history, there was a scheduled data refresh
that ran by the scheduler just a few seconds ago.
So now we have a situation where the data automatically refreshes every morning,
just like Eric wants, whether I'm on vacation, whether I remember or not.
So I think this is pretty much what Eric wants.
So, Eric, how does that look?
-Chris, that really looks good.
Let me click the new posts here,
and I can see, I'm seeing the updated versions of the reports with the new data.
So that sounds fantastic. -I think you may have
shared your wrong screen, E ric. -Okay.
Let's try that again.
Let's stop sharing.
Let's share.
Here it is.
Yep.
Yeah, Chris, that looks really good.
I'm looking at JMP Live here, and I see the two reports,
and I can see that the data has been updated.
Looks like our yield process is coming right along.
The process that they put in place
recently seem to be pushing yields up at least for this particular part
that we're seeing in the thumbnail. So that is really good.
Well, now that we've got this in place and it's working, there's more people
than just the two of us who would like to be able to see this.
So I would like to move these analyses and data that we've created
over to a space that has more people allowed to see it.
Just for reference, if I go to the permissions of this space,
the Eric and Chris space,
the only two people who can see content in this space are Chris and myself.
So we want to rather than add people to this space, we want to go ahead and put
this in a space that other people already are used to going to.
So to do that, I can switch over to the files view of this particular folder.
And I can see it looks a little bit more like a file explorer here.
I've got the three reports in here, and I've got the two data tables.
This one here, it's got a little bit of different icon to indicate
that it is automatically refreshing on a schedule.
So that's nice to know.
So I'm going to grab these five posts here,
and then I will go to move up here,
and we will move those. I need to pick a different space.
And the space is called discovery America's 2022.
And there is a folder in that space called five star line.
That's the line of products we're responsible for.
So I'm just going to move those over there.
All right. They're gone from here.
That's half the battle.
Let's go back to my space directory here and flip over to the discovery space,
into the yields folder and the five star line.
And there are our reports, right there's the report that's scheduled update.
So in this space, as I mentioned,
this space has all the people that are going to be interested in this yield data,
not just Chris and I, but the other engineers that we work with.
So that's one approach to putting some content in JMP Live,
massaging it, making sure you like it, and then share it
with a larger group of people. So that's a use case that we support here.
All right. Well, let me flip back to my slides here.
If you'd like to view the content that you saw us create here today,
there it is. The place we published it to on JMP Live
is actually viewable by anyone who can log in to this JMP Live instance,
dev live 17. jmp.com. There's a little
shortened link to it down here. And hopefully we'll get to the slide,
so you can just click on it. But as long as you have a SAS Profile ID,
you will be able to successfully log into Dev Live 17.
And you can go find that report, those reports we just published,
and you can watch it every 5 minutes, at least for the length of discovery,
they'll be updating so you can watch that yourself.
All right.
W ith that, we will see if we have any questions and that will do it.
Thanks for joining us everybody.