Hey, everyone. My name is Luna, and welcome to your tutorial on getting started with SAS Enterprise Guide. So the first question is, what is SAS Enterprise Guide? SAS Enterprise Guide is it easy to use Microsoft Windows client application that provides a visual and intuitive interface to the power of SAS. So in this tutorial, I will be highlighting many of the capabilities that SAS Enterprise Guide offers. We'll take a look at some things like, how do we access different types of data? How do we prepare and manipulate that data? We'll also take a look at several point and click tasks and wizards that Enterprise Guide makes available. These are going to help us analyze our data and also generate some reports as well. But we'll also look at the programming side as well. Enterprise Guide has a lot of programming features available, so we'll take a look at some of those. We'll also look at process flows and projects to help organize the work that we do an Enterprise Guide, and we'll also look at some project features that are available to help customize the work that we do. So but that said, let's go ahead and jump right in. The first question I have for you all is, what is your experience level with SAS Enterprise Guide? Maybe you have never really heard of Enterprise Guide before. You saw this video decided to click on it, check out what Enterprise Guide is about. Or maybe you've heard of it, but you haven't used it yourself. You've seen other people use it. No worries at all if you have no experience with SAS Enterprise Guide. This is called Getting Started with SAS Enterprise Guide. So I will be starting with square one and then building up from there. So again, if you have no experience, no worries at all. Maybe on the other hand, you do have experience, whether it's just a little bit you use it here and there, or maybe it's something that you use all the time. Even if you do have experience, I think that you'll still find this tutorial helpful. Again, I'll be highlighting many of the capabilities that SAS Enterprise Guide offers, and there's probably something in there that's new to you. So make sure to stick around. All right, so with that in mind, let's go behind the scenes a little bit. Let's see what goes on behind the scenes in Enterprise Guide and then talk about what is it that we're going to be working with. So it's important to keep in mind the Enterprise Guide is an interface to SAS. SAS itself may be on your local PC, or it might be on a remote server. In either configuration that you have, Enterprise Guide is going to prepare your code. Now this code might be something that you wrote yourself through a SAS program, or it might be something that was generated for you. Our Enterprise Guide point and click tasks and wizards are generating SAS code behind the scenes. But again, either way, you have code ready to go. That code is going to be sent over to SAS for it to be processed and executed. Once that has been executed and the results are ready, the results will be delivered back to Enterprise Guide for you to view. So that's just a little bit of what goes on behind the scenes. Now for us, when we're working at Enterprise Guide, we're going to be focused on this concept called a project. Now a project is really a collection of the different types of files that you'll be working with in Enterprise Guide. These files can include shortcuts to data. It can be sounds, programs, and logs. It can be your tasks and wizards. It could even be the results for your SAS programs and your tasks and wizards. Even more so, it could also be some informational notes that get added in for documentation purposes. Again, in a project, all of these different items are going to be packaged into one single file called a project, and that project is going to have the extension dot EGP, which stands for Enterprise Guide project. Now projects are really nice not only to package everything into one file, but there's a lot of features that come along with using projects. You can control the contents of the project. You can control the sequencing. You can control the updating, so projects provide a lot of flexibility. Now in this course or in the tutorial, for the first part, we'll mainly be working with our tasks and wizards, and tasks and wizards do require projects. So the bulk of our work will be done in an Enterprise Guide project. However, starting with Enterprise Guide 8.1, if you're a SAS programmer and you really just want to, open up data, view the data, and maybe write some SAS programs, you can actually choose to do that without using a project. So again, you have some flexibility when it comes to these projects. But for the first portion, we will be working with the project because, tasks and wizards require them. And when we go over into the programming aspect, I'll show you how we can work with Enterprise Guide without using a project. Either way we go, as we talk duties different concepts that I'll be covering in this tutorial, we are going to be working with this data from a company called Orion Star Sports and Outdoors. This is a fictitious global company. They're really a sporting goods store. So we have some data about Orion Stars' products, their orders, their employees, and then also their customers. Now how this is going to work in this tutorial is for most sections and for most demonstrations that we'll be going through, I'll present some sort of business scenario that relates to Orion Stars' data, again, whether that's about their products or the customers order employees. This is going to be retail data, and it might not really be similar to the data that you work with day to day, but you can probably think of a business problem that's similar to our scenario that relates to your specific data. So as you follow along in the tutorial, I encourage you to think of relatable business problems. Let's go ahead and get started on our first demonstration here. I'm going to show you how to navigate through Enterprise Guide, and then we'll go through a typical workflow. So we'll see how can we add data to a project. We'll analyze the data using a task, and then we'll see how we can navigate through the contents of our project. So let's go ahead and dive right in. Here I have Enterprise Guide opened up. And I specifically have Enterprise Guide 8.2. If you want to know which version of Enterprise Guide you have, you can go to the Help menu at the top. And then at the bottom, click about SAS Enterprise Guide. Next to version, you see I have 8.2, but if you have 8.1, 8.1 and 8.2 will look really similar. I'll go ahead and click OK to close out of this window, and let's go ahead and talk about the layout of the Enterprise Guide interface. At the top, I have my main menus and my toolbar. On the right-hand side here, which takes up most of the application window, is your work area. And then on the left-hand side, I have my navigation area. Let's go ahead and talk about this in a little bit more detail. First, let's talk about the work area. Now, by default, in the work area, I see the Start page open up. The Start page lets me quickly start a new SAS program, a project, maybe open up an existing file, or access some tutorials, trainings, and videos about SAS Enterprise Guide. In addition, as we open up different files in Enterprise Guide, we'll actually see that on the start page. We'll see a list of the recent items that we have access, and we can even pin them to the Start page as well. Now again, by default, we have to Start page in the work area. But as I start to open up different data source programs. Or I start running tests. I will see tabs appear in the work area for each object that I open up. So this is going to be a tab-based interface. Now that's the Start page in the work area. Let's go ahead and move over into the Navigation area. The Navigation area consists of several panes, and I'm just going to quickly describe each of these panes here. At the very top, by default, I see the Project pane. And if I do decide to work in a project in Enterprise Guide, I will see the contents of the active project listed out in the Project pane. Below the Project Pane icon, is the Open Items icon. The Open Items is a way to be able to see all the items that are currently open up in the work area. So right now, I just have the Start page open. So I see the Start page listed in my Open Items pane. This is a quick way to see what's open in the work area and manage it in the sense that I can save all the items that are opened up. I can close out of all of those tabs. Again, it's a good way to manage everything in the work area. Below the Open Items pane icon, I have the Git repositories pane icon here and the Git repository pane provides access to basic Git features, which allows us to track changes and manage version control among multiple users. The Git repositories pane is a new pane, starting with Enterprise 8.2. So if you have Enterprise Guide 8.1, you'll not see this pane there. That's what's by default on the top portion. And let's come down to the bottom portion here. I see these Servers pane. The Servers pane will show a list of servers that are known to Enterprise Guide. Below the Servers Pane icon is SAS Folders pane icon. It will display a list of SAS folders that I can access. Below that is the Task Pane icon, and this is going to display a list of those pointed quick tasks that we can use to help analyze our data. And the very last pane here is going to be the Prompt Manager pane. We're going to use this to create, edit, and delete prompts, which allow for user input and tasks in SAS programs. So that's going to be our navigation area there. Now because what I want to do is use a task to analyze my data, I know I'm going to need a project. So there's many ways to start a project. I'm going to go to File, New, and then select Projects from this menu here. Now as soon as I start a project, you'll notice a process flow is automatically created. To back up a little bit, I like to think of my project as my entire story because, again, it's going to save all the contests that we're working with in Enterprise Guide. But within a story, you have chapters, and that's what I like to think of process flows as. It's a way to break up all the work that we are doing inside of our whole umbrella of a project. So by default, we have our chapter 1, which is this process flow that is currently opened up here. Now as I actually start opening up items in my project tables and running tasks, we will see those listed in this process flow tab here, and we'll actually display the relationship among those items. We'll see that once we actually run a task. But now that I have a process flow ready to go, let's go ahead and add a table to this process flow or to this project. Again, many ways to do this-- I'll go to File, Open. But there's one little trick I want to point out here. You'll notice the icon next to open. It's the yellow folder icon. That same icon is also on my toolbar. So that's a shortcut. So let me go ahead to use the Open a File icon to go to the open window. I'll click My Computer, Browse, and I will be working with the Customers table. Notice the extension, .sas7b.-- that is the extension used for SAS tables. So I'll select it and click Open. Now first thing you'll notice is that the table actually opens up for me to view, and you'll notice that it is going to be a tab in that work area. If I go over into the Project pane, you'll notice that, by default, when I open up a file, like a table, it's going to be added into my project and to that active process flow. I just have one process flow, so Customers is added there. Now one unique feature about Enterprise Guide 8.1 and 8.2 is the ability to move around our tabs in our panes freely within the application window and even outside of the application as well. So to do this, I can really just take my Customers tab and drag it, and right now, it is free floating. I can place this wherever I like. Again, I can move it off to a separate monitor if you have multiple monitors, or as I'm dragging it, you'll notice a layout guide that pops up in the middle in blue. You can use it to dock this in maybe the bottom portion of the work area, maybe even the right side of the work area. So definitely take advantage of that. But for now, I'm just going to go ahead and move it back to its original location but know that not just tab. So even the panes can be freely moved around inside and outside of our Enterprise Skype interface. One point with that is if you move your panes around and you'd like to go back to the default setting, you can go to the View menu, select Reset to Default Layout, and then click restore. That'll put everything back to its original location. So if you move things too much, you can go ahead and take advantage of that. But now that I have a table added to my project, I can actually use a task to analyze it. So with my Customers table opened up, I'm going to go over to my Task pane. And the task that I want to use is called characterized data wizard, and that's going to be under the described category. So let me go ahead and expand describe and then double-click characterized data. Now the Characterized Data wizard is going to create reports, graphs, and output tables that describe the main characteristics of my table. Now because it is a wizard, it's going to guide us through a couple of steps to be able to create those report graphs and output tables. The Characterize Data Wizard specifically has three really quick steps that will go through. Now because I had the Customers table opened up into work area when I was starting the task, you will see that Customers was my active data source, and it's used as the input table for this wizard. So step one of the wizard is just verifying if that is our input table, the table that we want to analyze. That is. So step one is good to go. I'll go ahead and click Next. Step two is selecting our report options. The characterize data wizard can create reports, graphs, and SAS tables. And by default, all three are selected, and I'm going to leave it as-is. I want all of my report options here. Now looking at my SAS data sets, my SAS tables that get created, take a look at their table names. They have free car frequency for Customers. It's a generic and long name. To make that a little bit shorter, a little bit more descriptive, in the Frequency Data pane, I will click Browse, and I'll go ahead and change a name to customercounts, one word. And I'll go ahead and click Save. You can do the same thing for our unit area data table, but I'm good to go with step two. So I'll go ahead and click Next. Step three allows us to limit the number of unique categorical values that will be reported per variable. 30 seems a little bit high, so I'm going to go ahead and bring that down to 15. That is it for the Characterize Data Wizard. I'm going to go ahead and click Finish. Behind-the-scenes is generated. That'll be submitted over to SAS. Then it's just going to take a couple of seconds to go ahead and execute. As this was executing, although it is done now, in the bottom right-hand corner of Enterprise Guide, there is a Gear icon, which is our submission status button. And you can use this to see how long it took a specific task to run, the task status-- in this case, there was a warning and when it occurred, for example. So I see that this has successfully completed. I'll go ahead and close the Submission Status window, and let's take a look at our results here. You'll notice that I have a new Characterized Data tab in my work area. That allows me to see the results that were generated from this task. To see the results a little bit easier, I'm going to go ahead and hold down my Control key and scroll up on my mouse to zoom in on the results just to make it a little bit easier to look at. All right, so by default, you'll notice that on the Characterized Data tab there are four tabs-- code, log, results, and output data. And by default, I am on the Results tab. This is going to show me my summary report and also my graphs. So for all of my categorical or character columns, I'm going to see frequency count. So the number of times a particular age group occurred in the table-- frequency counts there-- customer country. If you look at something like customer first name, there are a lot of unique values for first names. So because of that last third step in the Characterized Data Wizard where I limited the number to 15, I will only see the top 15 names listed, and everything else gets grouped into this all other values category. So we have a couple more character columns here. I scroll down a little bit further. I come to my numeric columns. And with my numeric columns, I see some summary statistics, for example, the average age, the median age, minimum-maximum age, and so forth. Finally, at the bottom I have graphical representations of this information-- so again, looking at something like customer age group, looking at the frequency distribution in a graphical manner-- so again, a really, really quick way to get some of that information about my data, including frequency counts and some summary statistics as well. Now aside from the report in the graphs, I also requested some output data. To check that out, I'm going to click on the Output Data tab. Then this is essentially storing the statistics that we saw into an actual SAS table. I can use that same technique. I'm going to hold down my Control key, and I can scroll up to zoom in a little bit more. Here's one table that contains so summary statistics on numeric columns. And if I double-click the other tab-- this is for the frequency counts-- I get those frequency values in a separate SAS table. Because this information is stored in an actual SAS table, I could then take these tables, place them into a different task, and even further analyze the data that I have. All right, so let's go ahead and take a look at our project again. Let's take a step back and look at the big picture. If you look over into my Project pane here, you will notice that the Characterize Data Wizard was added below the Customers table, which indicates its association because the Customers table was the input to this characterized data wizard. Let me go ahead and close out of the Characterized Data and Customers tab, and let's go look at that process flow. The Project pane gives me a nice high-level overview of the contents of my project. But the Process Flow Tab is where I can see more details. So here I can see that the Customers table was input to the Characterized Data Wizard, and it generated three different pieces of output. I have two tables-- those are my two SAS output tables-- and then the report. That's the report plus the graphs all saved into one file here-- all right, so again, a lot more information about the relationship among the items that we have in our project. Before I explore that Characterized Data Wizard results further, let's go ahead and save our project. What I'll do is I'll go to File. I'll go to Save Project, project, and then I'm just going to go ahead and save it in a folder here for this course. And I'm going to go ahead and call this Orion's star because, again, we're analyzing Orion's star data. And I'll go ahead and click Save. Now let's go back to that Characterized Data wizard of results. I've closed out of the tabs, but in order to bring the tab back, what I can do is double-click on Characterized Data either in the process flow tab or in the project pane. So let me go ahead and double-click, Characterized Data. There's that tab again. And I can go ahead and further explore my results. Let's take a look at the other tabs that we haven't had a chance to look at yet. I'm going to start with the Code tab. Remember that Enterprise Guide task wizards are generating SAS code behind the scenes. And I can actually take a look at that code on the Code tab here. And there is a lot of code that was generated. All I had to do was go through quick three steps in the wizard to get the results. But again, all that code is here for you to view. If you'd like, you can take this code, make a copy of it in a SAS program and maybe make some modifications if you'd like. So that's the Code tab. The one last tab we have is the Log tab here. The Log tab is going to display messages that were returned from SAS, maybe how long it took to execute a particular part of our code, maybe if there were any warnings or errors. Those would be listed out to us in the log here. At the top portion of my log, it's called the Log Summary. And it's a quick way to see the notes, warnings, and errors that were returned. I see that I have a couple of warnings. But I have a lot of notes in here as well. To quickly locate my warnings, what I can do is go ahead and click on the Notes tab to go ahead and deselect it. And now I have just Errors and Warnings selected. And this makes it easier to identify it as warnings. If I want more information about a warning, I can click on it. And in the log, it'll actually jump me to where that log message actually occurred. So I can get more information there. All right, so that was a Characterized Data wizard and exploring those four different tabs that we got as a result of it. Let me go ahead and close my Characterized Data wizard tab. And let's go back to the idea of process flows. Now again, I mentioned that process flows are like chapters within our project. And so what I'm going to do is I'm going to go ahead and create several process flows for the different topics that we'll be talking about. For this first one right here, I'm going to start by renaming it. So to go ahead and rename it, there's several ways to do this. But in my project pane, I'll go ahead and right-click where it says Process Flow, select Rename, and I'm going to call this one Lesson 1. To create a separate process flow for Lesson 2, what I can do is go to File, New, and then Process Flow. This will open up a another process flow tab. And I can go ahead and rename this as well. Another way to rename is to click on our View and Set Properties button on the process flow toolbar. And let's go ahead and call this one Lesson 2. And go ahead and click OK. So now you see in my project, I have multiple process flow-- Lesson 1 and Lesson 2. So now when you open up items in your project, you have to be mindful about which process flow it's being added to. To select your active process flow, you can either make sure that a particular process flow tab is opened, or you can go ahead and select a particular process flow in the project pane. Whatever is going to be your active process flow is where your items are going to be added when you open them up inside of your project. So that was a quick overview at the layout of our Enterprise Guide interface and going through the typical workflow of adding data to a project and quickly analyzing it using a task specifically to Characterized Data wizard. I'm done with this demonstration. So I'll go ahead and save my project. So far in this tutorial, we have worked with SAS tables. So we saw how we could open up the SAS table in Enterprise Guide, add that table to our project, and then run some tasks against that table to get some analysis about our data. But sometimes our data isn't contained in a SAS table. Our data may be contained in something like a Microsoft Excel workbook. Or it may be in a text file. You can think of things like CSV, which are common delimited files, or maybe tab delimited files as well. So the question is, how can we take the data that's contained in these different types of files and analyze them using our Enterprise Guide tasks? Let's start by taking a look at this activity here. What we're going to do is we're going to open up the Products Excel workbook from inside of Enterprise Guide and we're going to see what happens. So let me go into my Enterprise Guide session. I'm going to first make sure that my Lesson 1 process flow tab is open so that Lesson 1 is the active process flow. Then I'm going to click on to open a file icon to open the open window and select My Computer. Now, my data is contained in the data folder, which I've already accessed, so you'll see that listed as a recent location in the open window. So I'll go ahead and select data from here and then locate my products Excel workbook. Now, just to remind you, previously, if I was opening up a SAS table, then what happened was that SAS table would open up as tab in the work area and it would be added to my project and I could see that listed in the Project page. Now with an Excel workbook, let's see what happens. I'll go ahead and click Open. And we'll see that actually Excel is opening up. So instead of seeing that data in a separate tab in the work area, the Products Excel workbook has opened up for me to view the data from directly inside of Excel. Now, if I close out of Excel here, you'll actually see that the Products Excel workbook was added to my project, specifically in my Lesson 1 process flow. But I still can't use it in a task as is right now, because if I try to open it, it just opens directly inside of Excel. So let's go back into the slides here and talk about what we can do to be able to use our Microsoft Excel data or our text files, for example. As is, a lot of these text files, for example, can be considered as unstructured data. They don't have the proper structure to them for us to be able to use them in tasks. So what we need to do is import our data into SAS. How this goes is we're going to take our data and we're going to import them into SAS using the Import Data wizard. Being a wizard, again, it's just going to guide us through a couple of quick steps, then just specify some specifications about the import itself. What happens with the Import Data wizard is it's essentially going to make a copy of our data-- our text file or our Microsoft Excel workbook-- but in a structured format, in this case, specifically SAS table. So once we import our data using the Import Data wizard to create a copy of the data as a SAS table, we can use that SAS table in all of our Enterprise guide tasks for further analysis. In this particular business scenario, Orion Star would like to analyze information about their products, but this information is currently stored in a Microsoft Excel workbook called Products. In order to use the data contained in this workbook in various analytical tasks, we need to import this data into a SAS table. So in this demonstration, I'll show you how we can import data from a Microsoft Excel workbook into a SAS table using the Import Data wizard. Now, I have the Orion Star project open. And I currently have the Lesson 1 process flow tap opened up. In a previous activity, we opened up the products Excel workbook, and we saw that it would open up in Excel instead of inside of Enterprise Guide, and a shortcut to that Microsoft Excel workbook gets added to our project. So I'm going to go ahead and double-click on products in my Lesson 1 process flow, and we're going to take a quick look at this workbook and point out a couple of things. So the first thing that you'll notice here is that in my Products Excel workbook, there are two worksheets, which we see as tabs at the bottom-- one called ProductList and another called ProdFormat. Now for this scenario, I am only interested in the ProductList Excel worksheet. Now, if you take a look at this worksheet, you'll notice that the first row contains what we want to be considered as column names. But the very first column actually does not have a name. So let's keep these things in the back of our minds. I'm going to go ahead and close Excel. And let's go ahead actually import this data this time. Now, instead of double-clicking, since that'll open the data in Excel, in order to import the data, I'm going to right-click on Products and select Import Data. This will open up the Import Data wizard. And being a wizard, it's going to guide us through four quick steps to import the data. Step one is some specifications about the data itself. We need to verify that the Products Excel workbook is what we want to import in. And we can specify some properties about the output SAS table as well. You'll notice the default output table name is Products. But I'd like to go ahead and change that. So I'll click Browse. And I will call this table ProductList. And then I'll go ahead and click Save. That's it for step one. So I'll Click Next and move on step two. Step two is where I verify which part of that Excel workbook I actually want to import in. You'll notice I can choose a particular worksheet, I can choose a range of cells, or if there is a named range, I can go ahead and select that here as well. Since I want to read in just a product list Excel worksheet, I'm going to leave it at the default settings. But note that you have different options here. On the right hand side, I have a couple options I can choose from. The first that is selected is first row range contains field names, meaning the very first row in that Excel worksheet has what I want to be considered as column names. That's true, so I'm going to leave that selected. And the second option is rename columns to comply with SAS naming convention. So I'll go ahead to select this as well. With our SAS column names, the rules are they can be one to 32 characters in length, start with a letter or an underscore, and then continue with letters, numbers, and underscores. So if these rules are not met, this option will make sure that our column names are truncated or modified to follow our SAS naming rules. That is it for step number two. I'll click Next. Let's move on to step three. Now, step three is where I can specify the column attributes. So I'm going to go ahead and make this window a little bit larger so we can actually see all the attributes. All right, so you'll notice that a lot of this, Enterprise Guide went ahead and took a guess for us. It took a guess at the name, the label, the column type, output format, and more. And you can leave this as is. However, I'd like to make a couple of changes to the attributes here. First thing is a very first column. You might remember in Excel that this column did not have a column name. In SAS, columns have to have some sort of name, so Enterprise Guide went with F1. Not really descriptive, so I'd like to go ahead and change that. So to make that change, in the name field for F1, I will triple-click. And I'm going to call this column Product_ID. I'm going to do something similar for the label. Now, the label provides more flexibility. I can have spaces and special characters. So I'll triple-click in the label field and I'll go with Product space ID for the label. That's it for that first column. Now, the only other change I want to make here is to the very last column, which is Supplier_ID. Supplier_ID only contains numbers. So Enterprise Guide took a guess that this should be a numeric column. But this contains ID values. I'm not really going to be performing any sort of calculations on an ID column, so I'd rather store it as a character column. To make that change, in the type field, I'm going to select Number. Then I'm going to select the dropdown arrow that pops up, and I'm going to select String. String is the same thing as character. Now, I get this new pop-up box that comes up here. And essentially what I need to do is tell Enterprise Guide how the length of this new character column should be determined. Now, the length of a character column corresponds to the maximum number of characters that can be stored in each row for that particular column. So I need to make sure that it's long enough to account for the longest data value that I'd have. Some options I have in terms of determining the length-- I can scan all values in the column, I can scan just a couple of rows, or I can skip the scanning process entirely and go ahead and type in a specific length. Because this worksheet is relatively small, I'm going to go ahead and scan all values in the column, click OK. And if you take a look at the length field, you'll notice that the link is 5, meaning that the longest data value was five characters. Now again, I can do more changes here. I can change the output format. I can choose to only import a subset of the columns, using this first column of checkboxes. But these are the only changes I want to make. I'm done with step three, so I'll click Next. Step number 4, I do have some advanced options that I can choose from. I will not be using any of these options now. But if you'd like to learn more about them, you can always click on the Help button. The Help button is context sensitive, so it'll take you to the documentation page that's specific to step four of that Import Data wizard. But again, I'm all done so I'll go ahead and click Finish. So I'll also go through and complete the import process. And now I am looking at that SAS table. Again, essentially, I created a copy of the Microsoft Excel worksheet, specifically. And that data is now in a SAS table as we see here. If I take a look here, I'm viewing the column names. And I see Product_ID instead of the generic F1. And my last column, I turned it into a character column, which is represented with the pyramid with an A inside of it. By default, we are viewing the column name specifically. If you'd like to see the labels instead, in the data grid toolbar, you can click this More Options, the three vertical dots, and then select Show labels. I only specified a label for Product_ID, but we see that represented here in the data grid now. I'm going to go ahead and go back to More options and go back to Show names, but just know that you have that option available to you. That is it for my importing, so I'm going to go ahead and close this Import Data tab and take a look at my Lesson 1 process flow. You'll see again, that whole story. I see that I have my Products Excel workbook. I used the Import Data wizard to import that data into a new SAS table. You've already seen that we can import data contained in Microsoft Excel workbooks into a SAS table using the Import Data wizard. Now in this scenario, Orion Star has data about payroll contained in a common delimited CSV file. In order to use this data in various analytical tasks, this data will also need to be imported into a SAS table. This is another job for the Import Data wizard. So in this demonstration, I'll show you how we can import data contained in text files into a SAS table. I already have my Orion Star project opened up with that Lesson 1 process flow tab active. And I'm going to start by opening up the payroll CSV file that we want to work with. So I'll click on the Open a file icon on the toolbar. That opens the Open window. I'll go to my computer. And from my data folder, I will open up the payroll.csv file. So when I select it and click Open, being a text file this actually does open up in a separate tab. And I'm going to go ahead and zoom in a little bit so we can take a look at the contents of the CSV file. Pointing out just a couple of things here, you'll notice that the very first row of the CSV file contains our column names. And all of our data values, including our column names are separated by commas, again, because this is a CSV file. So with those things in mind, I'm going to go ahead and close the payroll tab. We see that file added to my Lesson 1 process flow tab. So I'm going to use the same technique I did earlier to start that Import Data wizard, which is right-click payroll and select Import data. Step one should look very familiar. We're just specifying that payroll is the file that we want to import in. And we can make some changes to the name or the storage location of our output SAS table. But I'm going to leave this at the default. I'm going to leave the name as payroll and go ahead and move on to step two. Step two is where we're going to see the most differences in terms of importing data from Microsoft Excel workbooks versus importing data from text files. Now with this being a text file, you'll notice that I need to first specify what type of text file this is. Does it contain delimited fields or does it contain fixed columns? This is a delimited file. And the delimiter is a comma. So I can actually leave everything as is. But if you have different delimiters, like it's a tab delimited file or it's delimited by spaces, you can make that selection here. But again, I'm going with the default comma. And I have a couple more options on the right-hand side. The first option is file contains field names on record number one. And that is true. That very first row in the is CSV file contains what I want to be considered as column names. So I can leave that as is. And the second option, Data records start at record number two, again, that is true as well, because my actual data values start on that second row. So I don't need to make any changes in step two here. I can go ahead and move on to step three and change some of those column attributes. As I did before, I'm going to go ahead and expand this window so we can see all of the attributes that are listed here. I'm just going to make a couple of changes. The first thing I'd like to do is exclude the job title column from this import. Maybe I'm not interested in it, and I don't really need it in my output SAS table. So to avoid importing it in, I can go ahead and uncheck that checkbox, which is in the INC or Included field. That's what INC stands for, included. All right, so that's one change I want to make here. Another change I want to make is to my Employee_ID column. Enterprise Guide took a guess that this is a date column. But this is not a date column. It does not contain any date values. So in the Type field, I'm going to use that dropdown arrow. And I can change it to either a numeric or string or character column. We saw string before, so I'm going to go ahead and change it to a numeric column. And that looks good to go. The last change is just some name and label changes. So for the very last column, Termination, I'm going to go ahead and triple-click in the name field, change the name to Term_Date. This is just to match the format of our other columns, Birth_Date, Hire_Date. And while I'm at it, I'll also change the label. So I'll triple-click in the Label field. I'll call this Termination space Date. That's it for step number three. So I'll go ahead and click Next. Step four, there are some different advanced options, just because this is a text file. Again, if you want to learn more about it, feel free to click on that Help button to go check out the documentation. But I am done with the import here. I'll go ahead and click Finish. And let's take a look at that SAS table. You'll notice first, our job title is not included in the SAS table, because I unchecked the checkbox and made sure it wasn't included. Employee_ID has been read in as a numeric column, indicated by the blue circle with the pound sign inside of it. And here, you'll see that I have the Termination Date label appear. Now, I have the option set to show the labels. But remember, you can click on the More Options, three vertical dots, and you can change this to Show names to see the column names or Show labels to show the column labels. So if I go back to Show names for example I will see the actual column name, which I set to Term_Date. I'll go ahead and close the Import Data tab and take a look at that Lesson 1 process flow tab again. I see my payroll.csv file going through the Import Data wizard to create my output SAS table. Now one extra thing I'd like to show you, and it's something that's a good habit to keep, is to rename your task labels. For example here, the Import Data wizard task label is the Import Data payroll.csv. Now, that might be fine. But if you're doing a lot of imports, they're all going to have these somewhat generic names. So it's a good habit to go ahead and rename them to something more concise and descriptive. To make that change, I'm going to right-click on Import Data payroll.csv and select Rename. I'll go ahead and call this Import Employee Payroll. Now, I did not rename the import that I did to the Microsoft Excel workbook. But you can do the same process of right-click, Rename to go ahead and make that a little bit more concise and descriptive as well. So that's how you import data from a text file. We've seen that we can use Enterprise Guide to access different types of data files. But oftentimes, that data might not quite be in the shape or form that you need it to be in. For example, you may only be interested in a subset of the rows. So you may want to filter the data. You may not have all the columns that you actually need. So you may need to create new columns based off of existing columns. You may also have your data stored across multiple tables and you need to join or combine these tables together for analysis. All of these data manipulation techniques I've mentioned, and more, can be done in the Query Builder inside of Enterprise Guide. The Query Builder enables you to extract data from one or more tables, based on criteria that you specify. And its output is going to create a clean, new SAS table that you can use for further analysis. Behind the scenes, the Query Builder is creating structured query language code or S-Q-L SQL code. To get a feel for everything that we can do in the Query Builder, let's try out this activity. I'm just going to open up a SAS table, take a look at the Query Builder and see what all seems to be supported by it. So in my Orion Star project, add the Lesson 1 process flow tab opened up. And I'm going to the open window. And I'm going to go ahead and go into my data folder and open the Orders SAS table. Now, on this Orders tab, you'll notice that on the data grid toolbar, there's a Query Builder button. If I click on the Query Builder button, this will open up the Query Builder with the Orders table as input. And I just want to take a look here to see what all it is that we can do. You'll notice a Select Data tab, picking and choosing which columns I like to see in the output table. There's also an option to Select distinct rows only, have the Filter data tab to filter the rows, Sort Data tab to sort the data. On the left-hand side, I have Add Tables and Join Tables, meaning I can bring in multiple tables into the Query Builder and combine the data found in those multiple tables into one table. There is Computed Columns, so creating new columns. I have access to the Prompt Manager. There is a button for Preview, Tools, Options. And there's a lot more that we can do in the Query Builder. So over the next couple of demonstrations, we're going to take a look at some of the capabilities that the Query Builder offers. In this scenario, Orion Star would like to analyze the total amount invoiced to customers who place internet orders. Information about all orders is placed in the Order SAS table. Now, to prepare this data for input to various analytical tasks, we need to generate a subset from the Orders table, which we can do using the Query Builder. So in this demonstration, I'll show you how we can use a Query Builder to manipulate our data, which will include selecting columns, creating new columns, filtering rows, and also sorting rows as well. Now in my Orion Star project, I have my Lesson 1 process flow tab opened. And from the previous activity, I already have the Orders table added to that Lesson 1 process flow. So I'm going to go ahead and double-click on Orders. And we're just going to take a look at this table. And I want to point out a couple of things before we jump into the Query Builder. Now again, I'm interested in customers that placed an internet order. And how I know the order type is by this Order_Type column. This is a coded column. But an order type of 1 means that it was a retail or in-store purchase. An order type of 2 means that it was an internet purchase. And then an order type of 3 means that it was a phone sale. So we're only going to be interested in the orders of type 2 for internet sales. In addition, I am interested in the total amount invoiced to the customer. To calculate that amount, we are going to sum up the total retail price with the shipping value. So those are going to be the main things that we'll focus on. Let's go ahead and jump into the Query Builder. So since I have the orders tab open, I can click on that Query Builder button on the data grid toolbar. The first thing I'd like to do is go ahead and give my query a more descriptive name, and the same for my output table name as well. So for my query name, I will call it Internet Orders Query. And for my output table, I'll click Change. And let's change the output table name to Internet_Profit. And I'll go ahead and click Save. So in the Query Builder, now, let's start with the Select Data tab. Any columns that I'd like to see represented in the output table need to be included in the Select Data tab. So I'm going to pick and choose a couple of columns from the Orders table to include in my new output table. There are several ways you could go about doing this. First I'll show you how we can select a range of columns. So if I want everything from Order_ID all the way to Order_Type, what I can do is select Order_ID, hold down my Shift key, and then select Order_Type. That will select everything between Order_ID and Order_Type. And then I can drag all of those columns on to the Select Data tab. In addition, I'd like to include these Shipping and Profit columns as well. So other techniques you can use is double-click on a column. So if I double-click, Shipping is included. Or you can drag columns as well. So I'll drag Profit onto the Select Data tab. So again, many techniques you can use to include columns onto that Select Data tab. Now, the order that you see the columns listed here on the Select Data tab is the order that you'll see the columns in the output table. So I just want to make one change here. I want to take total retail price and I want to move it to below the Order_Type column. So you can drag these columns around, or you can use the arrows that are on the right-hand side. I'm going to use the move down arrow, click on it a couple of times, so that it goes right below the Order_Type column. All right, so those are the of columns I want to include from my original input table. Now again, I'm interested in the total amount invoiced to the customers. And that's a new column that I'll have to create. So to create a new column, I'm going to click on the calculator icon on the right-hand side. And if you hover over it, it says Add a New Computed Column. This opens up the new Computed Column wizard. And just click four steps to define a new column. In step one, since I'm going to be using an arithmetic expression to create this new column, I'm going to select Advanced Expression. And that's it for step number one. I'll go ahead and click Next. In step number two, I'm going to specify the expression for this new column. Now remember, the total amount invoiced to the customer is the total retail price added together with the shipping amount. So I can go ahead and type in that expression here in the expression box. But I can also point and click to create this expression as well. So to do this, what I'm going to do is I'm going to expand in the bottom left-hand corner where it says Selected Columns. These are going to be the columns that are included on that Select Data tab. To include a column into the expression, I can just double-click on it. So I'll first double-click on Total Retail Price. That gets added to my expression. And let me go ahead and zoom in here so we can see that a little bit better. And I want that added to, so I'll go ahead and you can type a plus sign or you can click the plus sign button. And then I'll double-click on Shipping. Right, so total retail price plus shipping. You'll notice that in front of the column name, you see t1. t1 is simply a table alias. You can think of it as a nickname for the Orders table. It doesn't hurt to have it in here, but it's actually not necessary in this case. So if you wanted to type out the expression yourself, you would not need to include t1 here. But my expression looks good to go. So I'm going to go ahead and click Next. And then step three specifies some of those column attributes. First thing is a column name. I'm going to call this column Invoice_Amt for amount. And this is going to be a currency value. So it may be nice to apply a format to this column so that we can see dollar signs and commas represented in our output table. So to apply a format, I'm going to click on Change. Again, this is a currency value. So under the Categories pane, I'll select Currency. We have a lot of options for formats here, but I'm going to select the DOLLARw.d format. And again, formats are all about how our data values are going to be displayed. The dollar format will display our values with dollar signs and commas included. Now my overall width is the number of spaces I'm allowing for this formatted value. So I just need to make sure that it's wide enough so that all of the numbers, dollar signs, commas, and decimal places can be properly displayed. In our case, I'm going to bring this up to about 10. That should be enough for our value here. I'd also like to see some decimal places. So for decimal places, I will bring the value up to 2 to say display two decimal values. That is it for the format. I'll click OK. I see the dollar format represented here. And that's it for step three. I'll click Next. Step four is just a verification page, a summary of everything that we specified. It all looks good, so I'll go ahead and click Finish. You'll notice that the invoice amount column has been automatically added to my Select Data tab and it's also in the list of columns under Computed Columns. This means that I can take this new Computed Column and use it to filter my data or even store all my data as well. All right, but those are all the columns I want to include. That looks good to go. So let's move on to the Filter Data tab now. Now, I'm only interested in internet orders, so I need to create a filter on the Order_Type column. So to go ahead and start that, I'm going to locate Order_Type in my list of columns and drag it on to the Filter data tab. This is going to start the New Filter wizard. And again, just two quick steps in order to create this filter here. I want the order type to be equal to-- and I want it to be equal to 2 for internet orders. Now, you could type in a value of 2 here. Or you can actually retrieve the value from the input table. If you click on this down arrow here to get values and then click on the Get values button, Enterprise Guide will go look at your Order_Type column and give you a list of the unique values in that order type column. So I could go ahead as select 2 here and they'll be added in to my value box. Go ahead and click Next. Step two, again, is just a summary of the properties I've specified. Everything looks good, so I'll go ahead and click Finish. Last thing is to store our data, so I'll click on the Store Data tab. And here, I'd like to sort on the Order_ID column, so I'll double-click Order_ID. That gets added to my Sort Data tab. And I can actually choose a source direction, ascending or descending, but I'm going to leave it at the default descending order. That's it. I'm done with everything I want to do. So I'm going to go ahead and click Run. The query is executed, and here is our brand new output table. You'll notice that every row has an order type of 2 because of the Filter that I set. And I have my brand new Invoice_Amt column that is a total of the Total Retail Price and Shipping columns. That's it. That's some of the capabilities and functionality that the Query Builder offers. We've seen that we can use the Query Builder to perform a lot of data manipulation techniques, including creating new columns, filtering rows, and sorting rows as well. One other common data manipulation technique that you may need to use is the ability to join or combine tables together. Joining tables means that we're taking columns from different tables of multiple tables and bringing them together into one single table. Let's look at our business scenario here. We have this table called Products and it contains information about Orion Star's products. It includes things like the product ID, product category, and also the product name. In addition, it contains some information about the supplier of the product, like the supplier country, name, and ID. Now, the supplier country column contains country codes. So it's just a two-letter country code. If I want more information about that country code, I would need to look at a different table called country_region_lookup. country_region_lookup will actually explain what each of those country codes mean. And it'll even tell me the region that the country falls under. So since I want more information about my supplier country, I would want to join these tables together so I have all columns from both tables available in one single table for me to use. Now, when we're performing a joint in the Query Builder, by default an inner join will be performed. But before I go into the different types of joins, let's talk about what a join really means. When you are combining tables together, there needs to be some sort of criteria so that you know that Row 1 from Table A goes with Row 1 from Table B. That's going to be our joining criteria. So let's take a look at this simple example here. I have a table called employee_payroll, and it contains some salary information about my employees. I have another table called employee_organization, and this contains department information for all of my employees. What I'd like to do is join these tables together so that I have both the salary and department information for my employees in one single table. That's a join. Now, how do I know each row from a single table goes with another row from another table? In this scenario, it's going to be based on the values of the employee ID column. I know that if there is a match, then those rows belong together in my new output table. So for example, the employee ID ending in 01, we see it in employee_payroll. We see it in employee_organization. That's a match and so we'll see that salary and department information all in one single row. That's a join. Now, specifically with an inner join, we are only going to keep the matches. So 01 is in employee_payroll. 01's in employee_organization. That's a match. It'll be included in our new output table. Same goes for 02 and 03 as well. However, employee ID 04, for example, only exists in employee_payroll. There's not a match there. Employee ID 05 only exists in employee_organization. Again, not a match there. Because I'm performing specifically an inner join, which is a default type of joint in the Query Builder, only matches will be included in my output table, which includes employee IDs 01 all the way through 03. Now, there are different types of joins that we can perform in the Query Builder. But in this tutorial, we're going to focus on inner joins. We're going to revisit a previous business scenario where we want more information about Orion Star's different products. Information about their products was imported in from the Products Excel workbook. But now, the analysts at Orion Star want more information about the supplier country. This information can be found in a separate SAS table called country_region_lookup. So to have all this information in one table we need to join the tables together. So in this demonstration, I'll show you how we can use the Query Builder to join tables together. In my Orion Star project in the Lesson 1 process flow tab here, I previously imported the data in from the Products Excel workbook into a SAS table. So I'm going to start by double-clicking on the table icon-- this is the product list table that I created earlier-- so we can take a look at its contents. Again, our focus right now is the Supplier_Country column. This is simply a two-letter country code. And I want more information. I want to know what the country code stands for as well as a region that this country belongs in. This information is again found in a separate table called country_region_lookup. We've been using the Open window to access our files up until this point, but I want to show you another way. What you can do is in the Servers pane, you can go ahead and expand servers, expand the name of your server-- mine is called local-- expand files. And from there, you can follow the path to the data. So if I scroll down, I have my data folder, which contains all the data we need in this tutorial. Here's country_region_lookup. And previously, what happened with the Open window is when you open the data, it opens in the data grid and it automatically gets added to the project. That is also the case when you open data from the Servers pane, but you actually have a little bit more flexibility. What you can do is you can right-click on the table name. And you'll notice that there are several options here. You can choose to simply open the table without adding it to your project. You can open the table and add the table to your project, which again, is a default behavior. Or you can simply add the table to the project without opening it up. So again, you have a lot of flexibility in terms of how items are added or not added to your project. You can also change the default behavior, as well, just to quickly show you where to find that. If you go to the Tools menu at the top, and then go to Options, which is at the bottom of the Tools menu. This opens up the Options window. Specifically, if you go to Project and Process Flows, you can clear the first option, which says when an item is opened, automatically add to the project. That way when you open up a file, it will not be added to your project automatically. You can then choose to manually add items to your project. Now, I'm going to stick with the default behavior. So I will not clear this checkbox. But just wanted to show you that again, you have some flexibility when it comes to projects. So I'll go ahead and close out of the Options window. I would like to actually add country_region_lookup to my project. And I want to view it as well, so I'll go ahead and double-click on it so we can take a look. Now, before I perform a join, ideally I'd like to look at these tables side by side or stacked on top of each other. So I mentioned before that you can move the tabs freely within or outside of the application window. But another trick is if you right-click on the tab-- so I'll right-click on country_region_lookup-- I can select either New vertical tab group or New horizontal tab group. I'll go with horizontal. And this allows me to have a stacked view in my work area so I can have something on the top and then something else on the bottom. So in my case, I have the imported table on top and country_region_lookup on the bottom. Now, comparing these two tables, again, I have supplier_country with the country codes up top, which is my product list table, and I have a similar column but it's called country_code in my country_region_lookup table. But it still contains those two-letter country codes. What I need to do is perform a join between country_code and supplier_country so that I have the full country name and region name together with all the information about my products. So that's the goal here. So in order to start the Query Builder with both tables as input, I'm going to go ahead and first close out of both of these table tabs. And let's go back to that Lesson 1 process flow. One way I can start the Query Builder with both tables is select one of the tables. I'm going to hold down my Control key and select the other table. With both tables selected, I can right-click on one of the tables and then select Query Builder. This will start the Query Builder with both tables as inputs. However, you notice that you will see a warning message saying a suitable join can not be determined for a new table. So we need to do the joins manually. That's not a problem. I'll go ahead and click OK. And let's take a look at this tables in Joins window. I mentioned earlier that Enterprise Guide, by default, performs an inner join. And by default, it's going to perform and inner join on columns that have the same name and are the same type. However, we saw that our columns that contain that same information don't have the same name. One is called supplier_country and the other is called country_code. Because they didn't have the same name, SAS did not automatically perform that join. But no worries, we can go ahead and manually perform the join. The one requirement is that the column types do need to be the same. And that is satisfied here, but it's because both of these are character columns. So to go ahead and perform the join manually, I'm going to start by selecting supplier_country in the product list table. Then I'm going to drag supplier_country-- I'm going to try one more time-- drag supplier_country to on top of country_code and release. Now the join will be formed on these columns. But I can specify what type of join I'd like to perform. I'm going with an inner join, so only matches, which is the default. But again, there are other types of joins available for you to include non-matches in your output table if you'd like. But again, I'm going with the inner join. It's an equality. I want supplier_country to be equal to country_code. I'll go ahead and click OK. I see that they are now connected with an inner join. So I'll go ahead and click Close. And now I'm back into the Query Builder. The only difference now from before is that now I have two tables listed here on the left-hand side rather than just one. Now, all columns from both of these tables are available for me to use anywhere in the Query Builder, which is really powerful. I'm going to go ahead and start the Query Builder as I usually do, go ahead and start by providing a name for my query. I'll call this Products Info Query. And for my output table name, I'll click Change. And I'll call it Products_Info. And go ahead and click Save. Now, I'll go ahead and pick and choose the columns I want to include. I want to include almost everything from the first product list table. So as a shortcut, what I can do is take where it says t1PRODUCTLIST, drag that onto the Select Data tab. And that'll include all columns from product lists on that Select Data tab. But since I've performed a join, I'd also like to see the columns from country_region_lookup. Specifically, I'd like the full country name. So double-click on country_name, and then also the region. So I'll double click on region since I'm going to have the full country name, I don't really need that two-letter country codes. So I'll go ahead and select supplier_country on the Select Data tab and then click on the trashcan icon, which is our delete button. So supplier_country will not be included in our output table. Now again, you can take this a step further. You can use any of these columns to filter all your rows. You can use any of these columns to sort your table. But this is all I want to do here. I'm good to go. So I'll go ahead and click Run. And let's take a look at our output table here. So I have information about all of my products. But now I just have more information about the supplier specifically. We see that I have the supplier's country with it named fully spelled out. So instead of just US, I have United States, and also the region included as well, so North America. Let me go ahead and close out of this tab. And I just want to show you one thing on the Lesson 1 process flow tab. When you perform a join, you can actually, again, see that relationship in the process flow tab. I see that both the table that was imported from the Products Excel workbook and the country_region_lookup tables went into the products info query to perform that join. And the result of the join was a table that we were just looking at, Products Info. So again, joins are really powerful. It allows you to bring columns from multiple tables together into one single table. So far in this tutorial, we've seen how we can use Enterprise Guide to access different types of data and then manipulate and prepare that data. Now that we have nice clean data to work with we are finally ready to start analyzing this data. And we're going to do that using Enterprise Guide Tasks. So what's a task? Tasks are point-and-click Interfaces that are going to guide us through analytical and data preparation processes. Now, there are tons of tasks available for us to choose from in Enterprise Guide. And we'll go ahead and explore some of those in just a bit. But these tasks are actually going to be based off of SAS procedures or SAS code. So as you point-and-click your way through a task, behind the scenes, SAS code is generated. And when you run the task and that SAS code is submitted and executed, as output, we're going to get formatted results. And these results are going to depend on the tasks that you're using. But they could be reports, they could be graphs, or they could even be output tables as well. Now, before we go ahead and take a look at some of the tasks that are available in Enterprise Guide, I wanted to quickly talk about the difference between tasks and wizards. Now, so far in this tutorial, we have seen some examples of wizards, specifically. So we saw things like the Import Data wizard and the Characterized Data wizard. Now, these are called wizards, specifically, because they guide us through the process of creating our results. You might remember that there were steps one, two, three, or steps one, two, three, four. And we were able to quickly get the results that we were looking for. That's what a wizard is. However, if you take a look at the list of tasks-- which I'll again show you in just a bit-- there are going to be some tasks that have both a wizard version and a task version, instead of just a wizard version like the Import Data wizard and Characterized Data wizard, or just task versions. One example is the Bar Chart wizard and the Bar Chart task. So what's the difference there? Well, again, with a wizard, or something like the Bar Chart wizard, it is guiding us through the process of creating our output steps-- one, two, three, four for example. And wizards are really meant to be a very quick way to get the results that we're looking for. And because of that, there's going to be a limited number of options that are available in the wizard itself. Now with a task, tasks are going to have more options that we can set more customization options that are going to be available. So if there are tasks that have both the wizard and the task version available, and you want to know which one you might want to use, well, if you just want to quickly get results in, you don't need to set too many options, or you don't need to customize the results too much, then you can use the wizards, again, quickly get the results. However, if you're looking for more customization options to really customize the look of the output that you're getting, you'd probably want to go with the task version instead. So just kind of keep that in the back of your mind. With that, let's go ahead and actually look at the task that we have. Now, we're not going to be able to talk about all the tasks that we have in Enterprise Guide because there are a lot. But I want to show you where you can find these tasks and where you might be able to get some more information about them as well. So let me hop over into Enterprise Guide. And I have my Orion Star project open up here. And we want to take a look at the task pane in our navigation area. Now, right now, you'll notice that my tasks are by default categorized. And if I wanted to look at the different tasks, I could expand a certain category, like data, for example, and see the tasks that fall under that category. So under Data, for example, I have a Data, Compare Data, and more. Now, if you don't like looking at tasks through categories, you'd rather just see a listing of tasks, instead, you can change that. So in the Tasks pane, there is this button. And it's our Sort button with the up and down arrow. If you click on the Sort button, you can choose Name instead. And this will give you an alphabetical listing of all the tasks that we have available to us in Enterprise Guide. So that might be something that you prefer. In addition, because there are a lot of tasks that are available, you can search for certain tasks using this filter to task list search button. Go ahead and type in, for example-- and I'll keep going to this example-- but bar chart. And here we will see some of the tasks that allow us to create these bar charts, which again, there are a lot of options here. Let me go ahead and click X here and go back to our list of all the tasks that we have here. Now, to find out more information about a task very quickly, what you can do is simply hover over a task. So for example, if I hover over Append Table, I can see some information. Let me just hover over that one more time. I can see the category. It's in the data category. It's a SAS procedure that's generated behind the scenes, which is going to be SQL. And then a description. It concatenates a series of tables to create an output dataset. And again, that's just a quick description. But because there are so many tasks, it's nice to be able to just simply hover over a particular task or wizard and quickly get some information about it. One other thing I'd like to mention here is maybe there are going to be tasks that you'd like to use quite often. So maybe for your work, you tend to create-- let's go, I keep using bar chart, so let's do something else. Let's say a donut chart for example. One thing that you can do is you can make certain tasks a favorite. There is a little star icon next to each of the tasks. If you select that star-- again, I just did this with a donut chart as an example-- this task is now a favorite. This is going to be nice because now you can quickly access this task. For example, right now the view in the Task pane is SAS Tasks, looking at all the tasks that I have available. If I use that drop-down menu, I can change it to Favorites to just quickly see my favorite tasks. And by default, the Import Data Wizard and the Query Builder are going to be favorite tasks. Not only that, but if you open up a table-- and I'm just going to open up a random table I have in my project-- do the Orders table, for example-- there is a task button on a data grid toolbar. And using that task button, you can quickly access your favorite tasks and then also some recent tasks here as well. So again, if there are tasks that you're going to use all the time, I would highly recommend favoriting them, because there are so many tasks that we have available in Enterprise Guide. With that said, again, we don't have time to explore all of these tasks. But we are going to take a look at a couple. So let me hop back over into my slides and quickly mention the tasks that we'll focus on in this tutorial. So in this tutorial, we are going to mainly look at two tasks. We will look at the one-way frequency tasks which will allow us to quickly generate one-way frequency reports. And then we will also look at the bar chart tasks, which will help us create bar charts. And these tasks and more can be used to analyze your data. But even more so, you could use them to explore your data if you would choose to do that instead. In addition, I think we'll also take a look at a pie chart as well. So similar to a bar chart, but again just looking at a different type of graphs to see how we can use these tasks to generate different types of output. Now, as we go through these different types of tasks, there are going to be some options that are specific to the task itself. For example, in a bar chart task, you specify what shape you want the bar charts to be. But you probably wouldn't do that in the one-way frequency task, because you're creating a report. however there are going to be some options that we will consistently see among most of the tasks that we work with. And I want to go ahead and point those out here. For most of the tasks that you'll see in Enterprise Guide, you'll most likely start by selecting some sort of input data source. Which table are we actually analyzing? And in addition, you might want to apply a quick filter to that table as well. In addition, you will most likely need to assign your columns to various tasks roles. And these task roles tells us how a column should be used in the task. Should this column be our analysis column? Should this column be our grouping column, and more. There are different types of task roles, depending on the tasks that you're using. But all of these options here-- so input, data source, filtering, and setting our column rules-- are going to be done in the data panel of a task. In addition, if your task is creating some sort of a report, then you probably want to add in some titles, something that's going to be related to the content that's being reported on. So you'll most likely see a Titles panel where you can set titles and footnotes. Another comment panel and task is going to be the Properties panel. And the Properties panel allows us to rename that task label-- so the label that we're seeing represented in our project. Then we can also modify our output format as well. So instead of seeing a default HTML output, you may want to choose to generate the results as a PDF or maybe even Excel file as well. So throughout this tutorial, we are going to use this as a basis and explore the one-way frequencies task and also the bar chart and pie chart tasks as well. Let's go ahead and start looking at our first task, which is the one-way frequencies task. Now, the one-way frequency task is going to generate one-way frequency reports. And the idea with this task is that it's going to help us address the question of how many. Some examples using the Orion Star data could be how many products do I have in each product category. How many orders were placed in each order type? How many employees are in each department? Or maybe even how many customers are in each customer age group? Again, all of these questions are about how many. And that's exactly what the one-way frequency task allows us to address. Before we take a deep dive into the one-way frequencies task, I just want to take a quick look at it to be able to address this one question here. I mentioned earlier that in most tasks, you will need to assign your columns to various task roles to specify how that column should be used in that task. Again, is it our analysis variable, is it our grouping variable, and so forth. So the question here is looking at the one-way frequency task, is there a task role that requires a variable or column assignment? Let's go into the Orion Star project to see if we can answer this question. So what I'm going to do is I'm going to start by selecting really, any table that's already in my project. I'm just going to select Customers in the Project pane and make that the active data source. With it selected, I'm going to go to my Task pane to go ahead and locate the one-way frequency task. Now, I have it in categories, but if you have it in the alphabetical order instead, so just the listing of tasks, you can just scroll to the O's and you'll be able to find one-way frequency there. But I'll go ahead and expand the Describe category-- that's where you'll find the one-way frequency task-- and then double-click one-way frequencies. Because I had a customer selected in the Project pane, it was my active data source, so it is automatically used as the input data source to this task. Now, if you look at the Task Roles pane, I see that there are three roles available in the one-way frequency task-- Analysis variables, we have the Frequency count, and then we also have the Group analysis by role. And Enterprise Guide makes it pretty easy for us. Is there one that's required? Well, probably the analysis variables, because it says a variable required, right underneath that task role. Then you'll notice out right now, because I have not assigned a column to this task role. I can't click on the Run button. So if I make, at least, some selection here. So if I maybe take customer age group for example, and drag it to that analysis variables rule, now I have done that required assignment, and just by doing that one thing that run button is now enabled. So what's really nice about these Enterprise Guide tasks, is that, really at the bare minimum, you just need to select your input data source, and assign columns to require task roles, and you will be able to get a default output, just by doing those two things. Now in upcoming demonstration, we're going to focus more on the other types of customizations that we can make in this task, to get the report that we are looking for. In this scenario, the how many question, that we'd like to address is, how many products does a Ryan star offer for each product category? So in this demonstration, I'll show you how we can use the one way frequencies test, to generate one way frequency reports, that help us address these how many questions. In Enterprise got to have the Orion Sar project open, and I'll be working in the lesson to process flow this time. So what the lesson to process will open and active, I'm going to use a service pane to add data to my project. In the server's pane, I've already expanded servers. My server name, which is local, and files. And I've already expanded out to the folder that contains the data this is tutorial. Now, I'd like to use the products table. And I don't, necessarily, need to open and view this table. I just needed to add it to my project, so that I can use it in task. So I'm going to use that trick I showed you before, which is to right click the Products table, and select Add to project. That way gets added to my project, but I won't open up from me to view. With the table added, and making sure that it's selected, so that is the active data source, I'm going to go to the task pane, expand the describe category, and then double click on One Way frequencies. This opens up the one way frequency tasks, with the products table as input. Now, by default, we are on the data panel. And this is where we can choose our input table, apply a filter, if we'd like to, and assign our columns to task rules. Now, I mentioned earlier that we need to have some sort of column assigned to the analysis variables role. It's required. But we didn't really talk about what that role means. So if you want more information about these different task roles, or really you'd want more information about the task, in general, you're going to want to click on the Help button, in the bottom right hand corner. So I'll go ahead and click on Help. This is context sensitive, so it's going to take just a second to load. But what's happening, is I've been taking to the documentation page about the one week frequency task, but it's specifically about that data panel. So we see in this page, I'm having more information about those different task roles. I can see the analysis variable roles, specifies variables to be analyzed, and for each variable that we assign to this role, the task creates a one way frequency table. And if I wanted to assign columns to other task roles, I could go ahead and read about that right here. If you want more information about other parts about the one way frequencies task, you can go ahead and use the help on when you're in a different part of the task, or, now that we're already in the documentation, I can simply navigate to the different options, or the different portions under do one way frequency task. Like if I wanted to learn more about the statistics option, I can like down this button here. And you'll notice that there are sections for all the different tasks that we have available in Enterprise Guide. So take advantage of the Help button, in a documentation that's available, so that you can learn more about the different options and settings that are available in all of these different tasks. But now let me know about the analysis variables rule, I'm going to go ahead and minimize my browser, and return back to the one way frequencies task. Now, remember, in this scenario, I would like to know how many products, which correspond to rows, there are for each product category. So in this case, product category will be my analysis variable. So I'm going to select product category. I could track it over to the analysis variables rule, but I'm going to, instead, select it. Click on the plus sign, and then assign it specifically to the analysis variables rule. Now, again, this is the only task rule that is required, and, because I did that one thing, I can actually go ahead and run and create a report right now. I'm, actually, going to go ahead and do that, so we can see the default report, then will come back into the task, and make some additional changes. So I'll go ahead and click Run. Here's our report. I'm going to zoom in a little bit, so we can take a look at what we have. The report's title, one way frequencies, results. And you'll notice that in my output report, I have one row for each unique product category. And I have the frequency, the percentage, and then, also, the cumulative frequency and percentage, as well. So, for example, I know that looking at just one example, here, in the Gulf product category, there are 346 products, which make up about 6% of all of the products that are available. Again, of long with the cumulative frequency and percentages. So this is a good starting point, and already helps us to address our question. However, maybe I'd like to make some modifications. Maybe I only want frequency percentage value, then maybe it'd be nice to make title a little bit more descriptive. If I want to go back and make changes to the task, I do not need to start from scratch. What I can do, is you'll notice on the task toolbar, there is a modified task button. When I click on this button, I am back right into the one ray frequency task, and I can just continue to make additional changes. So let's go ahead and make those changes, here. I'm going to start by going to statistics, and the selection pane. And I'm going to focus on frequency table options. Again, the default is to have frequencies, percentages, and the cumulatives. I just want frequencies and percentages. So I'll go ahead and select that option. That's it for Statistics, for now. How about, along with the summary report, also creating a bar chart to have a graphical representation of the data? Well, to do that in the selection pane, I can select plot. I have the option of, either a horizontal or vertical bar chart. For this example, I'll go with a horizontal bar chart. Let's take it a step further. Along with a report, a graph, and then let's go ahead and add an output table. Let's store this data into a table, so that we can use it for further analysis. So I'm going to click on Results. I'm going to go ahead and select the checkbox that says Create Data set, with frequency and percentages. And the default name for the table is, again, generic and long. Let's go out and change that. Click Browse, and, for this example, I will call the table Product Counts. Product Counts, and click Save. Now, continuing on with the report that we have, we know that the title right now is the default, one way frequencies results. I'd like to make that a little bit more descriptive. So in the selection pane, I'm going to select titles. Now, titles is one of those panels that you will see very often in a lot of tasks, because most house will generate some sort of report, where you might want to specify a specific title. So to change the title, I'm going to clear a checkbox that says, use default text. I'm going to delete the default title. And I'm going to change the title to number of products per category. Number of products per category. All right. Last thing that I'd like to do here is, go ahead and change the tax label. If you look at the project pane, you'll notice that the default tax label is one way frequencies. It's really just the name of the task. That might be OK, but if you use a one way frequency task multiple times, you would have one way frequencies, one, two, three. And it'll be hard to distinguish between all of them. So let's go ahead and make a task label more descriptive. I'll click on Properties, in the selection pane. And here I'm going to click on Edit. There's a lot of things we can do in the Properties window. We'll see some of it later on. But for now, I'm simply going to modify the label field, and change it to products per category. Products per category, and then, click OK. So I've made a lot of adjustments. Again, to remind you, I'm going to move the one way frequency task window. What we have here is the default report. All I did was assign a column to the analysis variables rule. Now that I've made some changes, let's give this a run. And let's see what our updated report's going to look like. Here we go. The title, the lot more descriptive, than just one way frequencies, that we had before. I'm only seeing the frequency in percentage values in my report now. Then I scroll down. I have a graphical representation of this information with a horizontal bar chart. Again, sometimes having that graphical representation, can help put the numbers in some more context, give it a different perspective. Now, in addition to the output, the report, and then the graph, I also requested an output table. So if I take a look at the output data tab, here's that table. It looks very similar to my report, where I have a count column for the frequency count, and percent for the percentages. It's just now stored and an actual SAS table, which I could then take, put it into another task, and perform some additional analysis on it if I'd like. All right. So that's looking pretty good. But there's one more change that I'd like to make. So I'm going to go back to the results tab. We changed our title. But you might have noticed this extra title, that was automatically added in, which says the FREQ procedure. Now, I did not request for this to be added in. I did not have that in myself. This is simply automatically added in. You might remember me mentioning that all of our tasks correspond to SAS procedure, or SAS code. And the name of that procedure, sometimes gets automatically represented, depending on the procedure or task that's used. So in this case, we see this actual procedure title called the FREQ procedure. This may be useful. In my case I'd like to go ahead and remove it. So to remove any of these procedure titles, you'll want to go to the Tools menu, and then go to Options at the bottom. And in the options window, I'm going to go to Task, general. So that's the general subcategory under task. And you'll notice this checkbox that says include SAS procedure, titles, and results. I don't want that. I simply need to clear this checkbox, and then click OK. Now, I made that change, but I'm still seeing the FREQ procedure title represented. All I need to do, is just run this task one more time, to get the most up to date results. We've seen that we can use modify task, which will go back into the task, and let us make additional changes. If all you need to do is rerun the task, without making changes to the task itself. So in our case, we change the system setting, or maybe the input data has updated, but you don't need to make changes to the task itself. You can simply click on Run, instead. So click Run. Here's our final updated report, and now you see that we no longer have that procedure title represented. So that's how you can easily make a one way frequency report, using the one way frequencies task. I'd like to address a different how many question. And in this scenario, Orion Star would like to know the number of employees by job title. And they'd like to take this a step further, and group the results by department. So in this demonstration, we'll revisit the one way frequencies task, but I'll show you a couple of additional options. In Enterprise Guide I have my Orion Sar project open, and I will be doing work in the lesson to process flow, again. I've already expanded to my data folder into servers pane, and we'd like to work with the employee master table. So I'll go ahead and right click employee master, and select Add to project. Then I'll go to the task pane, expand the describe category, and then double click one way frequencies. Now, as we did before, we're going to start by assigning columns to task roles. And remember, in this scenario, we want to know the number of employees by job title. So job title will be our analysis variable. I'll go ahead and take job title, and drag it over to the analysis variables rule. Since I'd like to group my results by department, department will be my group analysis by role. So take department and go ahead and drag it to that group analysis by role. Now, I'm going to go ahead and just make a couple of additional changes. I'm going to start by going to statistics, in the selection pane. And, as we did before, extent of including the cumulative frequency and percentages, I'm going to change that to just frequencies and percentages. Now, there's an additional option that I'd like to show you, and that is going to be in the results panel, in the selection pane. What happens, by default, is that when you look at your results, the rows are ordered in alphabetical order, by the values of the analysis variable. But I like to change that to be by frequency order, instead. So, at the bottom, the order output data by option, I'm going to use the drop down menu, and change that to descending frequencies. From there, It does have two more things which we've seen before, which is changing the title, and then changing the task label. So I'm going to go to titles in the selection pane, clear to use default text checkbox, and go ahead and delete the existing title. Let's change out to employees by job title. Employees by job title. Let's go ahead and delete the default footnote, as well. So in the section pane, I'm going to select footnote, clear the use default text checkbox, and simply delete the existing footnote. Last tab, go to Properties, click Edit, and, instead of the default label of one way frequencies, I'm going to change that to jobs by depth FREQ report. So jobs by, depth, for department, FREQ, for frequency report. And then, click OK. That's it. Let's go ahead and give this to run, and let's take a look at our report. I'm going to go ahead and zoom in, so it's a little bit easier to see the results. And you'll notice that, unlike before, where I just had one single table as in my report, I now have multiple tables. I have one for each unique value of department. So for example, my first table is for the department being account. And within the accounts department, I can see the unique job titles listed here. I also set the options, so that the rows are ordered by descending frequencies. So I see the job title with the highest number of employees, which is Accountant I, on the accounts department, listed first, and then it goes in descending order from there. And, as I scroll through this report, again, I get one report for each unique value of department. And it looks pretty good. So those are some additional options that we have available in the one way frequencies task. Continuing with our discussion on analyzing our data, one great way to be able to visually represent the information that you have, is through graphs. Now there are tons of graphing tasks available, and Enterprise Guide. And I have a couple of examples, here for you, to show you the type of graphs that you could create. You can create a bar line chart. You could create stacked bar charts. You can create map charts, so we're actually overlaying our data values over maps. Then you can even create a tile chart, as well. And these are not the only options available. There are so many tasks for you to be able to choose from. So in this tutorial, we are going to focus on analyzing our data using bar charts, and we'll also take a look at pie charts, as well. In this scenario, the management team for the children product line, would like to understand the purchasing habits of customers, that are not in the Orion club shopping program. So for this analysis, what they'd like to do, is they'd like to see the average profit figures for each individual product group that's within the children product line. So in this demonstration, I'll show you how we can use the bar chart task, to create bar charts. And we'll also see how we can filter our data within a task, as well. At the end, I'll show you one project feature we can use to help document the work that we do inside of the project. So in Enterprise Guide, I have the Orion start project open. And, again, we'll be doing our work in the lesson to process flow. In the servers pane, I've already expanded to the data folder for this tutorial. So I'm going to go ahead and right click on the Orion profit table that we'll use, and select Add to project. Then I'll go to the task pane, expand graph. And you'll notice that we have, both a bar chart, and a bar chart wizard. So we talked before that a wizard version is going to have less options, as compared to the full bar chart task. Now, specifically, if you want to compare to two, if you would like to do things, such as customizing your reference lines, applying formats to your columns, maybe you like to change the shape of the bars in the bar chart, or maybe you'd like to customize the axis labels and values. To be able to do those things, you would have to use a bar chart task, instead of the bar chart wizard. And I do want to take advantage of some of those features. So I'm going to double click on bar chart, which, again, will be the bar chart task. But the first thing that I'll do here, is pick what type of bar chart that I'd like to create. For this example, I'm going to go with a vertical colored bar, which will create a vertical bar chart with different colored bars. Next, in the selection pane, I'm going to move on to data, which will look very familiar to what we saw in the one way frequencies task. We have our input data source, we can apply a filter, and assign columns to task roles. Now, in Orion profit, I have profit information about products from all product lines. But I'm only interested in the children product line. So I'm going to show you how you can apply a filter within the task. We can, of course, use the Query Builder to create a new table, and use that new filter table in the bar chart task. But if you just need to apply a simple filter, this is a really quick way to do it. So here, in the data panel, I'm going to click on where it says Edit. And this will allow me to bring up the edit data and filter window to apply a very simple filter to my data. In this case, what I'm going to do is, from the first drop down menu, select the column that I want to filter on. I want to filter on the product line column. The second drop down menu is going to be the different operators that we have available to us. And here, I'm going to go with equality. So I'll select equal to. In the last box, I can type in the value that I want product line to be, or I can go ahead and choose a value from the input table. So to choose it, I'm going to click on these three dots here. This is our value selector button. And I have the different values for product line that exist in the Orion profit table. I'm going to select children, and click OK. And then we have a filter. I will only now be analyzing rows where the product line is equal to children. So I go ahead and click OK. I see that filter represented in task filter. And now I can move on, like I've done before, where I can assign different columns to my task roles here. So, again, I want to look at average profit figures by product group. Because I want each of the bars to be represented by product group, I will assign product group to the column to chart rule. Now, for the height of the bar, again, that's going to be my average profit value. So I'm going to look for profit, and assign profit to the sum of role. Now, in order to control the statistic, that is used to calculate the bar height, I'm going to go into my selection pane, and I'm going to go under the appearance category, all the way down to advance. So, again, this is advance under the appearance section. Now, here you'll notice this drop down menu statistic, used to calculate bar. The default is sum, which will be the sum of profits, but I'm going to use the drop down menu, and change that to the average, because, again, we're interested in average profit figures. I'd like to see the average value actually represented in my bar chart. So I'm going to select the checkbox that says specify one statistical value to show for buyers. And I'm going to go ahead and change that to the average. Just to have a label there. All right. So now that I know how my columns will be used in this task, I'm going to focus on now customizing the look of this graph. Let's start by going to layout, under Appearance. So by default, the bar chart is going to be a 2D bar chart. I'll go ahead and clear the checkbox, so that we have a 3D bar chart. I can also change the shape here. So instead of having it as blocks, let's go ahead and change that to a cylinder. I'll make one last change, here, for the order of the bars. Instead of the automatic order, let's go with descending bar height. All right. That's it for the overall shape, and look of those bars. Let's move on to another category. I'm going to go into horizontal axis, and then the axis subcategory, underneath horizontal axis, here. Now, here I am going to select the values tab. And I'm going to play around with value rotation. So the values that you actually see as labels, on that horizontal axis. For the rotation, I'm going to put them at 45 degrees. This will just make sure that the values fit nicely in our bar chart. All right. Continuing on with customizations I'm going to now move onto the vertical axis. And I'm going to go to axis, under vertical axis. Now for to label, again, my vertical axis is going to represent those profit values. So I'm going to go ahead and type average profit. That'll be my axis label for the vertical axis, While we're here, let's go ahead and add in some reference lines, as well. So under the vertical axis category, I'll select Reference lines. First I need to select a checkbox that says use reference lines. And then I can actually change the style of the reference line. So for the style, instead of a solid line, let's go ahead and change that to dashed. And for the color, instead of black, I'm going to go ahead and use a gray color. I'll go with gray 40%. Last two things I'm going to use, again, something that we've seen in other tasks, is go ahead and changing our titles, and also modifying the task properties. So I'll select titles. And let's go ahead and clear to use default text checkbox, delete the title, and, I will call this, I'm gonna say, children product line. I'll do that on the first line. And then I'll come to a second line, and type average profit by product group. So average profit by product group. Let's go ahead and change our footnote, as well. So I select footnote, and clear use default text. Go ahead and delete it. Never get to go there. Let's go into the properties. Go ahead and click Edit. And for the label here, I'm going to go with Children Avg Profit/group. So children Avg, for average, Profit/group. And go ahead and click OK. Now there are more customizations that you can make to the bar chart. As you can see, there a lot of categories available in the selection pane. But I just showed you some of the couple things that are pretty common, that we'd like to use when creating a bar charts. So I'll go ahead and click Run. And let's take a look at our bar chart. All right. So looking at this bar chart, I have one bar for each product group. And you might remember, I applied a value rotation to my label, so they're at a 45 degree angle here, so that they fit nicely. The bar height represents the average profit, which I did apply a label to, and I actually see the average profit value above each of my parts. So that looks pretty good. Now, one thing I'd like to show you is a project feature. I did apply a filter to the data within a task. So I'd like to make note of that filter and my project, just for documentation purposes. So I'm going to go ahead and close this tab for the bar chart, and come into my lesson to process flow here. I'm going to use something called the Note Field, to document the work that I did. So to add a note, I'm going to go to File, New, and then select note. This opens up a new no tab, and I can really type whatever I like here. Going to go ahead and zoom in a little bit to make the text larger. And I'm simply going to explain the filter. So I'll just say, this report includes products and the children product line. So this report includes products in the children product line. I'm going to continue to keep my good habit of renaming the different objects in my project. So for this note, instead of just leaving the name at note, I'm going to click on this properties icon. And let's go ahead and just call this filter detail. Going to click OK. Changes a name. And then I'm going to go ahead and close this note. Now you actually see this note that I created, almost like a sticky note within my process flow here. And so if you wanted to add a note, something that pertains to the entire project, you could leave your note like this. But I'm going to make a couple more changes here. First thing I'll do, is I'll click this down arrow, and select Collapse. This will make this into an icon, just like all the other objects that are in my process flow. Now this filter only really applies to this particular bar chart. It does not apply to these other one way frequency reports that I created. So I'd like to make the connection clear between the bar chart, and this filter. So in order to create that link, what I'll do is, I'm going to right click on the bar chart icon, select link to, and, in this link window, I'm going to go ahead and select that filter detail. And click OK. And now you see that my bar chart is tied to that filter detail. So if anyone was looking at this project at a later point, they would be able to know that, oh, there's a filter in the bar chart. Take a double click on the note icon, and see more information about that. So that's how you create a bar chart, using the bar chart task. As well as how you can filter data within a task, and even use notes in a project. I'd like to show you another example of working with graphs and Enterprise Guide. So in this scenario, Orion's star would like to see the total salary by department, but they'd like to see this in a pie chart form. So in this demonstration, I'll show you how we can use the pie chart task to great pie charts, but I'm going to take it a step further. I'm going to show you how we can further customize the look of our graph, by adding in just a little bit of SAS code to our task. So here my Orion Star project. I'll be working with a lesson to process flow, again. And I do want to work with the employee master table, which is already added into my project. So no need to add it again, it's already here. So I'll make sure to selected to make it active. And then in the task pane, I've already expanded the graph category. And, again, I have the pie chart task versus the pie chart wizard. If you want to be able to quickly and easily add in some code to the task, then you would want to go with the task. So I'm going to double click on a pie chart, to open up the pie chart task. So the first thing I do is specify what type of pie chart I'd like. I'm going to go with the default, which is just a simple pie. Let's move on to the data panel in the selection pane. Now here, again, we're going to specify our input table, any filters, and assign columns to task roles. The first thing I'd like to do, is go ahead and filter the data little bit, just as we did before. So I'll click on Edit, and, in the edit data and filter window, I'm just going to quickly go ahead and exclude one of the departments. So from the first drop down menu, I want to apply a filter to the department column cell select department. And, again, I just want to exclude one department, which is sales. So from an operator, I'm going to go with not equal to. And then I'll go ahead and click on the value selected at three dots. And from the list of departments, go ahead and click on the Sales department, and click OK. And, again, this will just go ahead and omit the sales department from the analysis. So let's go ahead and click OK, and create that filter. So, again, what I like to do in this scenario, is I want to look at the total salary by department. So to call that I would like to chart would be, the department. So let me take department, and drag it to the column to chart rule. That means I'll have a slice for each department at a Orion Star. And then, again, I want that slice size feet representing the total salary. So I'll drag salary to these sum of role. All right, so that looks good there for a data panel. I've assigned my columns to task rules, and I've also assigned a filter, as well. Next thing I'm going to do is, under the appearance section, I'm going to select Layout. Then here I'm just going to customize the labels, and the placement of the labels, as well. What I'd like to do is have the department name and the salary total outside of each slice, and then the percentage of the total salary, inside of each slice. So for name, I already have that outside, that's going to be the department name. And for the statistic value, again, that's already outside. For the percentage, however, by default it is not selected. I'm going to use the drop down menu, and go ahead and place it on the inside of my slices here. All right. Couple last things, as we always do. Going to go to titles, go ahead and clear use default text. And for my title here, I'm going to call it total salary by department. So total salary by department. And let's go ahead and add a footnote, as well. So going to select footnote in the section pane, clear to use default text checkbox. And I'm just going to quickly explain to filter in the footnote this time. So I'll just say figures exclude the sales department. So figures exclude the sales department. Let's go ahead and change a task label, as well. So properties, edit. And I'll go ahead and change the label to depths salaries pie. So department salaries pie/no sales. Again, just indicating the Filter in the label as well. So I'll go ahead and click OK. Let's get this a run. In here, we have our pie chart. So again, each of the slices represents the department. I have the total salary figure represented outside of the slice, along with the value or the department. And the percentage that makes up of all of the salaries combined together, inside of my pie chart here. This looks pretty good so far. Now, there's one more thing I'd like to do here to take this to the next level. And, perhaps, I'd like to emphasize, the pie chart slice for the engineering department. And emphasize it, I'd like to go ahead and explode or pop out this slice from the rest of the pie chart. This is not something that I can do with an option that's within a task, but all I need to do is add a tiny bit of code to the task itself, to be able to accomplish this. So let's go ahead and hop back into the task. I'm going to click on modified task, on the task toolbar. And, at the bottom, you'll notice that there is a preview code button. I'm going to go ahead and select on that button. This opens up the code preview for task window, and as the name implies, it's showing us the code that is generated behind the scenes. Now, right now, I'm just able to view it. But if I go ahead and select where it says Show custom code insertion points, in particular points throughout the code, I'm able to type in my own code. And, again, just just gives me more flexibility to further customize the pie chart that I'm getting here. All. Right. So here I'm going to go ahead and scroll through. I'm looking for a particular insertion point. I'm looking for the in graph options insertion point. So I'm going to go ahead and scroll through a little bit. And let's go ahead and look for InGraphOptions insertion point. Here we go. And, as you can see, in the comment it says InGraphOptions. I'm going to click where it says Insert custom code here, and I'm just going to type a little bit of code. I'm going to use the explode equals option. And in quotes, I'm going to type engineering. What this explode equals option will do is, it will go ahead and explode the slice for engineering. And that's the only code I have to add just a little bit here. So let me go ahead and close this window. Now let's just give it one more run. And there we have it. Now we have the same pie chart. But instead of it, able to explode the engineering pie chart slice. So, again, tasks have a lot of options to be able to help customize the look of the graph that we're creating. But if you know a little bit of SAS code, then you could go in to the code for the task, add some code and predefined places, and you can further customize the results, like I did here. So far in is tutorial, we've seen several different types of tasks. And now I'd like to talk about customizing the task results. Now what I mean by customizing now, is changing the output format. With the task that we use, the default output format was HTML, meaning that the reports that we were creating were generated in the HTML format. Well, we actually have a lot more options. We can choose to generate our report in the SAS report format, Listing, which is the same as text, Excel, PDF, PowerPoint or RTF, which is word document. So we have a lot of options, in terms of the type of formats that we can generate through our task. We can even take this a step further, and control the look of these output formats, as well. So what I mean by that is, with the different types of output formats that we generate, we can choose to apply a different type of style. A style is going to control the color scheme of the results, the font that's used. Again, is just that overall look and feel. So what I like to do with this activity, is show you where you can get a preview of the different type of styles we have available for you to choose from an Enterprise Guide. So I'm going to hop into Enterprise Guide, here. And to see the different types of output formats, or to styles that we can apply to output formats are, you can go to the Tools menu, and then select style manager. Now you'll see in the style list, that we have a listing of the different types of styles that we have. We see their names listed here. And in the style manager, you can simply click through these different style names, and get a preview of what the results would look like. So for example, if we select festival, we see that there is a yellow color scheme, with a purple outline to it. And on the other hand, let's say something like journal, for example. Looks more academic, with a more black and white feel to it. So you can use the style manager to get a preview of the styles, before you actually apply them to your task results. Even further, if you'd like, you can actually create your own styles, as well. What I would recommend, is create a copy of one of the existing styles, and then go ahead and modify that style to whatever you'd like it to look like. So keep the style manager on handy, so you can look to all the different styles that we have. Now I'm going to go back to my slides here. And let's take this one step further. Once we generate our output in different types of output formats, which you might want to do is to, actually, export those files. And this is not just for our results, either. Whenever we run a task, different types of output objects are generated. We get code that is generated, which is SAS code. A log is generated. You may have some output data, and you may have your results, as well. I will show you, in upcoming demonstration, how we can actually take all these different output objects, and then go ahead and export them to different types of files. So for example, if you have an output table, maybe you like to export it as a CSV file or maybe even an Excel file. We have a lot of options in order to customize the results that we have. In this scenario, Orion Star, we'd like to make it easier to share their reports, by generating their reports and different output formats. So in this demonstration, I'll show you how we can modify the properties of a task, in order to generate our reports and different output formats. And then we'll also take a look at exporting our project items, as well. So here I have the Orion Star project. And from the lesson to process flow, I'd like to work with the products for category task that we worked with previously. If I double click on products for category, we can see that on the Results tab, by default, our results were generated in the HTML format. What I'd like to do, is go ahead and change this to generate our results and different types of output formats. So to make that change, I'm going to click on Modify task, on the task toolbar. In the one way frequencies task, I'm going to select on properties, and then go ahead and click Edit. Now, before in the Properties window, all we really did was change the task label. But, this time, in the property selection pane, I'm going to go to where it says results. Now again, the default is to generate the results in the HTML format, specifically with the HTML blue style applied to it. To change that, I'm going to click on the button that says customize result format, styles, and behavior. And now I can choose from all of these different types of formats. For this demonstration, I'm going to select all of them. So SAS report, Listing, Excel, PDF, PowerPoint and RTF. I'm going to go with all of them. You'll notice on next to these output formats, there's a drop down menu for the style. I'm going to go ahead and make a couple of changes here. So let's say for SAS report, instead of the HTML blue style, I'm going to go with the meadow style, just so we can see what that looks like. And then, for Excel, I'm going to change that to Dove. Now, of course, you can change all of these other styles, as well, but I was going to change to show you what that looks like. That's it. I'm going to go ahead and click OK. And I'm going to give this a run. And let's take a look at our new results now. It's going to take just a second to run, because there are different types of output formats. But now that it's completed, take a look at our results tab. Right now, I am still viewing the HTML results, by default. But you'll notice that under the Results tab, I have a lot of option now. I have one tab for each output format that I have selected. So to take a look at them, I simply need to double click on the corresponding tab. So I'll double click on SAS report, for example. And here's the SAS report result. I did generate this using the meadow style, and we can see how that has affected, both the coloring and just the overall look of this report, here. Now for a HTML SAS report and Listing, we can view those directly inside of Enterprise Guide before the others. So Excel, PowerPoint, RTF, and PDF. We need to view those in their respective applications. So just to show you an example, if I double click on the Excel tab, the results will not open up inside of Enterprise Guide, but instead Microsoft Excel will open where I can actually view the results. So I'll zoom in a little bit here. Here's a result in Excel. Again, I applied that Dove style. I have one worksheet for to report. And I have a separate worksheet, which contains the graph that I generated with the one way frequencies task. I'll go ahead and close out of Excel, here. But Enterprise Guide makes it really easy. I just said to me, I just need to make a small change to properties of a task, and now I can generate my output in. All sorts of different output formats, here. I'd like to point out one thing, though. What I did here was, I changed a property of this specific task. Specifically this products for category one way frequencies task. So if I were to run a separate task, I would only see the default HTML results. If you always want to generate a specific output format in all the tasks that you use, you can make a system change. So to do that, and just really show you where that is, I'm going to go to the Tools menu at the top, and go to Options. In the options window, I'm going to select Results, general. And we're going to take a look at the result formats pane. Again, the default is just to generate HTML results. But if you always want to generate your results in Excel, or PDF, for example, you can make those selections here. In addition, if you want to customize those results, so maybe you want to always generate the results with a specific style, you can go to the subsection of that specific output format, and make those changes there. So again, a lot of flexibility. We were just focusing more on how do we change the output format for a particular task. Which, again, if I close out of the options window, is within the properties of a particular task. All right. Let's go ahead and take this one step further. By changing the properties of a task, I'm able to view my results in these different output formats, but they haven't been saved. If I wanted to do that, I could go ahead and export my different result objects. And, again, that includes the code, log, results, and output data. There are several ways to do this. If you click on the Share button, here is like share, and then select what it is that you want to share. Is it the result? The output data? And then you can choose to go ahead and export that. Another way to do this, is to use the tab for the specific item that you want to export. To show you an example, I'm going to go with Excel. So I'm going to right click where it says Excel, products for category. Select Share, here. And what I'll do is I'm going to go with an export. Specifically, export as a step in project. And I'll show you what that means, when we're done finishing exporting. But let me select Export, as a step and project. And, again, this will allow me to actually save this Excel file. So step one on the expert wizard, is just making sure that the Excel file is what we want to export. And so I'm going to go ahead and click Next. Then step two, I can specify where I'd like to save this file. So I'll go ahead and click Browse. And I'm going to go ahead and go to our course file location, here. So I'm going to go in. Let's save it in this location. And, for the name, I'm going to just shorten it a little bit, and call it product kept. Go ahead and click Save. Now, there's this option at the bottom, that says overwrite existing output. This is checked by default, which means, that if there already is an Excel workbook called product CAD. I'm giving Enterprise Guide the permission to go ahead and overwrite that file. If I clear this option, and a file with that name already exists, every time you perform the export, Enterprise Guide is going to append the date and time at the end. So you can have a version history of all the exports that you've done. So I'm going to go ahead and clear that option. All right. That's it for step number two. Click Next. Step number three is just a confirmation. We're good to go. So I'm going to go ahead and click Finish. All right. I see the log, and looks like this was successful. So I'm going to go ahead and close the export file tab, and then also the products for category tab. Taking a look at my process flow, I see that I generated my output formats in many different types of output formats. But because I decided to export the Excel file, I see this extra export step. Now, I'm really only seeing this, because I said not just export, but export as a step in the project. So we actually see this represented as a step in the project. And, what that means is, that if I were to run the contents of this process flow, or maybe even run the entire project, because the exporting is part of my project, it will automatically go ahead and export this file for me, as well. We can take a look if I double click. This is that product CAD Excel file that I actually exported. I'll be able to, actually, view that in Excel. And, again, this is saved in a certain location all my computer. All right. Now looks good. I'll go ahead and close. So you've seen how easy it is to generate our output formats in different types of file format, and even to export our different project items, as well. So far in this tutorial, we have added different types of files to our project. These include data or tables, and we've also added in some tasks as well. Now what I'd like to talk about, is organizing the different contents of our project. And I'd like to start by talking about how we can go about updating our results. Why might you need to update your results? Well, maybe your input data has changed to a particular task, or maybe the input data has been updated to include more rows. Whatever the reason may be, you may want to update the results that are in your project. And you have several options for them. If you like, in the project pane, you can click the green run arrow, and this will run the entire project, so everything that is in your project. However, that may not be the most efficient way to update results, if you really only need to run a portion of your project. So instead, what you can do is come to your process flow, and you'll notice the run, but not the process flow toolbar. When you click the down arrow next to run, you'll notice that there are several different run options, that are available here. I like to quickly talk about these. So let me go back to my slides. Let's talk about those four different run options. First thing I will mention, though, is the available run options will depend on the object that you have selected in that process flow. But the available run options are going to include run selected items. So if you have certain objects selected in the process flow, run selected items will only run those selected items. Run process flow will run the entire process flow. Run to selected item, will run the selected item and everything leading up to it. And then run from selected item, or run deselect an item, and everything following it. So although you could choose to run the entire project, and you may need to do that, you don't necessarily have to. You can just run a particular task. You can run everything surrounding a certain task, or even run the entire process flow. So again, a lot of different options, when it comes to updating your results. Now let's say you choose to run the entire process flow. If you have a lot of different objects in there, you might be wondering, in what order do these objects run? We'll take a look here. By default, your objects in the process flow, will execute order of top to bottom, and then left to right. What that means is that objects that are closer to the top of the process flow, will run first. And if they're objects that are in the same horizontal position, objects that are to the left, are going to run before objects to the right. In our example process flow here, the assigned project library wizard will run first, because it's at the very top of the process flow. Second will be the sample list SAS program, because the second highest object. And then finally everything in this third last row will be executed. Now let's talk about these links here. If you have objects that are linked together, whether they are automatic links that Enterprise Guide generated, or links that you define yourself, we saw an example earlier where we linked a note to a bar chart. Either way you go about that, those links, they're going to ensure a certain run order, meaning the links will run based on their dependencies, regardless of the positioning of the objects themselves. So meaning, it will follow the direction of the arrow here. So you can take advantage of this, to let's say, place objects in your process flow in a certain order. Or maybe link the objects in your process float in a certain order, as well. Last thing I'd like to talk about, are several project organization recommendations. First is something that we've been doing throughout this tutorial, is to use descriptive names. This goes for our task labels. This goes for our process flows. And it also goes to our different output tables that we generate, as well. Get in the habit of renaming those objects to something a little bit more descriptive and concise. That way when your projects get larger, and you have a lot of items in them, you're able to distinguish the different items. Documenting details. Take advantage of notes that we saw earlier, and you can choose to have them floating in your process flow, or you can link them to particular items, if they're describing a particular item. So definitely take advantage of that, as well. The last two items arranging objects and using background colors, I'd like to actually show you that in Enterprise Guide. So let me go into Enterprise Guide, here. And I have my process flow. By default, auto arrange is enabled. And what that means is, that if I try to move objects around in the process flow, Enterprise Guide doesn't really let me. Out of range essentially optimizes to view the process flow, so Enterprise Guide determines where every object should go to. If you would like to change that, you can right click anywhere in the process flow, and you can go ahead and clear the Auto Arrange option. And now you'll be able to move items freely within your process flow, so you have a lot more flexibility. What I would recommend, is go ahead and turn auto arrange on. Then Enterprise Guide optimize your process flow. And then you can turn it off to make some small adjustments to the process flow. I'll go ahead and turn it back on. The last recommendation is background color. So in the same way I'm going to right click in the background of the process flow. And then we have the background color option. And we have several colors that we can use. So I can use red, for example. And I would recommend picking a different background color for each process flow, so that you have a visual distinction between your different process flows. So those are a couple of project organization recommendations. So far in is tutorial we've seen how we can use tasks and Enterprise Guide to help us analyze our data, and generate results. And I mentioned before that, as you're pointing and clicking your way through a task, behind the scenes Enterprise Guide is actually generating SAS code. But that's not the only way to generate SAS code. If you'd like, you can choose to write out your own SAS code from scratch as, well. To do this, you can simply open up a SAS program and Enterprise Guide, and start writing your own code. Now Enterprise Guide, actually, makes coding a little bit easier, because it offers a lot of programming features. Just to point out a couple of these. You may want to take advantage of the format code feature, so the format code feature will add in line breaks, and indent certain statements. And it's just going to make your code a lot easier to look at, with just one click of a button. There is the Integrated Syntax Help feature, so, as you are typing out your code, you will see a little snippets of the syntax documentation, so you can get some help with the syntax. There is the Autocomplete feature, so get as you're typing up your code. The Autocomplete feature will make suggestions on, maybe, some column names, or maybe some options or keywords that you might want to add into your program. We have these Data Set Debugger. Now the data step is mainly used to help manipulate your data. And with a Data Step Debugger, you can execute the data step code line by line. And this is really helpful if you have any logic errors in your program. The Data Step Debugger can help you spot exactly where that logic error is occurring. We have the Program Analyzer. So the Program Analyzer allows you to identify different parts of your program, and see how each part is related to each other. This is useful if you have grid computing available, and you'd like to take advantage of that. Or to see if there's any internalization issues with your code. Finally we have the Program History, or Git Integration available, as well. This is really useful to track or manage version control for yourself, or among multiple users. So we're going to take a look at some of the features that Enterprise Guide makes available, to make coding a little bit easier. In this demonstration, I'd like to show you some of the features that are available in the Enterprise Guide program editor. So we'll focus on things like, how we can quickly format our code, how we can take advantage of the autocomplete and integrate a syntax help features, and also take a quick look at the data set debugger, as well. Now, in Enterprise Guide I still have the Orion start project opened up. And I can, actually, add programs to the project, just like I did with data and my task, as well. However starting with Enterprise Guide 8.1, if I just want to write programs or open data, I can choose to do that without using a project. So I just want to show you what that looks like. I'm going to go ahead and close this project. So I'll go to the File menu, and select closed project. So I'm completely outside of a project now, and I'm simply going to open up the program I'd like to work with. So in the servers pane, I've already navigated to that folder. And this program is eg3do1. And I'm just going to zoom in on the code, a little bit, so that it's a little bit easier to see. Now right off the bat, what you'll notice is that this code is very difficult to look at. It's all squished together, and the formatting is not very consistent. I could go ahead, and manually change the formatting. However, there's a much easier way to address this issue. On the program editor toolbar, you'll notice this button. And if you hover over, it it's called format code. If you click on that, now we'll go ahead and automatically format your entire program. So we'll add in some line breaks out logical points in your program, and also do some indenting, as well. So again, a lot easier to look at the code that we have now. So now that my code is a little bit easier to look at, let's go ahead and run this entire program. I'm going to click on the Run button on the program editor toolbar. The code will be executed to SAS, and now we have our results. Now, probably the first thing you notice is the layout of my tabs. I have the code tab on the left hand side, and the log results and output data on the right hand side. And you may like that, or you may want to change that. As we saw earlier in this tutorial, tabs can be moved around freely within the interface, outside of the main application window, or even dock in predefined areas. However, if you would like for there to be a certain default tab layout for all your SAS programs, you can set a certain option. So if you go to the View menu, and go to program tab preset, you have several options. The default is this vertical split, so the code tab on the left, and the log results and output data on the right. I'm going to change this to standard, and this looks more familiar with what we had in our task. So again, we have the code tab, the log tab, results, and output data, but they're all together, instead of being split like it was by default. All right. So that's getting the setup there. Now let's say you're looking at this program, and you're not very familiar with SAS code, so you'd like to know what some of these keywords actually mean. Any of the words that are in a blue color, you can hover over them to get a quick snippet of the SAS documentation. So for example here, if I hover over the If keyword, I see as it says it execute the SAS statement for observations that meet specific conditions. I see a little syntax box, and I get quick links to the documentation, samples in SAS notes, and papers. So pretty similar to the Help button that we saw in task, at any point, if you're not sure what a certain keyword is doing, hover over it, and then we'll go ahead and give you some more information. Let's move on to another feature, which is the Data Step Debugger. Now I do have a data step open in this program. It goes from data in line, 3 all the way to run, on line 11. And I'd like to see how this data step that code is processing behind the scenes. To do this, I need to enable the Data Step Debugger. So on the program editor toolbar, I'm going to click on this button that says debug. Has a little bug icon, here. What happens is, now anywhere where there is data step code, you will see a green line in the margin, along with that bug icon. Now to open up the Data Step Debugger, I can simply click on anywhere in that green line, or on the green button. So I'll go ahead and click on the bug, and here we have the Data Step Debugger. And, again, I'm just going to zoom in on the code a little bit, so it's a little bit easier to look at. Now, what I can do is I can click on the step execution to next line button, and just execute the statement, one by one, and see how that's affecting the values in our columns. So for example, here, I'm going to go ahead and click on the step execution to next line button. And it's going to execute what is highlighted. So this is the SET statement. The SET statement is going to read in the very first row from my input table, which is employee addresses. And I see those values represented on the right hand side. Now we're going to go into some conditional processing. So what I'm doing here, is looking at the value of country, and then setting a value for country name. Now if I look at the value of country for this first row, it is US. So this first If statement is true. So if I go ahead and execute it, it's true. So country name will be set to United States. And we see that represented on the right hand side, here. Now because I already met a true condition with this If statement, the else if, and the else statements, are entirely skipped over, and now we're at the end of the data step. I can repeat this process again. This time with the second row from my input table. So I click Next. Execute as that statement. Now we have new values, so this is the second row from our input table. And we're going to go through the conditional processing, again. This time you'll notice my country is AU. So the first if statement is going to be false. So if I go ahead and execute it, we move onto the next else if statement. In this case country this is true, because it is AU, so country name will be assigned a value of Australia. And, again, because we had a true statement, it's going to skip over to else statement, and move onto the next iteration. So you could go ahead and click through, line by line, to see what's going on behind the scenes with the data stuff. And again, this is really helpful when you have any logic errors in your program. So that you can see, where exactly in your code, that logic error is occurring. So just to show you, I'm going to go ahead and click on the running man button, here. It's going to go ahead and go finish your execution phase. Debugging is now complete. And I can go ahead and close out of the Data Step Debugger. While I'm here, I'm also going to go ahead and click on that debug button, on the program editor toolbar, again. And this will go ahead and suppress that green line and a bug that was on that margin. So we kind of got an idea of what was going on behind the scenes, with that conditional processing. I've already run this code, so I don't need to run it again. But if we take a look at our results tab, for example, we can see how the results turned out. So again, the conditional processing said, if country is US, country name should be United States. And if it's AU, then the country name should be Australia. And I see that that was properly done with my results, here. All right. Show you a couple other features. I'm going to return to the code tab, now. And now, what I'd like to do is add in a PROC MEANS step, to help calculate some summary statistics. So I'm going to come to the end of my program. And I'm going to take advantage of the autocomplete feature, to quickly type this PROC MEANS step. So I'm going to go ahead and start by typing out the key word proc, so PR. As soon as I do it, I see the autocomplete window pops up. Proc is highlighted. So because proc is highlighted, when I press these spacebar the keyword proc is added to my program, along with the space, as well. I'm going to do the same thing for means. So going to type me. The word means is highlighted. So when I pressed the spacebar, the word means is added to the program, along with a space, here. Now, next, I see the autocomplete window popping up. And here I'm seeing some valid options for a PROC MEANS statement. And, for example, there's a data equals option. When I hover over this option, I get quick information about it, which says it identifies the input SAS data set. I'd like to go ahead and use it. So I'm going to double click on data equals, to quickly add that into my program, here. Next, I see a list of the libraries that I have assigned in my current Enterprise Guide session. So I'm going to type in o. That highlights the Orion table. So I'm going to press the period key. What this will do it will add an Orion, along with the period. And then, finally, I want to work with the employee master tables. So I'll double click employee master, from the autocomplete window. Let's keep going with this. I'm going to go ahead and hit the spacebar, and, again, I see those valid options for a PROC MEANS statement, in here. I'm going to go ahead and take advantage of autocomplete, and go ahead and type in a couple of options, here. So I'm going to type in mean, I'm going to type in min, max. And I'm also going to see max this equals option, and set that equal to 2. I have to fully type all that out. I just took advantage of autocomplete, and let autocomplete fill in all the details for me. All right. Let's move on to the next line, here. And I'm going to tab over, just to keep the formatting consistent. And I'm going to use a var statement. Now, the var statement is where I specify which numeric columns I'd like to analyze, or get summary statistics for. And as soon as I type var, I actually see a listing of all the numeric columns in my input table. So I'd like to analyze salary, I'm going to type in S, that highlights salary, and I'm going to go and, actually, type in a semicolon. What this will do, it's going to add in the highlighted keyword salary, and it's going to go ahead and end that statement with a semicolon. Again, I'm going to just continue on with autocomplete, and go ahead and add in a couple of more words, here. I'm going to use a class statement, to go ahead and group my results by department. And then, at the very bottom, I'm going to add a run statement to end the PROC MEANS step. Now, I really enjoy using the integrated syntax help and autocomplete features, but if you would like to turn those off, there is a way that you can do that. At the very top, you'll want to go to program, and go ahead and select on editor options. Now, here you want to go to the autocomplete tab, and you can go ahead and clear the enable autocomplete, or enable integrated syntax help checkboxes, to go ahead and turn those off. There's a lot of other options you can set in this enhance editor options window, like, for example, changing how the formatting code feature works, or the indenting, for example. And you can even change the appearance of your SAS programs, and log files as well. So a lot of options you can set, here. I'm going to keep everything as it is, just want to show you where to find out. So I'll go ahead and click Cancel, and return back to my program. Now, I've already run everything in this program, except for the PROC MEANS. So if I'd like to run just a portion of my code, what I can do is highlight the portion I'd like to run, which in this case is PROC MEANS, and then click the Run button. Another short cut you can use is the F3 key on your keyboard. That works as well. So click Run. That is going to run only the highlighted portion. So I don't see the results from before. I only see the results for the current portion that I ran, which is the PROC MEANS step. So my results are updated, my output data is updated. I didn't generate any output data, so I don't see that there. And my log is updated, as well. Turned to my code. Again, those are just some of the features that we have available, in terms of programming in Enterprise Guide, so definitely take advantage of them to make programming just a little bit easier. Before I finish, I'm going to go ahead and save this program, and we're good to go. We are at the very end of your tutorial on getting started with SAS Enterprise Guide, and I hope you found it very helpful. Just to recap, we saw how we can add data to our project, including importing different types of data files, like Microsoft Excel, and CSV files. And then we saw how we could prepare this data using a robust Query Builder. Then we talked about analyzing our data, using different types of tasks, including the one way frequencies, bar chart, and the pie chart task. We then took a look at a couple of project features, that help us customize our project results. And also organize the contents of our project, as well. Finally, we took a look at some of the available programming features in Enterprise Guide, to help make coding just a little bit easier. Here, I'd like to end up with a couple of resources that might be of interest to you. If you'd like to learn more about other Enterprise Guide tasks, and some other project features that are available, you may want to take our SAS Enterprise Guide 1, Querying and Reporting course, or our SAS Enterprise Guide 2, Advanced Tasks and Querying Course. Now I've pointed out some of the programming features we have in Enterprise Guide, but we didn't really go into the syntax portion. So if you're interested in that, I would recommend watching this video on writing a basic SAS program, or taking our SAS programming 1, essentials course. Finally if you'd like to connect with other SAS users, you can join a SAS community. There is one that's specific to Enterprise Guide, or you can follow our blog. Some of my favorites are the SAS Dummy Blog, and also the SAS Users Blog. So again, thank you so much for joining me in this tutorial, and I hope you found it helpful.