Person: In Looker, you can create custom tables using either SQL-derived tables, which depend on manually written SQL queries, or native-derived tables, which are written entirely in LookML. Because native-derived tables reuse existing LookML objects to define new custom tables, they promote code reusability and reduce hard-coded references to underlying database tables. The easiest way to create a native-derived table in Looker is through an explorer. Let's walk through an example of using the order [Indistinct] explore to create a native-derived table that summarizes the following detail for each order, order ID, user ID, the number of items and the total cost of items ordered. To begin, enable development mode by toggling the button for development mode on the bottom left corner of the Looker homepage. Then click explore, on the left-side navigation menu, to see the explore options. Under the explore options, click on order items under the ecommerce training heading. In the order items explore, select the dimensions and measures you need for your native-derived table. Remember that the explore will automatically generate a valid performant SQL query for you. For this example, you want to first select the order ID and user ID dimensions from the order items view. Then, also within the order items view, select the order item count and total revenue measures. Click the run button to review the results. Now take a moment to review the results of the query, to ensure that it's returning the desired results. For this example, the request correctly returns the order ID, user ID, number of items for each order and order item count and the total price of each order and total revenue. After you have confirmed the request returns the desired results, click on the gear icon in the top right corner and select Get LookML. Within the pop-over window, for Get LookML, click on the derived table tab and copy the LookML code to your computer clipboard. In the next steps, you will paste this LookML code into a new view file for this native-derived table. Now you need to create a new view file to contain the LookML code that you just copied. To get to the Looker IDE, where you can create new view files, return to the Looker homepage by clicking Looker on the top left side of the UI. Then click develop to see the options. Now click on the training, underscore, ecommerce project to open the Looker IDE in this project. In Looker, it is a best practice to always create a new view for a new native-derived table. To create a new view file, in the file browser, click on the plus icon and choose create view. Name this new view file order, underscore, details. Then click create. Notice that the order, underscore, details, dot, view file is automatically created outside of the view's folder, in the file browser. To follow the best practice of storing all views together in a view's directory, click on the order, underscore, details, dot, view file in the file browser and drag it under views. Now replace the auto-generated LookML in the view file with previously copied LookML code. Following another best practice, be sure to change the auto-generated view name to order, underscore, details, to match the view file name. Notice that Looker makes a suggestion to include the model file, but the lines are commented out. It is a best practice to leave the line for the model file commented out. Otherwise, you risk creating circular dependencies in your model and causing validation errors because model files typically include many other files. The new native-derived table, called order, underscore, details, is now ready for you to create new dimensions and measures. [Indistinct] to the explore, in the model file, and/or finish out the GitWorkflow to send your changes to production. For this example, you will join it to the order, underscore, items, explore definition in the model file. And then use the order items explore to review what business users would see if you pushed the changes to production. First, click save changes to save the updates to the order, underscore, details view file. Then click on the training, underscore, ecommerce, dot, model file to add a new join to the order items explore. Locate the explore definition for order, underscore, items. Notice that there are several joins already defined, such as the one for the user's view. Above the existing join for users, add a new join for order, underscore, details by specifying: join name as order, underscore, details; type as left, underscore, outer; sequel, underscore, on as dollar sign, open curly brackets; order, underscore, items, dot, order, underscore, ID, close curly bracket equals dollar sign, open end curly bracket, order, underscore, details, dot, order, underscore, ID, close curly bracket; relationship as many, underscore, two, underscore, one because order details is organized as one summary row for each order. Then click save changes. Next click validate LookML, to check your new LookML. Now you can review the revised explore to view and query the native-derived table. Within the explore tab, right-click on order items under ecommerce training and select to open the explore in a new tab. In the order items explore, select the dimensions for order details, order ID, order item count, total revenue and user ID. Then click run to see the results. Finally, click the SQL tab to view the generated SQL query. Notice the common table expression, CTE, identified by the width clause. Though there are options in Looker to persist derived tables, this new derived table is considered ephemeral because it is generated at run time. To wrap up this example, let's review the best practices that you use to create a new drive table. First, you created a new view file for the native-derived table and then moved the new view file to the folder named views. Next you pasted a copy LookML code into the new view file and replaced the auto-generated view name with the name of the view file. Last, you left the model file commented out in the view file. Following these best practices, you can use native-derived tables to create new custom tables in your organization Looker instance.