In both SAS programming courses, you learn methods for combining tables. Let's review how you can concatenate rows from multiple tables. This is easily accomplished by using the data step and listing the tables in the set statement. This assumes the tables each share the same columns and attributes. But let's review what happens when column names or attributes don't quite match. The order's table that we had been working with contains orders from 2018. Remember, we use this data step to fix invalid values and calculate new columns to create a clean table named profit. We have similar information for the previous year in the orders 2017 table. I want to modify the data step to concatenate the rows from these two tables and do all the data validation and calculations on the combined result. But let's do this in stages. To start, I'll just add cr.orders2017 in the set statement. I'll run the program and take a look at the new profit table. Before we examine the new table, let's closely look at the log. Notice the warning that multiple lengths were specified for the customer continent column. I definitely want to look into this. If I take a look at the profit table, notice I have all missing values for line and category at the top. These are the rows read from the first table listed in the set statement, cr.orders. If I jump to the end of the table where we see the rows read from cr.orders2017, product line and product category are all missing. Based on the names of the columns and the values we observe, I'm confident that these columns were just named differently between the two tables. Product line and line should be the same and product category and category should be the same. I'll take a look at the two input tables first to examine the length of customer continent. In orders, it is 19. In orders2017, it's 20. Back in the program, if I add a length statement before the set statement, I can explicitly define the length of customer continent to be 20, rather than allowing the column attributes to be inherited implicitly from the first table listed in the set statement. After running the step, that eliminates the warning message and any risk of truncation. Next, I'll resolve the differences in column names. After the cr.orders2017 table, I'll use the rename equal dataset option to rename line as product line and category as product category. Make sure when you use the rename equal option that you include parenthesis around the data set options as well as the rename assignments. That should do it. I'll run the code and look at the results. The log doesn't have any warnings and the product line and product category columns align perfectly.