CINXE.COM
Working with folders in the IDE
<!doctype html> <html lang="en"> <head><script type="text/javascript" src="/_static/js/bundle-playback.js?v=HxkREWBo" charset="utf-8"></script> <script type="text/javascript" src="/_static/js/wombat.js?v=txqj7nKC" charset="utf-8"></script> <script>window.RufflePlayer=window.RufflePlayer||{};window.RufflePlayer.config={"autoplay":"on","unmuteOverlay":"hidden"};</script> <script type="text/javascript" src="/_static/js/ruffle/ruffle.js"></script> <script type="text/javascript"> __wm.init("https://web.archive.org/web"); __wm.wombat("https://docs.looker.com/data-modeling/getting-started/ide-folders","20210613135606","https://web.archive.org/","web","/_static/", "1623592566"); </script> <link rel="stylesheet" type="text/css" href="/_static/css/banner-styles.css?v=S1zqJCYt" /> <link rel="stylesheet" type="text/css" href="/_static/css/iconochive.css?v=3PDvdIFv" /> <!-- End Wayback Rewrite JS Include --> <!-- ============= GOOGLE TAG MANAGER ============= --> <script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 'https://web.archive.org/web/20210613135606/https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-NWWX6K');</script> <!-- ============= TITLE ============= --> <title>Working with folders in the IDE</title> <link rel="canonical" href="https://web.archive.org/web/20210613135606/https://docs.looker.com/data-modeling/getting-started/ide-folders"/> <link rel="icon" type="image/x-icon" href="/web/20210613135606im_/https://docs.looker.com/favicon.ico?v=2"/> <!-- ============= META TAGS ============= --> <!-- Basics --> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <!-- Google --> <meta name="google-site-verification" content="sqgzzTMOeyBTjvU1CQzYndU5Uu4EMl461BEMxcVuK-c"/> <!-- Swiftype --> <meta class="swiftype" name="site-priority" data-type="integer" content="3"> <meta class="swiftype" name="site-filter" data-type="integer" content="3"> <meta class="swiftype" name="site-filter" data-type="integer" content="32"> <meta class="swiftype" name="site-filter" data-type="integer" content="34"> <meta class="swiftype" name="title" data-type="string" content="Working with folders in the IDE"> <meta class="swiftype" name="description" data-type="string" content="Using folders to organize your LookML project files."> <!-- Page Info --> <meta property="og:site_name" content="Looker Documentation"> <meta property="og:url" content="https://web.archive.org/web/20210613135606/https://docs.looker.com/data-modeling/getting-started/ide-folders"> <meta property="og:type" content="article"> <meta property="og:title" content="Working with folders in the IDE"> <meta property="og:description" content="Using folders to organize your LookML project files."> <meta name="description" content="Using folders to organize your LookML project files."> <meta name="note" content="Edit:2021-04.Partial-07, Database Dialect:Dev.Lines, IDE:Admin.Lines,IDE:Dev.Page, LookML - Feature:Dev.Lines, LookML - Structural:Dev.Screens, LookML Dashboard:Dev.Lines, LookML Validator:Dev.Lines, Map:Dev.Partial-screen, Performance:Dev.Lines"> <!-- Hide from Search --> <!-- ============= FONTS ============= --> <!-- Google Sans | Headers and UI | regular, bold --> <link rel="stylesheet" href="https://web.archive.org/web/20210613135606cs_/https://fonts.googleapis.com/css?family=Google+Sans:400,600"> <!-- Roboto | Body | regular, italic, bold, bold italic --> <link rel="stylesheet" href="https://web.archive.org/web/20210613135606cs_/https://fonts.googleapis.com/css?family=Roboto:400,400italic,700,700italic"> <!-- Roboto Mono | Code | regular, bold --> <link rel="stylesheet" href="https://web.archive.org/web/20210613135606cs_/https://fonts.googleapis.com/css?family=Roboto+Mono:400,700"> <!-- Google Material Design Icons --> <link rel="stylesheet" href="https://web.archive.org/web/20210613135606cs_/https://fonts.googleapis.com/css?family=Material+Icons"> <!-- ============= STYLES ============= --> <!-- Normalize.css | https://necolas.github.io/normalize.css/ --> <link rel="stylesheet" href="/web/20210613135606cs_/https://docs.looker.com/_themes/docs/css/normalize.css"> <!-- Docs Stylesheet --> <link rel="stylesheet" href="/web/20210613135606cs_/https://docs.looker.com/_themes/docs/css/docs.css?v=1623431598"> <!-- ============= SCRIPTS ============= --> <!-- JQuery --> <script src="https://web.archive.org/web/20210613135606js_/https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> <!-- Ace Editor --> <script src="/web/20210613135606js_/https://docs.looker.com/_themes/docs/js/ace/ace.js"></script> <script src="/web/20210613135606js_/https://docs.looker.com/_themes/docs/js/ace/ext-static_highlight.js"></script> <!-- Vimeo API --> <script src="/web/20210613135606js_/https://docs.looker.com/_themes/docs/js/vimeo/player.js"></script> <!--JIRA Issue Collector --> <script type="text/javascript" src="https://web.archive.org/web/20210613135606js_/https://looker.atlassian.net/s/d41d8cd98f00b204e9800998ecf8427e-T/-jv61yn/b/13/a44af77267a987a660377e5c46e0fb64/_/download/batch/com.atlassian.jira.collector.plugin.jira-issue-collector-plugin:issuecollector/com.atlassian.jira.collector.plugin.jira-issue-collector-plugin:issuecollector.js?locale=en-US&collectorId=74775d2e"></script> <!-- Site JS --> <script src="/web/20210613135606js_/https://docs.looker.com/_themes/docs/js/docs.js?v=1623431598" async></script> <!-- Swiftype --> <script type="text/javascript"> (function(w,d,t,u,n,s,e){w['SwiftypeObject']=n;w[n]=w[n]||function(){ (w[n].q=w[n].q||[]).push(arguments);};s=d.createElement(t); e=d.getElementsByTagName(t)[0];s.async=1;s.src=u;e.parentNode.insertBefore(s,e); })(window,document,'script','//web.archive.org/web/20210613135606/https://s.swiftypecdn.com/install/v2/st.js','_st'); _st('install','zgajfc-EgsKmEKBAatQg','2.0.0'); </script> </head> <body> <!-- Google Analytics via Tag Manager --> <noscript><iframe src="https://web.archive.org/web/20210613135606if_/https://www.googletagmanager.com/ns.html?id=GTM-NWWX6K" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> <div id="ed-nav"> <div id="looker-logo"> <a href="https://web.archive.org/web/20210613135606/https://looker.com/"><img src="/web/20210613135606im_/https://docs.looker.com/assets/site_images/looker-logo.svg"/></a> </div> <div id="ed-options"> <a href="https://web.archive.org/web/20210613135606/https://looker.com/guide" class="custres-gtm-nav-link"><i class="material-icons">home</i> User Guide </a> <a href="https://web.archive.org/web/20210613135606/https://looker.com/guide/getting-started" class="custres-gtm-nav-link"> Getting Started </a> <a href="https://web.archive.org/web/20210613135606/https://help.looker.com/" class="custres-gtm-nav-link"> Help Center </a> <a href="/web/20210613135606/https://docs.looker.com/" class="custres-gtm-nav-link" id="docs-home"> <b>Documentation</b> </a> <a href="https://web.archive.org/web/20210613135606/https://community.looker.com/" class="custres-gtm-nav-link"> Community </a> <a href="https://web.archive.org/web/20210613135606/https://training.looker.com/" class="custres-gtm-nav-link"> Training </a> <a href="https://web.archive.org/web/20210613135606/https://looker.com/certification/" class="custres-gtm-nav-link"> Certification </a> </div> <div id="mobile-ed"> <i class="material-icons">menu</i> </div> </div> <header> <div id="menu-container"> <div id="menu-expand"> Docs menu <i class="material-icons">keyboard_arrow_down</i> </div> <section id="menu"> <div id="menu-contents"> <div class="menu-column categories"><div class="option" data-show-class="0">Looker Introduction <i class="material-icons">keyboard_arrow_right</i></div><div class="option" data-show-class="1">Latest Features <i class="material-icons">keyboard_arrow_right</i></div><div class="option" data-show-class="2">Find and Organize Content <i class="material-icons">keyboard_arrow_right</i></div><div class="option" data-show-class="3">Send and Share Content <i class="material-icons">keyboard_arrow_right</i></div><div class="option" data-show-class="4">Retrieve and Chart Data <i class="material-icons">keyboard_arrow_right</i></div><div class="option" data-show-class="5">Create Dashboards and Reports <i class="material-icons">keyboard_arrow_right</i></div><div class="option" data-show-class="6">Get Ready for Development <i class="material-icons">keyboard_arrow_right</i></div><div class="option" data-show-class="7">Write LookML <i class="material-icons">keyboard_arrow_right</i></div><div class="option" data-show-class="8">Use Embedding, the API, and the Extension Framework <i class="material-icons">keyboard_arrow_right</i></div><div class="option" data-show-class="9">Set Up and Administer Looker <i class="material-icons">keyboard_arrow_right</i></div><div class="option" data-show-class="10">Looker Mobile Application <i class="material-icons">keyboard_arrow_right</i></div></div><div class="menu-column sub-categories 0"><div class="option" data-show-class="0-0">Quick Start Pages <i class="material-icons">keyboard_arrow_right</i></div><div class="option" data-show-class="0-1">Personalizing Looker <i class="material-icons">keyboard_arrow_right</i></div><div class="option" data-show-class="0-2">Keyboard Shortcuts <i class="material-icons">keyboard_arrow_right</i></div><div class="option" data-show-class="0-3">Video Tutorials <i class="material-icons">keyboard_arrow_right</i></div><div class="option" data-show-class="0-4">Looker Glossary <i class="material-icons">keyboard_arrow_right</i></div><div class="option" data-show-class="0-5">Looker Error Catalog <i class="material-icons">keyboard_arrow_right</i></div></div><div class="menu-column sub-categories 2"><div class="option" data-show-class="2-0">Finding and Viewing Content <i class="material-icons">keyboard_arrow_right</i></div><div class="option" data-show-class="2-1">Organizing Content <i class="material-icons">keyboard_arrow_right</i></div><div class="option" data-show-class="2-2">For Developers and Admins <i class="material-icons">keyboard_arrow_right</i></div></div><div class="menu-column sub-categories 3"><div class="option" data-show-class="3-0">Sharing Data Overview <i class="material-icons">keyboard_arrow_right</i></div><div class="option" data-show-class="3-1">One-Time Sharing <i class="material-icons">keyboard_arrow_right</i></div><div class="option" data-show-class="3-2">Periodic Sharing <i class="material-icons">keyboard_arrow_right</i></div><div class="option" data-show-class="3-3">Conditional Sharing <i class="material-icons">keyboard_arrow_right</i></div><div class="option" data-show-class="3-4">Video Tutorials <i class="material-icons">keyboard_arrow_right</i></div></div><div class="menu-column sub-categories 4"><div class="option" data-show-class="4-0">Retrieving Data <i class="material-icons">keyboard_arrow_right</i></div><div class="option" data-show-class="4-1">Creating Your Own Fields <i class="material-icons">keyboard_arrow_right</i></div><div class="option" data-show-class="4-2">Creating Charts <i class="material-icons">keyboard_arrow_right</i></div></div><div class="menu-column sub-categories 5"><div class="option" data-show-class="5-0">Creating Saved Reports (Looks) <i class="material-icons">keyboard_arrow_right</i></div><div class="option" data-show-class="5-1">Creating User-Defined Dashboards <i class="material-icons">keyboard_arrow_right</i></div><div class="option" data-show-class="5-2">Creating and Managing LookML Dashboards <i class="material-icons">keyboard_arrow_right</i></div></div><div class="menu-column sub-categories 6"><div class="option" data-show-class="6-0">Development Basics <i class="material-icons">keyboard_arrow_right</i></div><div class="option" data-show-class="6-1">SQL in Looker <i class="material-icons">keyboard_arrow_right</i></div><div class="option" data-show-class="6-2">Creating and Editing Projects <i class="material-icons">keyboard_arrow_right</i></div><div class="option" data-show-class="6-3">Git and Version Control <i class="material-icons">keyboard_arrow_right</i></div><div class="option" data-show-class="6-4">Setting Up a Database<br/>Connection <i class="material-icons">keyboard_arrow_right</i></div><div class="option" data-show-class="6-5">Looker Marketplace <i class="material-icons">keyboard_arrow_right</i></div><div class="option" data-show-class="6-6">Video Tutorials <i class="material-icons">keyboard_arrow_right</i></div></div><div class="menu-column sub-categories 7"><div class="option" data-show-class="7-0">Getting Started with LookML <i class="material-icons">keyboard_arrow_right</i></div><div class="option" data-show-class="7-1">Basic Concepts <i class="material-icons">keyboard_arrow_right</i></div><div class="option" data-show-class="7-2">Advanced Concepts <i class="material-icons">keyboard_arrow_right</i></div><div class="option" data-show-class="7-3">LookML Reference <i class="material-icons">keyboard_arrow_right</i></div></div><div class="menu-column sub-categories 8"><div class="option" data-show-class="8-0">Looker API <i class="material-icons">keyboard_arrow_right</i></div><div class="option" data-show-class="8-1">Embedding <i class="material-icons">keyboard_arrow_right</i></div><div class="option" data-show-class="8-2">Extension Framework <i class="material-icons">keyboard_arrow_right</i></div></div><div class="menu-column sub-categories 9"><div class="option" data-show-class="9-0">Getting Started with Setup and Admin <i class="material-icons">keyboard_arrow_right</i></div><div class="option" data-show-class="9-1">Installation and Maintenance <i class="material-icons">keyboard_arrow_right</i></div><div class="option" data-show-class="9-2">Setting Up a Database<br/>Connection <i class="material-icons">keyboard_arrow_right</i></div><div class="option" data-show-class="9-3">Admin Tutorials <i class="material-icons">keyboard_arrow_right</i></div><div class="option" data-show-class="9-4">Admin Panel Reference <i class="material-icons">keyboard_arrow_right</i></div></div><div class="menu-column pages 0-0"><a href="https://web.archive.org/web/20210613135606/https://vimeo.com/215917994" class="gtm-nav-link"><div class="option" data-page-id="0-0-0">Logging In Video Tutorial</div></a><a href="/web/20210613135606/https://docs.looker.com/intro" class="gtm-nav-link"><div class="option" data-page-id="0-0-1">Looker Introduction</div></a><a href="/web/20210613135606/https://docs.looker.com/relnotes/intro" class="gtm-nav-link"><div class="option" data-page-id="0-0-2">Latest Features</div></a><a href="/web/20210613135606/https://docs.looker.com/sharing-and-publishing" class="gtm-nav-link"><div class="option" data-page-id="0-0-3">Find and Organize Content</div></a><a href="/web/20210613135606/https://docs.looker.com/sharing-and-publishing/send-share-intro" class="gtm-nav-link"><div class="option" data-page-id="0-0-4">Send and Share Content</div></a><a href="/web/20210613135606/https://docs.looker.com/exploring-data/retrieve-chart-intro" class="gtm-nav-link"><div class="option" data-page-id="0-0-5">Retrieve and Chart Data</div></a><a href="/web/20210613135606/https://docs.looker.com/dashboards/dashboards-reports-intro" class="gtm-nav-link"><div class="option" data-page-id="0-0-6">Create and Edit Dashboards and Reports</div></a><a href="/web/20210613135606/https://docs.looker.com/data-modeling" class="gtm-nav-link"><div class="option" data-page-id="0-0-7">Get Ready for Development</div></a><a href="/web/20210613135606/https://docs.looker.com/data-modeling/learning-lookml/lookml-intro" class="gtm-nav-link"><div class="option" data-page-id="0-0-8">Write LookML</div></a><a href="/web/20210613135606/https://docs.looker.com/reference/api-embedding-intro" class="gtm-nav-link"><div class="option" data-page-id="0-0-9">Use Embedding and the API</div></a><a href="/web/20210613135606/https://docs.looker.com/admin-options" class="gtm-nav-link"><div class="option" data-page-id="0-0-10">Set Up and Administer Looker</div></a></div><div class="menu-column pages 0-1"><a href="/web/20210613135606/https://docs.looker.com/sharing-and-publishing/user-menu" class="gtm-nav-link"><div class="option" data-page-id="0-1-0">Personalizing Your User Profile</div></a><a href="/web/20210613135606/https://docs.looker.com/sharing-and-publishing/user-account" class="gtm-nav-link"><div class="option" data-page-id="0-1-1">Personalizing User Account Settings</div></a><a href="/web/20210613135606/https://docs.looker.com/sharing-and-publishing/user-history" class="gtm-nav-link"><div class="option" data-page-id="0-1-2">Viewing Your Query History</div></a><a href="/web/20210613135606/https://docs.looker.com/sharing-and-publishing/user-schedules" class="gtm-nav-link"><div class="option" data-page-id="0-1-3">Viewing Your Scheduled Data Deliveries</div></a><a href="/web/20210613135606/https://docs.looker.com/sharing-and-publishing/user-alerts" class="gtm-nav-link"><div class="option" data-page-id="0-1-4">Viewing Your Conditional Alert Notifications</div></a><a href="/web/20210613135606/https://docs.looker.com/sharing-and-publishing/user-sessions" class="gtm-nav-link"><div class="option" data-page-id="0-1-5">Viewing Information About Your Session</div></a></div><div class="menu-column pages 0-2"><a href="/web/20210613135606/https://docs.looker.com/exploring-data/exploring-data/keyboard-shortcuts" class="gtm-nav-link"><div class="option" data-page-id="0-2-0">Keyboard Shortcuts in Looker</div></a></div><div class="menu-column pages 0-3"><a href="https://web.archive.org/web/20210613135606/https://vimeo.com/268498280" class="gtm-nav-link"><div class="option" data-page-id="0-3-0">Why Use Looker?</div></a><a href="/web/20210613135606/https://docs.looker.com/video-library/exploring-data" class="gtm-nav-link"><div class="option" data-page-id="0-3-1">Business User Tutorials</div></a><a href="/web/20210613135606/https://docs.looker.com/video-library/data-modeling" class="gtm-nav-link"><div class="option" data-page-id="0-3-2">Admin and Developer Tutorials</div></a></div><div class="menu-column pages 0-4"><a href="/web/20210613135606/https://docs.looker.com/reference/glossary" class="gtm-nav-link"><div class="option" data-page-id="0-4-0">Looker Glossary</div></a></div><div class="menu-column pages 0-5"><a href="/web/20210613135606/https://docs.looker.com/reference/looker-error-catalog" class="gtm-nav-link"><div class="option" data-page-id="0-5-0">Looker Error Catalog</div></a></div><div class="menu-column pages 1-0"><a href="/web/20210613135606/https://docs.looker.com/relnotes" class="gtm-nav-link"><div class="option" data-page-id="1-0-0">Looker 21 Release Highlights</div></a><a href="/web/20210613135606/https://docs.looker.com/relnotes/v21-changelog" class="gtm-nav-link"><div class="option" data-page-id="1-0-1">Looker 21 Changelog</div></a><a href="/web/20210613135606/https://docs.looker.com/relnotes/v7-release-notes" class="gtm-nav-link"><div class="option" data-page-id="1-0-2">Looker 7 Release Highlights</div></a><a href="/web/20210613135606/https://docs.looker.com/relnotes/v7-changelog" class="gtm-nav-link"><div class="option" data-page-id="1-0-3">Looker 7 Changelog</div></a><a href="/web/20210613135606/https://docs.looker.com/relnotes/esr-notes" class="gtm-nav-link"><div class="option" data-page-id="1-0-4">Extended Support Release Notes</div></a><a href="/web/20210613135606/https://docs.looker.com/relnotes/v6-release-notes" class="gtm-nav-link"><div class="option" data-page-id="1-0-5">Looker 6 Release Notes</div></a><a href="/web/20210613135606/https://docs.looker.com/relnotes/v5-release-notes" class="gtm-nav-link"><div class="option" data-page-id="1-0-6">Looker 5 Release Notes</div></a><a href="/web/20210613135606/https://docs.looker.com/relnotes/v4-release-notes" class="gtm-nav-link"><div class="option" data-page-id="1-0-7">Looker 4 Release Notes</div></a><a href="/web/20210613135606/https://docs.looker.com/relnotes/v3-release-notes" class="gtm-nav-link"><div class="option" data-page-id="1-0-8">Looker 3 Release Notes</div></a></div><div class="menu-column pages 2-0"><a href="/web/20210613135606/https://docs.looker.com/sharing-and-publishing/finding-content" class="gtm-nav-link"><div class="option" data-page-id="2-0-0">Finding Content in Looker</div></a><a href="/web/20210613135606/https://docs.looker.com/dashboards/new-dashboard-experience" class="gtm-nav-link"><div class="option" data-page-id="2-0-1">Viewing Dashboards</div></a><a href="/web/20210613135606/https://docs.looker.com/dashboards/viewing-user-dashboards" class="gtm-nav-link"><div class="option" data-page-id="2-0-2">Viewing Legacy Dashboards in Looker</div></a><a href="/web/20210613135606/https://docs.looker.com/sharing-and-publishing/viewing-looks" class="gtm-nav-link"><div class="option" data-page-id="2-0-3">Viewing Looks in Looker</div></a><a href="/web/20210613135606/https://docs.looker.com/video-library/exploring-data#find_and_view_content" class="gtm-nav-link"><div class="option" data-page-id="2-0-4">Video Tutorials</div></a><a href="/web/20210613135606/https://docs.looker.com/reference/filter-expressions" class="gtm-nav-link"><div class="option" data-page-id="2-0-5">Looker Filter Expressions</div></a></div><div class="menu-column pages 2-1"><a href="/web/20210613135606/https://docs.looker.com/sharing-and-publishing/organizing-spaces" class="gtm-nav-link"><div class="option" data-page-id="2-1-0">Organizing and Managing Access to Content</div></a><a href="/web/20210613135606/https://docs.looker.com/sharing-and-publishing/presenting-content" class="gtm-nav-link"><div class="option" data-page-id="2-1-1">Presenting Content with Boards</div></a></div><div class="menu-column pages 2-2"><a href="/web/20210613135606/https://docs.looker.com/sharing-and-publishing/admin-spaces" class="gtm-nav-link"><div class="option" data-page-id="2-2-0">Deleted and Unused Content for Admins</div></a></div><div class="menu-column pages 3-0"><a href="/web/20210613135606/https://docs.looker.com/sharing-and-publishing/sharing-data" class="gtm-nav-link"><div class="option" data-page-id="3-0-0">Sharing Data</div></a></div><div class="menu-column pages 3-1"><a href="/web/20210613135606/https://docs.looker.com/sharing-and-publishing/downloading" class="gtm-nav-link"><div class="option" data-page-id="3-1-0">Downloading Content</div></a><a href="/web/20210613135606/https://docs.looker.com/sharing-and-publishing/publishing-looks-with-public-urls" class="gtm-nav-link"><div class="option" data-page-id="3-1-1">Public Sharing, Importing, and Embedding</div></a><a href="/web/20210613135606/https://docs.looker.com/sharing-and-publishing/sharing-urls" class="gtm-nav-link"><div class="option" data-page-id="3-1-2">Sharing Data from URLs</div></a></div><div class="menu-column pages 3-2"><a href="/web/20210613135606/https://docs.looker.com/sharing-and-publishing/scheduling-and-sharing/scheduling" class="gtm-nav-link"><div class="option" data-page-id="3-2-0">Using the Looker Scheduler to Deliver Content</div></a><a href="/web/20210613135606/https://docs.looker.com/sharing-and-publishing/scheduling-and-sharing/scheduling-new-dashboards" class="gtm-nav-link"><div class="option" data-page-id="3-2-1">Scheduling and Sending Dashboards</div></a><a href="/web/20210613135606/https://docs.looker.com/sharing-and-publishing/scheduling-and-sharing/scheduling-slack" class="gtm-nav-link"><div class="option" data-page-id="3-2-2">Scheduling Deliveries to the Slack Integration</div></a><a href="/web/20210613135606/https://docs.looker.com/sharing-and-publishing/action-hub" class="gtm-nav-link"><div class="option" data-page-id="3-2-3">Sharing Data Through an Action Hub</div></a><a href="/web/20210613135606/https://docs.looker.com/sharing-and-publishing/scheduling-and-sharing/scheduling-for-admins" class="gtm-nav-link"><div class="option" data-page-id="3-2-4">Configuring Content Deliveries for Looker Users (Looker admins)</div></a></div><div class="menu-column pages 3-3"><a href="/web/20210613135606/https://docs.looker.com/sharing-and-publishing/scheduling-and-sharing/delivering-looks-explores#send_this_schedule_if" class="gtm-nav-link"><div class="option" data-page-id="3-3-0">Conditionally Delivering Looks and Explores</div></a><a href="/web/20210613135606/https://docs.looker.com/sharing-and-publishing/alerts" class="gtm-nav-link"><div class="option" data-page-id="3-3-1">Conditional Alerts Overview</div></a><a href="/web/20210613135606/https://docs.looker.com/sharing-and-publishing/alerts-for-admins" class="gtm-nav-link"><div class="option" data-page-id="3-3-2">Configuring Conditional Alerts for Looker Users (Looker admins)</div></a></div><div class="menu-column pages 3-4"><a href="/web/20210613135606/https://docs.looker.com/video-library/exploring-data#send_and_share_content" class="gtm-nav-link"><div class="option" data-page-id="3-4-0">Video Tutorials</div></a></div><div class="menu-column pages 4-0"><a href="/web/20210613135606/https://docs.looker.com/exploring-data/exploring-data" class="gtm-nav-link"><div class="option" data-page-id="4-0-0">Exploring Data in Looker</div></a><a href="/web/20210613135606/https://docs.looker.com/exploring-data/filtering-and-limiting" class="gtm-nav-link"><div class="option" data-page-id="4-0-1">Filtering and Limiting Data</div></a><a href="/web/20210613135606/https://docs.looker.com/exploring-data/exploring-data/merged-results" class="gtm-nav-link"><div class="option" data-page-id="4-0-2">Merging Results from Different Explores</div></a><a href="/web/20210613135606/https://docs.looker.com/video-library/exploring-data#how_to_retrieve_data" class="gtm-nav-link"><div class="option" data-page-id="4-0-3">Video Tutorials</div></a><a href="/web/20210613135606/https://docs.looker.com/reference/filter-expressions" class="gtm-nav-link"><div class="option" data-page-id="4-0-4">Looker Filter Expressions</div></a><a href="/web/20210613135606/https://docs.looker.com/exploring-data/creating-looker-expressions/looker-functions-and-operators" class="gtm-nav-link"><div class="option" data-page-id="4-0-5">Looker Functions and Operators</div></a><a href="/web/20210613135606/https://docs.looker.com/exploring-data/custom-formatting" class="gtm-nav-link"><div class="option" data-page-id="4-0-6">Adding Custom Formatting to Numeric Fields</div></a></div><div class="menu-column pages 4-1"><a href="/web/20210613135606/https://docs.looker.com/exploring-data/using-table-calculations" class="gtm-nav-link"><div class="option" data-page-id="4-1-0">Using Table Calculations</div></a><a href="/web/20210613135606/https://docs.looker.com/exploring-data/adding-fields/custom-measure" class="gtm-nav-link"><div class="option" data-page-id="4-1-1">Adding Custom Fields</div></a><a href="/web/20210613135606/https://docs.looker.com/exploring-data/creating-looker-expressions" class="gtm-nav-link"><div class="option" data-page-id="4-1-2">Creating Looker Expressions</div></a><a href="/web/20210613135606/https://docs.looker.com/exploring-data/creating-looker-expressions/looker-functions-and-operators" class="gtm-nav-link"><div class="option" data-page-id="4-1-3">Looker Functions and Operators</div></a></div><div class="menu-column pages 4-2"><a href="/web/20210613135606/https://docs.looker.com/exploring-data/visualizing-query-results" class="gtm-nav-link"><div class="option" data-page-id="4-2-0">Creating Visualizations and Graphs</div></a><a href="/web/20210613135606/https://docs.looker.com/exploring-data/visualizing-query-results/visualization-types" class="gtm-nav-link"><div class="option" data-page-id="4-2-1">Visualization Types</div></a><a href="/web/20210613135606/https://docs.looker.com/exploring-data/visualizing-query-results/color-collections" class="gtm-nav-link"><div class="option" data-page-id="4-2-2">Color Collections</div></a><a href="/web/20210613135606/https://docs.looker.com/exploring-data/visualizing-query-results/time-formatting-for-charts" class="gtm-nav-link"><div class="option" data-page-id="4-2-3">Time Formatting for Charts</div></a><a href="/web/20210613135606/https://docs.looker.com/video-library/exploring-data#how_to_create_charts" class="gtm-nav-link"><div class="option" data-page-id="4-2-4">Video Tutorials</div></a></div><div class="menu-column pages 5-0"><a href="/web/20210613135606/https://docs.looker.com/exploring-data/saving-and-editing-looks" class="gtm-nav-link"><div class="option" data-page-id="5-0-0">Saving and Editing Looks</div></a></div><div class="menu-column pages 5-1"><a href="/web/20210613135606/https://docs.looker.com/dashboards/creating-dashboards-beta" class="gtm-nav-link"><div class="option" data-page-id="5-1-0">Creating User-Defined Dashboards</div></a><a href="/web/20210613135606/https://docs.looker.com/dashboards/editing-dashboards-beta" class="gtm-nav-link"><div class="option" data-page-id="5-1-1">Editing User-Defined Dashboards</div></a><a href="/web/20210613135606/https://docs.looker.com/dashboards/dashboard-beta-filters" class="gtm-nav-link"><div class="option" data-page-id="5-1-2">Adding and Editing User-Defined Dashboard Filters</div></a><a href="/web/20210613135606/https://docs.looker.com/reference/filter-expressions" class="gtm-nav-link"><div class="option" data-page-id="5-1-3">Looker Filter Expressions</div></a><a href="/web/20210613135606/https://docs.looker.com/dashboards/cross-filtering" class="gtm-nav-link"><div class="option" data-page-id="5-1-4">Cross-Filtering Dashboards</div></a><a href="/web/20210613135606/https://docs.looker.com/dashboards/embedding-dashboards-beta" class="gtm-nav-link"><div class="option" data-page-id="5-1-5">Embedding Dashboards</div></a><a href="/web/20210613135606/https://docs.looker.com/dashboards/legacy-dashboards-landing" class="gtm-nav-link"><div class="option" data-page-id="5-1-6">Legacy Dashboards</div></a><a href="/web/20210613135606/https://docs.looker.com/video-library/exploring-data#creating_user-defined_dashboards" class="gtm-nav-link"><div class="option" data-page-id="5-1-7">Video Tutorials</div></a></div><div class="menu-column pages 5-2"><a href="/web/20210613135606/https://docs.looker.com/dashboards/creating-lookml-dashboards" class="gtm-nav-link"><div class="option" data-page-id="5-2-0">Building LookML Dashboards</div></a><a href="/web/20210613135606/https://docs.looker.com/reference/lookml-dashboard-overview" class="gtm-nav-link"><div class="option" data-page-id="5-2-1">LookML Dashboard Reference</div></a><a href="/web/20210613135606/https://docs.looker.com/reference/dashboard-reference/lookml-visualization-reference" class="gtm-nav-link"><div class="option" data-page-id="5-2-2">Dashboard Element Parameters</div></a><a href="/web/20210613135606/https://docs.looker.com/reference/dashboard-reference/lookml-reference-lines-reference" class="gtm-nav-link"><div class="option" data-page-id="5-2-3">Dashboard Reference Line Parameters</div></a><a href="/web/20210613135606/https://docs.looker.com/dashboards/lookml-to-user-dashboard" class="gtm-nav-link"><div class="option" data-page-id="5-2-4">Converting from LookML to User-Defined Dashboards</div></a><a href="/web/20210613135606/https://docs.looker.com/dashboards/creating-lookml-dashboards#create_a_lookml_copy_of_a_user-defined_dashboard" class="gtm-nav-link"><div class="option" data-page-id="5-2-5">Converting from User-Defined to LookML Dashboards</div></a></div><div class="menu-column pages 6-0"><a href="/web/20210613135606/https://docs.looker.com/data-modeling" class="gtm-nav-link"><div class="option" data-page-id="6-0-0">Get Ready for Development</div></a><a href="/web/20210613135606/https://docs.looker.com/data-modeling/getting-started/how-project-works" class="gtm-nav-link"><div class="option" data-page-id="6-0-1">How a Project Works in Looker</div></a><a href="/web/20210613135606/https://docs.looker.com/data-modeling/getting-started/dev-mode-prod-mode" class="gtm-nav-link"><div class="option" data-page-id="6-0-2">Development Mode and Production Mode</div></a><a href="/web/20210613135606/https://docs.looker.com/data-modeling/getting-started/file-types-in-project" class="gtm-nav-link"><div class="option" data-page-id="6-0-3">LookML Project Files</div></a><a href="/web/20210613135606/https://docs.looker.com/data-modeling/getting-started/model-development" class="gtm-nav-link"><div class="option" data-page-id="6-0-4">Understanding Model and View Files</div></a><a href="/web/20210613135606/https://docs.looker.com/data-modeling/getting-started/other-project-files" class="gtm-nav-link"><div class="option" data-page-id="6-0-5">Understanding Other Project Files</div></a><a href="/web/20210613135606/https://docs.looker.com/data-modeling/getting-started/ide-folders" class="gtm-nav-link"><div class="option" data-page-id="6-0-6">Working with Folders in the IDE</div></a><a href="/web/20210613135606/https://docs.looker.com/data-modeling/getting-started/object-browser" class="gtm-nav-link"><div class="option" data-page-id="6-0-7">Navigating Projects with the Object Browser Panel</div></a><a href="/web/20210613135606/https://docs.looker.com/data-modeling/getting-started/lookml-metadata" class="gtm-nav-link"><div class="option" data-page-id="6-0-8">Metadata for LookML Objects</div></a></div><div class="menu-column pages 6-1"><a href="/web/20210613135606/https://docs.looker.com/data-modeling/learning-lookml/how-looker-generates-sql" class="gtm-nav-link"><div class="option" data-page-id="6-1-0">How Looker Generates SQL</div></a><a href="/web/20210613135606/https://docs.looker.com/data-modeling/learning-lookml/sql-runner" class="gtm-nav-link"><div class="option" data-page-id="6-1-1">SQL Runner Basics</div></a><a href="/web/20210613135606/https://docs.looker.com/data-modeling/learning-lookml/sql-runner-create-queries" class="gtm-nav-link"><div class="option" data-page-id="6-1-2">Using SQL Runner to Create Queries and Explores</div></a><a href="/web/20210613135606/https://docs.looker.com/data-modeling/learning-lookml/sql-runner-create-dts" class="gtm-nav-link"><div class="option" data-page-id="6-1-3">Using SQL Runner to Create Derived Tables</div></a><a href="/web/20210613135606/https://docs.looker.com/data-modeling/learning-lookml/sql-runner-manage-db" class="gtm-nav-link"><div class="option" data-page-id="6-1-4">Managing Database Functions with SQL Runner</div></a></div><div class="menu-column pages 6-2"><a href="/web/20210613135606/https://docs.looker.com/data-modeling/getting-started/create-projects" class="gtm-nav-link"><div class="option" data-page-id="6-2-0">Creating a New LookML Project</div></a><a href="/web/20210613135606/https://docs.looker.com/data-modeling/getting-started/manage-projects" class="gtm-nav-link"><div class="option" data-page-id="6-2-1">Accessing and Editing Project Information</div></a><a href="/web/20210613135606/https://docs.looker.com/data-modeling/getting-started/connect-to-db-and-generate-model" class="gtm-nav-link"><div class="option" data-page-id="6-2-2">Generating a Model</div></a></div><div class="menu-column pages 6-3"><a href="/web/20210613135606/https://docs.looker.com/data-modeling/getting-started/setting-up-git-connection" class="gtm-nav-link"><div class="option" data-page-id="6-3-0">Setting Up and Testing a Git Connection</div></a><a href="/web/20210613135606/https://docs.looker.com/data-modeling/getting-started/git-options" class="gtm-nav-link"><div class="option" data-page-id="6-3-1">Configuring Project Version Control Settings</div></a><a href="/web/20210613135606/https://docs.looker.com/data-modeling/getting-started/webhook-deploy-secret" class="gtm-nav-link"><div class="option" data-page-id="6-3-2">Configuring the Webhook Deploy Secret</div></a><a href="/web/20210613135606/https://docs.looker.com/data-modeling/getting-started/advanced-deploy-mode" class="gtm-nav-link"><div class="option" data-page-id="6-3-3">Advanced Deploy Mode</div></a><a href="/web/20210613135606/https://docs.looker.com/data-modeling/getting-started/version-control-and-deploying-changes" class="gtm-nav-link"><div class="option" data-page-id="6-3-4">Using Version Control and Deploying</div></a><a href="/web/20210613135606/https://docs.looker.com/data-modeling/getting-started/git-command-reference" class="gtm-nav-link"><div class="option" data-page-id="6-3-5">Git Command Reference</div></a></div><div class="menu-column pages 6-4"><a href="/web/20210613135606/https://docs.looker.com/setup-and-management/enabling-secure-db" class="gtm-nav-link"><div class="option" data-page-id="6-4-0">Enabling Secure Database Access</div></a><a href="/web/20210613135606/https://docs.looker.com/setup-and-management/database-config" class="gtm-nav-link"><div class="option" data-page-id="6-4-1">Database Configuration Instructions</div></a><a href="/web/20210613135606/https://docs.looker.com/setup-and-management/connecting-to-db" class="gtm-nav-link"><div class="option" data-page-id="6-4-2">Connecting Looker to Your Database</div></a><a href="/web/20210613135606/https://docs.looker.com/setup-and-management/connecting-to-db/testing-db-connectivity" class="gtm-nav-link"><div class="option" data-page-id="6-4-3">Testing Database Connectivity</div></a></div><div class="menu-column pages 6-5"><a href="/web/20210613135606/https://docs.looker.com/data-modeling/marketplace" class="gtm-nav-link"><div class="option" data-page-id="6-5-0">Using the Looker Marketplace</div></a><a href="/web/20210613135606/https://docs.looker.com/data-modeling/marketplace/customize-blocks" class="gtm-nav-link"><div class="option" data-page-id="6-5-1">Customizing Looker Marketplace Blocks</div></a><a href="/web/20210613135606/https://docs.looker.com/data-modeling/marketplace/adding-block-marketplace" class="gtm-nav-link"><div class="option" data-page-id="6-5-2">Developing a Custom Block for the Looker Marketplace</div></a><a href="/web/20210613135606/https://docs.looker.com/data-modeling/marketplace/adding-viz-marketplace" class="gtm-nav-link"><div class="option" data-page-id="6-5-3">Developing a Custom Visualization for the Looker Marketplace</div></a><a href="/web/20210613135606/https://docs.looker.com/data-modeling/extension-framework/data-dictionary" class="gtm-nav-link"><div class="option" data-page-id="6-5-4">Using the Looker Data Dictionary</div></a><a href="/web/20210613135606/https://docs.looker.com/data-modeling/extension-framework/lookml-diagram-admins" class="gtm-nav-link"><div class="option" data-page-id="6-5-5">Configuring the LookML Diagram</div></a><a href="/web/20210613135606/https://docs.looker.com/data-modeling/extension-framework/lookml-diagram" class="gtm-nav-link"><div class="option" data-page-id="6-5-6">Using the LookML Diagram</div></a></div><div class="menu-column pages 6-6"><a href="/web/20210613135606/https://docs.looker.com/video-library/data-modeling" class="gtm-nav-link"><div class="option" data-page-id="6-6-0">Video Tutorials</div></a></div><div class="menu-column pages 7-0"><a href="/web/20210613135606/https://docs.looker.com/data-modeling/learning-lookml" class="gtm-nav-link"><div class="option" data-page-id="7-0-0">Steps to Learning LookML</div></a><a href="/web/20210613135606/https://docs.looker.com/video-library/data-modeling" class="gtm-nav-link"><div class="option" data-page-id="7-0-1">Video Tutorials</div></a></div><div class="menu-column pages 7-1"><a href="/web/20210613135606/https://docs.looker.com/data-modeling/learning-lookml/what-is-lookml" class="gtm-nav-link"><div class="option" data-page-id="7-1-0">What Is LookML?</div></a><a href="/web/20210613135606/https://docs.looker.com/data-modeling/learning-lookml/lookml-terms-and-concepts" class="gtm-nav-link"><div class="option" data-page-id="7-1-1">LookML Terms and Concepts</div></a><a href="/web/20210613135606/https://docs.looker.com/data-modeling/getting-started/lookml-validation" class="gtm-nav-link"><div class="option" data-page-id="7-1-2">Editing and Validating LookML</div></a><a href="/web/20210613135606/https://docs.looker.com/data-modeling/getting-started/look-validation" class="gtm-nav-link"><div class="option" data-page-id="7-1-3">Content Validation</div></a><a href="/web/20210613135606/https://docs.looker.com/data-modeling/learning-lookml/sql-and-referring-to-lookml" class="gtm-nav-link"><div class="option" data-page-id="7-1-4">Incorporating SQL and Referring to LookML Objects</div></a><a href="/web/20210613135606/https://docs.looker.com/data-modeling/learning-lookml/advanced-lookml-concepts" class="gtm-nav-link"><div class="option" data-page-id="7-1-5">Additional LookML Basics</div></a><a href="/web/20210613135606/https://docs.looker.com/data-modeling/learning-lookml/working-with-joins" class="gtm-nav-link"><div class="option" data-page-id="7-1-6">Working with Joins in LookML</div></a><a href="/web/20210613135606/https://docs.looker.com/data-modeling/learning-lookml/derived-tables" class="gtm-nav-link"><div class="option" data-page-id="7-1-7">Derived Tables in Looker</div></a><a href="/web/20210613135606/https://docs.looker.com/data-modeling/learning-lookml/creating-ndts" class="gtm-nav-link"><div class="option" data-page-id="7-1-8">Creating Native Derived Tables</div></a><a href="/web/20210613135606/https://docs.looker.com/data-modeling/learning-lookml/incremental-pdts" class="gtm-nav-link"><div class="option" data-page-id="7-1-9">Incremental PDTs</div></a><a href="/web/20210613135606/https://docs.looker.com/data-modeling/learning-lookml/explore-menu-and-field-picker" class="gtm-nav-link"><div class="option" data-page-id="7-1-10">Changing the Explore Menu and Field Picker</div></a><a href="/web/20210613135606/https://docs.looker.com/data-modeling/learning-lookml/filter-suggestions" class="gtm-nav-link"><div class="option" data-page-id="7-1-11">Changing Filter Suggestions</div></a><a href="/web/20210613135606/https://docs.looker.com/data-modeling/looker-blocks" class="gtm-nav-link"><div class="option" data-page-id="7-1-12">Looker Blocks</div></a></div><div class="menu-column pages 7-2"><a href="/web/20210613135606/https://docs.looker.com/data-modeling/learning-lookml/caching" class="gtm-nav-link"><div class="option" data-page-id="7-2-0">Caching Queries and Rebuilding PDTs with Datagroups</div></a><a href="/web/20210613135606/https://docs.looker.com/data-modeling/learning-lookml/aggregate_awareness" class="gtm-nav-link"><div class="option" data-page-id="7-2-1">Aggregate Awareness</div></a><a href="/web/20210613135606/https://docs.looker.com/data-modeling/learning-lookml/extends" class="gtm-nav-link"><div class="option" data-page-id="7-2-2">Reusing Code with Extends</div></a><a href="/web/20210613135606/https://docs.looker.com/data-modeling/learning-lookml/refinements" class="gtm-nav-link"><div class="option" data-page-id="7-2-3">LookML Refinements</div></a><a href="/web/20210613135606/https://docs.looker.com/data-modeling/learning-lookml/importing-projects" class="gtm-nav-link"><div class="option" data-page-id="7-2-4">Importing Files from Other Projects</div></a><a href="/web/20210613135606/https://docs.looker.com/data-modeling/learning-lookml/templated-filters" class="gtm-nav-link"><div class="option" data-page-id="7-2-5">Templated Filters and Liquid Parameters</div></a><a href="/web/20210613135606/https://docs.looker.com/reference/liquid-variables" class="gtm-nav-link"><div class="option" data-page-id="7-2-6">Liquid Variable Reference</div></a><a href="/web/20210613135606/https://docs.looker.com/admin-options/security/html-sanitization" class="gtm-nav-link"><div class="option" data-page-id="7-2-7">HTML Sanitization</div></a><a href="/web/20210613135606/https://docs.looker.com/data-modeling/learning-lookml/model-localization" class="gtm-nav-link"><div class="option" data-page-id="7-2-8">Localizing Your Model</div></a></div><div class="menu-column pages 7-3"><a href="/web/20210613135606/https://docs.looker.com/reference/lookml" class="gtm-nav-link"><div class="option" data-page-id="7-3-0">LookML Parameter Reference by Function</div></a><a href="/web/20210613135606/https://docs.looker.com/reference/lookml-quick-reference" class="gtm-nav-link"><div class="option" data-page-id="7-3-1">LookML Quick Reference</div></a><a href="/web/20210613135606/https://docs.looker.com/reference/manifest-reference" class="gtm-nav-link"><div class="option" data-page-id="7-3-2">Project Manifest Parameters</div></a><a href="/web/20210613135606/https://docs.looker.com/reference/model-reference" class="gtm-nav-link"><div class="option" data-page-id="7-3-3">Model Parameters</div></a><a href="/web/20210613135606/https://docs.looker.com/reference/explore-reference" class="gtm-nav-link"><div class="option" data-page-id="7-3-4">Explore Parameters</div></a><a href="/web/20210613135606/https://docs.looker.com/reference/join-reference" class="gtm-nav-link"><div class="option" data-page-id="7-3-5">Join Parameters</div></a><a href="/web/20210613135606/https://docs.looker.com/reference/view-reference" class="gtm-nav-link"><div class="option" data-page-id="7-3-6">View Parameters</div></a><a href="/web/20210613135606/https://docs.looker.com/reference/field-reference" class="gtm-nav-link"><div class="option" data-page-id="7-3-7">Field Parameters</div></a><a href="/web/20210613135606/https://docs.looker.com/reference/field-reference/dimension-type-reference" class="gtm-nav-link"><div class="option" data-page-id="7-3-8">Dimension, Filter, and Parameter Types</div></a><a href="/web/20210613135606/https://docs.looker.com/reference/field-reference/measure-type-reference" class="gtm-nav-link"><div class="option" data-page-id="7-3-9">Measure Types</div></a><a href="/web/20210613135606/https://docs.looker.com/reference/filter-expressions" class="gtm-nav-link"><div class="option" data-page-id="7-3-10">Looker Filter Expressions</div></a><a href="/web/20210613135606/https://docs.looker.com/reference/liquid-variables" class="gtm-nav-link"><div class="option" data-page-id="7-3-11">Liquid Variable Reference</div></a></div><div class="menu-column pages 8-0"><a href="/web/20210613135606/https://docs.looker.com/reference/api-and-integration/api-getting-started" class="gtm-nav-link"><div class="option" data-page-id="8-0-0">Getting Started with the Looker API</div></a><a href="/web/20210613135606/https://docs.looker.com/reference/api-and-integration/api-auth" class="gtm-nav-link"><div class="option" data-page-id="8-0-1">Looker API Authentication</div></a><a href="/web/20210613135606/https://docs.looker.com/reference/api-and-integration/api-cors" class="gtm-nav-link"><div class="option" data-page-id="8-0-2">Looker API Authentication Using OAuth</div></a><a href="/web/20210613135606/https://docs.looker.com/reference/api-and-integration/api-versioning" class="gtm-nav-link"><div class="option" data-page-id="8-0-3">Looker API Versioning</div></a><a href="/web/20210613135606/https://docs.looker.com/reference/api-and-integration/api-explorer" class="gtm-nav-link"><div class="option" data-page-id="8-0-4">Using the API Explorer</div></a><a href="/web/20210613135606/https://docs.looker.com/reference/api-and-integration/api-reference/v3.0" class="gtm-nav-link"><div class="option" data-page-id="8-0-5">Looker 3.0 API Reference</div></a><a href="/web/20210613135606/https://docs.looker.com/reference/api-and-integration/api-reference/v3.1" class="gtm-nav-link"><div class="option" data-page-id="8-0-6">Looker 3.1 API Reference</div></a><a href="/web/20210613135606/https://docs.looker.com/reference/api-and-integration/api-reference/v4.0" class="gtm-nav-link"><div class="option" data-page-id="8-0-7">Looker 4.0 API Reference (Experimental)</div></a><a href="/web/20210613135606/https://docs.looker.com/reference/api-and-integration/api-sdk" class="gtm-nav-link"><div class="option" data-page-id="8-0-8">Looker API SDKs</div></a><a href="/web/20210613135606/https://docs.looker.com/reference/api-and-integration/api-troubleshooting" class="gtm-nav-link"><div class="option" data-page-id="8-0-9">Looker API Troubleshooting</div></a></div><div class="menu-column pages 8-1"><a href="/web/20210613135606/https://docs.looker.com/reference/embedding/security" class="gtm-nav-link"><div class="option" data-page-id="8-1-0">Security Best Practices for Embedded Analytics</div></a><a href="/web/20210613135606/https://docs.looker.com/sharing-and-publishing/embedding" class="gtm-nav-link"><div class="option" data-page-id="8-1-1">Private Embedding</div></a><a href="/web/20210613135606/https://docs.looker.com/reference/embedding/sso-embed" class="gtm-nav-link"><div class="option" data-page-id="8-1-2">Single Sign-on (SSO) Embedding</div></a><a href="/web/20210613135606/https://docs.looker.com/reference/embedding/viewing" class="gtm-nav-link"><div class="option" data-page-id="8-1-3">Viewing Embedded Looks & Dashboards</div></a><a href="/web/20210613135606/https://docs.looker.com/reference/embedding/embed-javascript-events" class="gtm-nav-link"><div class="option" data-page-id="8-1-4">Embedded Javascript Events</div></a><a href="/web/20210613135606/https://docs.looker.com/reference/embedding/timezones" class="gtm-nav-link"><div class="option" data-page-id="8-1-5">SSO Embedding Timezone Reference</div></a><a href="/web/20210613135606/https://docs.looker.com/admin-options/settings/themes" class="gtm-nav-link"><div class="option" data-page-id="8-1-6">Custom Themes for Embedded Dashboards</div></a><a href="/web/20210613135606/https://docs.looker.com/reference/embed-sdk" class="gtm-nav-link"><div class="option" data-page-id="8-1-7">Embed SDK</div></a></div><div class="menu-column pages 8-2"><a href="/web/20210613135606/https://docs.looker.com/data-modeling/extension-framework" class="gtm-nav-link"><div class="option" data-page-id="8-2-0">Getting Started with the Looker Extension Framework</div></a><a href="/web/20210613135606/https://docs.looker.com/data-modeling/extension-framework/permissions" class="gtm-nav-link"><div class="option" data-page-id="8-2-1">Setting Permissions for Looker Extensions</div></a></div><div class="menu-column pages 9-0"><a href="/web/20210613135606/https://docs.looker.com/admin-options" class="gtm-nav-link"><div class="option" data-page-id="9-0-0">Set Up and Administer Looker Overview</div></a><a href="/web/20210613135606/https://docs.looker.com/admin-options/supported-browsers" class="gtm-nav-link"><div class="option" data-page-id="9-0-1">Supported Browsers</div></a><a href="/web/20210613135606/https://docs.looker.com/admin-options/supported-looker-versions" class="gtm-nav-link"><div class="option" data-page-id="9-0-2">Supported Looker Versions</div></a></div><div class="menu-column pages 9-1"><a href="/web/20210613135606/https://docs.looker.com/setup-and-management/looker-hosted-install" class="gtm-nav-link"><div class="option" data-page-id="9-1-0">Looker-Hosted Installation Steps</div></a><a href="/web/20210613135606/https://docs.looker.com/setup-and-management/on-prem-install" class="gtm-nav-link"><div class="option" data-page-id="9-1-1">Customer-Hosted Installation Steps</div></a><a href="/web/20210613135606/https://docs.looker.com/setup-and-management/on-prem-mgmt" class="gtm-nav-link"><div class="option" data-page-id="9-1-2">Managing a Customer-Hosted Deployment</div></a><a href="/web/20210613135606/https://docs.looker.com/setup-and-management/signin-options" class="gtm-nav-link"><div class="option" data-page-id="9-1-3">Getting Started with Users</div></a><a href="/web/20210613135606/https://docs.looker.com/setup-and-management/on-prem-install/auto-provision-user" class="gtm-nav-link"><div class="option" data-page-id="9-1-4">Auto-Provisioning a New Looker Instance</div></a></div><div class="menu-column pages 9-2"><a href="/web/20210613135606/https://docs.looker.com/setup-and-management/enabling-secure-db" class="gtm-nav-link"><div class="option" data-page-id="9-2-0">Enabling Secure Database Access</div></a><a href="/web/20210613135606/https://docs.looker.com/setup-and-management/database-config" class="gtm-nav-link"><div class="option" data-page-id="9-2-1">Database Configuration Instructions</div></a><a href="/web/20210613135606/https://docs.looker.com/setup-and-management/connecting-to-db" class="gtm-nav-link"><div class="option" data-page-id="9-2-2">Connecting Looker to Your Database</div></a><a href="/web/20210613135606/https://docs.looker.com/setup-and-management/connecting-to-db/testing-db-connectivity" class="gtm-nav-link"><div class="option" data-page-id="9-2-3">Testing Database Connectivity</div></a><a href="/web/20210613135606/https://docs.looker.com/video-library/data-modeling#setting_up_a_connection" class="gtm-nav-link"><div class="option" data-page-id="9-2-4">Video Tutorials</div></a></div><div class="menu-column pages 9-3"><a href="/web/20210613135606/https://docs.looker.com/admin-options/tutorials/permissions" class="gtm-nav-link"><div class="option" data-page-id="9-3-0">Access Control and Permission Management</div></a><a href="/web/20210613135606/https://docs.looker.com/admin-options/tutorials/access-controls" class="gtm-nav-link"><div class="option" data-page-id="9-3-1">Designing and Configuring a System of Access Levels</div></a><a href="/web/20210613135606/https://docs.looker.com/setup-and-management/tutorials/clustering" class="gtm-nav-link"><div class="option" data-page-id="9-3-2">Clustering Looker</div></a><a href="/web/20210613135606/https://docs.looker.com/admin-options/tutorials/connections" class="gtm-nav-link"><div class="option" data-page-id="9-3-3">Creating Connections</div></a><a href="/web/20210613135606/https://docs.looker.com/admin-options/system-activity" class="gtm-nav-link"><div class="option" data-page-id="9-3-4">Using System Activity to View Internal Analytics</div></a><a href="/web/20210613135606/https://docs.looker.com/admin-options/tutorials/notify-users" class="gtm-nav-link"><div class="option" data-page-id="9-3-5">Making Announcements to Your Users</div></a><a href="/web/20210613135606/https://docs.looker.com/admin-options/tutorials/managing-bizusers/bizuser-features" class="gtm-nav-link"><div class="option" data-page-id="9-3-6">Managing Business User Features</div></a><a href="/web/20210613135606/https://docs.looker.com/admin-options/tutorials/delete-user" class="gtm-nav-link"><div class="option" data-page-id="9-3-7">Deleting Personal User Information</div></a><a href="/web/20210613135606/https://docs.looker.com/admin-options/tutorials/timezones" class="gtm-nav-link"><div class="option" data-page-id="9-3-8">Using Time Zone Settings</div></a><a href="/web/20210613135606/https://docs.looker.com/admin-options/tutorials/localizing-looker" class="gtm-nav-link"><div class="option" data-page-id="9-3-9">Supported User-Interface Languages</div></a><a href="/web/20210613135606/https://docs.looker.com/admin-options/tutorials/localizing-number-formatting" class="gtm-nav-link"><div class="option" data-page-id="9-3-10">Localizing Number Formatting</div></a></div><div class="menu-column pages 9-4"><a href="/web/20210613135606/https://docs.looker.com/admin-options/settings" class="gtm-nav-link"><div class="option" data-page-id="9-4-0">General Pages</div></a><a href="/web/20210613135606/https://docs.looker.com/admin-options/system-activity/sa-dashboards" class="gtm-nav-link"><div class="option" data-page-id="9-4-1">System Activity Dashboards</div></a><a href="/web/20210613135606/https://docs.looker.com/admin-options/settings/page-users" class="gtm-nav-link"><div class="option" data-page-id="9-4-2">Users Pages</div></a><a href="/web/20210613135606/https://docs.looker.com/admin-options/database" class="gtm-nav-link"><div class="option" data-page-id="9-4-3">Database Pages</div></a><a href="/web/20210613135606/https://docs.looker.com/admin-options/scheduler" class="gtm-nav-link"><div class="option" data-page-id="9-4-4">Alerts & Schedules Pages</div></a><a href="/web/20210613135606/https://docs.looker.com/admin-options/platform" class="gtm-nav-link"><div class="option" data-page-id="9-4-5">Platform Pages</div></a><a href="/web/20210613135606/https://docs.looker.com/admin-options/security" class="gtm-nav-link"><div class="option" data-page-id="9-4-6">Authentication Pages</div></a><a href="/web/20210613135606/https://docs.looker.com/admin-options/server" class="gtm-nav-link"><div class="option" data-page-id="9-4-7">Server Pages</div></a></div><div class="menu-column pages 10-0"><a href="/web/20210613135606/https://docs.looker.com/mobile-app" class="gtm-nav-link"><div class="option" data-page-id="10-0-0">Looker Mobile App Overview</div></a><a href="/web/20210613135606/https://docs.looker.com/mobile-app/enabling-mobile" class="gtm-nav-link"><div class="option" data-page-id="10-0-1">Enabling the Looker Mobile Application for Your Instance</div></a><a href="/web/20210613135606/https://docs.looker.com/mobile-app/installation" class="gtm-nav-link"><div class="option" data-page-id="10-0-2">Installing the Looker Mobile Application on Your Mobile Device</div></a><a href="/web/20210613135606/https://docs.looker.com/mobile-app/signing-in" class="gtm-nav-link"><div class="option" data-page-id="10-0-3">Signing in to the Looker Mobile Application</div></a><a href="/web/20210613135606/https://docs.looker.com/mobile-app/navigating-mobile-app" class="gtm-nav-link"><div class="option" data-page-id="10-0-4">Navigating to Content in the Looker Mobile Application</div></a><a href="/web/20210613135606/https://docs.looker.com/mobile-app/viewing-looks" class="gtm-nav-link"><div class="option" data-page-id="10-0-5">Viewing Looks in the Looker Mobile Application</div></a><a href="/web/20210613135606/https://docs.looker.com/mobile-app/viewing-dashboards" class="gtm-nav-link"><div class="option" data-page-id="10-0-6">Viewing Dashboards in the Looker Mobile Application</div></a></div> <!-- this is an add-on, not a partial, etc --> <!-- Instructions --> <div id="instructions"> <span>Hover over a category to see its contents</span> </div> </div> </section> <div id="release"> <a href="/web/20210613135606/https://docs.looker.com/relnotes/intro">Release</a> </div> </div> <div id="search"> <div style="position:relative;"> <form> <input type="text" class="st-default-search-input" placeholder="Search docs"></input> </form> <div id="search-tips">Hint: Press [Enter] or [Return] after typing a search term to see more results and spelling suggestions</div> </div> </div> <div id="reader-options"> <div id="mobile-search"> <form> <input type="text" class="st-default-search-input" placeholder="Search docs"></input> </form> </div> <div id="mobile-search-close"> <i class="material-icons">close</i> </div> <div id="mobile-options"> <i class="material-icons">settings</i> </div> <div class="version-container"> <div id="looker-picker"> Looker <span id="current-looker"></span> <i class="material-icons">keyboard_arrow_down</i> <div id="looker-choices"></div> </div> </div> <div class="version-container lang-container"> <div id="lang-picker"> <i class="material-icons globe-icon">language</i> <i class="material-icons">keyboard_arrow_down</i> <div id="lang-choices"> <div class="lang" data-lang-abbr="en">English</div> <div class="lang" data-lang-abbr="fr">Français</div> <div class="lang" data-lang-abbr="de">Deutsch</div> <div class="lang" data-lang-abbr="ja">日本語</div> </div> </div> </div> <div id="mobile-search-button"> <i class="material-icons">search</i> </div> <div id="print"> <i class="material-icons">print</i> </div> </div> </header> <main> <section id="mobile-menu"> <ul><li>Looker Introduction<ul class="child-nav"><li>Quick Start Pages<ul class="child-nav"><li><a href="https://web.archive.org/web/20210613135606/https://vimeo.com/215917994" class="gtm-nav-link">Logging In Video Tutorial</a></li><li><a href="/web/20210613135606/https://docs.looker.com/intro" class="gtm-nav-link">Looker Introduction</a></li><li><a href="/web/20210613135606/https://docs.looker.com/relnotes/intro" class="gtm-nav-link">Latest Features</a></li><li><a href="/web/20210613135606/https://docs.looker.com/sharing-and-publishing" class="gtm-nav-link">Find and Organize Content</a></li><li><a href="/web/20210613135606/https://docs.looker.com/sharing-and-publishing/send-share-intro" class="gtm-nav-link">Send and Share Content</a></li><li><a href="/web/20210613135606/https://docs.looker.com/exploring-data/retrieve-chart-intro" class="gtm-nav-link">Retrieve and Chart Data</a></li><li><a href="/web/20210613135606/https://docs.looker.com/dashboards/dashboards-reports-intro" class="gtm-nav-link">Create and Edit Dashboards and Reports</a></li><li><a href="/web/20210613135606/https://docs.looker.com/data-modeling" class="gtm-nav-link">Get Ready for Development</a></li><li><a href="/web/20210613135606/https://docs.looker.com/data-modeling/learning-lookml/lookml-intro" class="gtm-nav-link">Write LookML</a></li><li><a href="/web/20210613135606/https://docs.looker.com/reference/api-embedding-intro" class="gtm-nav-link">Use Embedding and the API</a></li><li><a href="/web/20210613135606/https://docs.looker.com/admin-options" class="gtm-nav-link">Set Up and Administer Looker</a></li></ul></li><li>Personalizing Looker<ul class="child-nav"><li><a href="/web/20210613135606/https://docs.looker.com/sharing-and-publishing/user-menu" class="gtm-nav-link">Personalizing Your User Profile</a></li><li><a href="/web/20210613135606/https://docs.looker.com/sharing-and-publishing/user-account" class="gtm-nav-link">Personalizing User Account Settings</a></li><li><a href="/web/20210613135606/https://docs.looker.com/sharing-and-publishing/user-history" class="gtm-nav-link">Viewing Your Query History</a></li><li><a href="/web/20210613135606/https://docs.looker.com/sharing-and-publishing/user-schedules" class="gtm-nav-link">Viewing Your Scheduled Data Deliveries</a></li><li><a href="/web/20210613135606/https://docs.looker.com/sharing-and-publishing/user-alerts" class="gtm-nav-link">Viewing Your Conditional Alert Notifications</a></li><li><a href="/web/20210613135606/https://docs.looker.com/sharing-and-publishing/user-sessions" class="gtm-nav-link">Viewing Information About Your Session</a></li></ul></li><li>Keyboard Shortcuts<ul class="child-nav"><li><a href="/web/20210613135606/https://docs.looker.com/exploring-data/exploring-data/keyboard-shortcuts" class="gtm-nav-link">Keyboard Shortcuts in Looker</a></li></ul></li><li>Video Tutorials<ul class="child-nav"><li><a href="https://web.archive.org/web/20210613135606/https://vimeo.com/268498280" class="gtm-nav-link">Why Use Looker?</a></li><li><a href="/web/20210613135606/https://docs.looker.com/video-library/exploring-data" class="gtm-nav-link">Business User Tutorials</a></li><li><a href="/web/20210613135606/https://docs.looker.com/video-library/data-modeling" class="gtm-nav-link">Admin and Developer Tutorials</a></li></ul></li><li>Looker Glossary<ul class="child-nav"><li><a href="/web/20210613135606/https://docs.looker.com/reference/glossary" class="gtm-nav-link">Looker Glossary</a></li></ul></li><li>Looker Error Catalog<ul class="child-nav"><li><a href="/web/20210613135606/https://docs.looker.com/reference/looker-error-catalog" class="gtm-nav-link">Looker Error Catalog</a></li></ul></li></ul></li></ul><ul><li>Latest Features<ul class="child-nav"><li>Latest Features<ul class="child-nav"><li><a href="/web/20210613135606/https://docs.looker.com/relnotes" class="gtm-nav-link">Looker 21 Release Highlights</a></li><li><a href="/web/20210613135606/https://docs.looker.com/relnotes/v21-changelog" class="gtm-nav-link">Looker 21 Changelog</a></li><li><a href="/web/20210613135606/https://docs.looker.com/relnotes/v7-release-notes" class="gtm-nav-link">Looker 7 Release Highlights</a></li><li><a href="/web/20210613135606/https://docs.looker.com/relnotes/v7-changelog" class="gtm-nav-link">Looker 7 Changelog</a></li><li><a href="/web/20210613135606/https://docs.looker.com/relnotes/esr-notes" class="gtm-nav-link">Extended Support Release Notes</a></li><li><a href="/web/20210613135606/https://docs.looker.com/relnotes/v6-release-notes" class="gtm-nav-link">Looker 6 Release Notes</a></li><li><a href="/web/20210613135606/https://docs.looker.com/relnotes/v5-release-notes" class="gtm-nav-link">Looker 5 Release Notes</a></li><li><a href="/web/20210613135606/https://docs.looker.com/relnotes/v4-release-notes" class="gtm-nav-link">Looker 4 Release Notes</a></li><li><a href="/web/20210613135606/https://docs.looker.com/relnotes/v3-release-notes" class="gtm-nav-link">Looker 3 Release Notes</a></li></ul></li></ul></li></ul><ul><li>Find and Organize Content<ul class="child-nav"><li>Finding and Viewing Content<ul class="child-nav"><li><a href="/web/20210613135606/https://docs.looker.com/sharing-and-publishing/finding-content" class="gtm-nav-link">Finding Content in Looker</a></li><li><a href="/web/20210613135606/https://docs.looker.com/dashboards/new-dashboard-experience" class="gtm-nav-link">Viewing Dashboards</a></li><li><a href="/web/20210613135606/https://docs.looker.com/dashboards/viewing-user-dashboards" class="gtm-nav-link">Viewing Legacy Dashboards in Looker</a></li><li><a href="/web/20210613135606/https://docs.looker.com/sharing-and-publishing/viewing-looks" class="gtm-nav-link">Viewing Looks in Looker</a></li><li><a href="/web/20210613135606/https://docs.looker.com/video-library/exploring-data#find_and_view_content" class="gtm-nav-link">Video Tutorials</a></li><li><a href="/web/20210613135606/https://docs.looker.com/reference/filter-expressions" class="gtm-nav-link">Looker Filter Expressions</a></li></ul></li><li>Organizing Content<ul class="child-nav"><li><a href="/web/20210613135606/https://docs.looker.com/sharing-and-publishing/organizing-spaces" class="gtm-nav-link">Organizing and Managing Access to Content</a></li><li><a href="/web/20210613135606/https://docs.looker.com/sharing-and-publishing/presenting-content" class="gtm-nav-link">Presenting Content with Boards</a></li></ul></li><li>For Developers and Admins<ul class="child-nav"><li><a href="/web/20210613135606/https://docs.looker.com/sharing-and-publishing/admin-spaces" class="gtm-nav-link">Deleted and Unused Content for Admins</a></li></ul></li></ul></li></ul><ul><li>Send and Share Content<ul class="child-nav"><li>Sharing Data Overview<ul class="child-nav"><li><a href="/web/20210613135606/https://docs.looker.com/sharing-and-publishing/sharing-data" class="gtm-nav-link">Sharing Data</a></li></ul></li><li>One-Time Sharing<ul class="child-nav"><li><a href="/web/20210613135606/https://docs.looker.com/sharing-and-publishing/downloading" class="gtm-nav-link">Downloading Content</a></li><li><a href="/web/20210613135606/https://docs.looker.com/sharing-and-publishing/publishing-looks-with-public-urls" class="gtm-nav-link">Public Sharing, Importing, and Embedding</a></li><li><a href="/web/20210613135606/https://docs.looker.com/sharing-and-publishing/sharing-urls" class="gtm-nav-link">Sharing Data from URLs</a></li></ul></li><li>Periodic Sharing<ul class="child-nav"><li><a href="/web/20210613135606/https://docs.looker.com/sharing-and-publishing/scheduling-and-sharing/scheduling" class="gtm-nav-link">Using the Looker Scheduler to Deliver Content</a></li><li><a href="/web/20210613135606/https://docs.looker.com/sharing-and-publishing/scheduling-and-sharing/scheduling-new-dashboards" class="gtm-nav-link">Scheduling and Sending Dashboards</a></li><li><a href="/web/20210613135606/https://docs.looker.com/sharing-and-publishing/scheduling-and-sharing/scheduling-slack" class="gtm-nav-link">Scheduling Deliveries to the Slack Integration</a></li><li><a href="/web/20210613135606/https://docs.looker.com/sharing-and-publishing/action-hub" class="gtm-nav-link">Sharing Data Through an Action Hub</a></li><li><a href="/web/20210613135606/https://docs.looker.com/sharing-and-publishing/scheduling-and-sharing/scheduling-for-admins" class="gtm-nav-link">Configuring Content Deliveries for Looker Users (Looker admins)</a></li></ul></li><li>Conditional Sharing<ul class="child-nav"><li><a href="/web/20210613135606/https://docs.looker.com/sharing-and-publishing/scheduling-and-sharing/delivering-looks-explores#send_this_schedule_if" class="gtm-nav-link">Conditionally Delivering Looks and Explores</a></li><li><a href="/web/20210613135606/https://docs.looker.com/sharing-and-publishing/alerts" class="gtm-nav-link">Conditional Alerts Overview</a></li><li><a href="/web/20210613135606/https://docs.looker.com/sharing-and-publishing/alerts-for-admins" class="gtm-nav-link">Configuring Conditional Alerts for Looker Users (Looker admins)</a></li></ul></li><li>Video Tutorials<ul class="child-nav"><li><a href="/web/20210613135606/https://docs.looker.com/video-library/exploring-data#send_and_share_content" class="gtm-nav-link">Video Tutorials</a></li></ul></li></ul></li></ul><ul><li>Retrieve and Chart Data<ul class="child-nav"><li>Retrieving Data<ul class="child-nav"><li><a href="/web/20210613135606/https://docs.looker.com/exploring-data/exploring-data" class="gtm-nav-link">Exploring Data in Looker</a></li><li><a href="/web/20210613135606/https://docs.looker.com/exploring-data/filtering-and-limiting" class="gtm-nav-link">Filtering and Limiting Data</a></li><li><a href="/web/20210613135606/https://docs.looker.com/exploring-data/exploring-data/merged-results" class="gtm-nav-link">Merging Results from Different Explores</a></li><li><a href="/web/20210613135606/https://docs.looker.com/video-library/exploring-data#how_to_retrieve_data" class="gtm-nav-link">Video Tutorials</a></li><li><a href="/web/20210613135606/https://docs.looker.com/reference/filter-expressions" class="gtm-nav-link">Looker Filter Expressions</a></li><li><a href="/web/20210613135606/https://docs.looker.com/exploring-data/creating-looker-expressions/looker-functions-and-operators" class="gtm-nav-link">Looker Functions and Operators</a></li><li><a href="/web/20210613135606/https://docs.looker.com/exploring-data/custom-formatting" class="gtm-nav-link">Adding Custom Formatting to Numeric Fields</a></li></ul></li><li>Creating Your Own Fields<ul class="child-nav"><li><a href="/web/20210613135606/https://docs.looker.com/exploring-data/using-table-calculations" class="gtm-nav-link">Using Table Calculations</a></li><li><a href="/web/20210613135606/https://docs.looker.com/exploring-data/adding-fields/custom-measure" class="gtm-nav-link">Adding Custom Fields</a></li><li><a href="/web/20210613135606/https://docs.looker.com/exploring-data/creating-looker-expressions" class="gtm-nav-link">Creating Looker Expressions</a></li><li><a href="/web/20210613135606/https://docs.looker.com/exploring-data/creating-looker-expressions/looker-functions-and-operators" class="gtm-nav-link">Looker Functions and Operators</a></li></ul></li><li>Creating Charts<ul class="child-nav"><li><a href="/web/20210613135606/https://docs.looker.com/exploring-data/visualizing-query-results" class="gtm-nav-link">Creating Visualizations and Graphs</a></li><li><a href="/web/20210613135606/https://docs.looker.com/exploring-data/visualizing-query-results/visualization-types" class="gtm-nav-link">Visualization Types</a></li><li><a href="/web/20210613135606/https://docs.looker.com/exploring-data/visualizing-query-results/color-collections" class="gtm-nav-link">Color Collections</a></li><li><a href="/web/20210613135606/https://docs.looker.com/exploring-data/visualizing-query-results/time-formatting-for-charts" class="gtm-nav-link">Time Formatting for Charts</a></li><li><a href="/web/20210613135606/https://docs.looker.com/video-library/exploring-data#how_to_create_charts" class="gtm-nav-link">Video Tutorials</a></li></ul></li></ul></li></ul><ul><li>Create Dashboards and Reports<ul class="child-nav"><li>Creating Saved Reports (Looks)<ul class="child-nav"><li><a href="/web/20210613135606/https://docs.looker.com/exploring-data/saving-and-editing-looks" class="gtm-nav-link">Saving and Editing Looks</a></li></ul></li><li>Creating User-Defined Dashboards<ul class="child-nav"><li><a href="/web/20210613135606/https://docs.looker.com/dashboards/creating-dashboards-beta" class="gtm-nav-link">Creating User-Defined Dashboards</a></li><li><a href="/web/20210613135606/https://docs.looker.com/dashboards/editing-dashboards-beta" class="gtm-nav-link">Editing User-Defined Dashboards</a></li><li><a href="/web/20210613135606/https://docs.looker.com/dashboards/dashboard-beta-filters" class="gtm-nav-link">Adding and Editing User-Defined Dashboard Filters</a></li><li><a href="/web/20210613135606/https://docs.looker.com/reference/filter-expressions" class="gtm-nav-link">Looker Filter Expressions</a></li><li><a href="/web/20210613135606/https://docs.looker.com/dashboards/cross-filtering" class="gtm-nav-link">Cross-Filtering Dashboards</a></li><li><a href="/web/20210613135606/https://docs.looker.com/dashboards/embedding-dashboards-beta" class="gtm-nav-link">Embedding Dashboards</a></li><li><a href="/web/20210613135606/https://docs.looker.com/dashboards/legacy-dashboards-landing" class="gtm-nav-link">Legacy Dashboards</a></li><li><a href="/web/20210613135606/https://docs.looker.com/video-library/exploring-data#creating_user-defined_dashboards" class="gtm-nav-link">Video Tutorials</a></li></ul></li><li>Creating and Managing LookML Dashboards<ul class="child-nav"><li><a href="/web/20210613135606/https://docs.looker.com/dashboards/creating-lookml-dashboards" class="gtm-nav-link">Building LookML Dashboards</a></li><li><a href="/web/20210613135606/https://docs.looker.com/reference/lookml-dashboard-overview" class="gtm-nav-link">LookML Dashboard Reference</a></li><li><a href="/web/20210613135606/https://docs.looker.com/reference/dashboard-reference/lookml-visualization-reference" class="gtm-nav-link">Dashboard Element Parameters</a></li><li><a href="/web/20210613135606/https://docs.looker.com/reference/dashboard-reference/lookml-reference-lines-reference" class="gtm-nav-link">Dashboard Reference Line Parameters</a></li><li><a href="/web/20210613135606/https://docs.looker.com/dashboards/lookml-to-user-dashboard" class="gtm-nav-link">Converting from LookML to User-Defined Dashboards</a></li><li><a href="/web/20210613135606/https://docs.looker.com/dashboards/creating-lookml-dashboards#create_a_lookml_copy_of_a_user-defined_dashboard" class="gtm-nav-link">Converting from User-Defined to LookML Dashboards</a></li></ul></li></ul></li></ul><ul><li>Get Ready for Development<ul class="child-nav"><li>Development Basics<ul class="child-nav"><li><a href="/web/20210613135606/https://docs.looker.com/data-modeling" class="gtm-nav-link">Get Ready for Development</a></li><li><a href="/web/20210613135606/https://docs.looker.com/data-modeling/getting-started/how-project-works" class="gtm-nav-link">How a Project Works in Looker</a></li><li><a href="/web/20210613135606/https://docs.looker.com/data-modeling/getting-started/dev-mode-prod-mode" class="gtm-nav-link">Development Mode and Production Mode</a></li><li><a href="/web/20210613135606/https://docs.looker.com/data-modeling/getting-started/file-types-in-project" class="gtm-nav-link">LookML Project Files</a></li><li><a href="/web/20210613135606/https://docs.looker.com/data-modeling/getting-started/model-development" class="gtm-nav-link">Understanding Model and View Files</a></li><li><a href="/web/20210613135606/https://docs.looker.com/data-modeling/getting-started/other-project-files" class="gtm-nav-link">Understanding Other Project Files</a></li><li><a href="/web/20210613135606/https://docs.looker.com/data-modeling/getting-started/ide-folders" class="gtm-nav-link">Working with Folders in the IDE</a></li><li><a href="/web/20210613135606/https://docs.looker.com/data-modeling/getting-started/object-browser" class="gtm-nav-link">Navigating Projects with the Object Browser Panel</a></li><li><a href="/web/20210613135606/https://docs.looker.com/data-modeling/getting-started/lookml-metadata" class="gtm-nav-link">Metadata for LookML Objects</a></li></ul></li><li>SQL in Looker<ul class="child-nav"><li><a href="/web/20210613135606/https://docs.looker.com/data-modeling/learning-lookml/how-looker-generates-sql" class="gtm-nav-link">How Looker Generates SQL</a></li><li><a href="/web/20210613135606/https://docs.looker.com/data-modeling/learning-lookml/sql-runner" class="gtm-nav-link">SQL Runner Basics</a></li><li><a href="/web/20210613135606/https://docs.looker.com/data-modeling/learning-lookml/sql-runner-create-queries" class="gtm-nav-link">Using SQL Runner to Create Queries and Explores</a></li><li><a href="/web/20210613135606/https://docs.looker.com/data-modeling/learning-lookml/sql-runner-create-dts" class="gtm-nav-link">Using SQL Runner to Create Derived Tables</a></li><li><a href="/web/20210613135606/https://docs.looker.com/data-modeling/learning-lookml/sql-runner-manage-db" class="gtm-nav-link">Managing Database Functions with SQL Runner</a></li></ul></li><li>Creating and Editing Projects<ul class="child-nav"><li><a href="/web/20210613135606/https://docs.looker.com/data-modeling/getting-started/create-projects" class="gtm-nav-link">Creating a New LookML Project</a></li><li><a href="/web/20210613135606/https://docs.looker.com/data-modeling/getting-started/manage-projects" class="gtm-nav-link">Accessing and Editing Project Information</a></li><li><a href="/web/20210613135606/https://docs.looker.com/data-modeling/getting-started/connect-to-db-and-generate-model" class="gtm-nav-link">Generating a Model</a></li></ul></li><li>Git and Version Control<ul class="child-nav"><li><a href="/web/20210613135606/https://docs.looker.com/data-modeling/getting-started/setting-up-git-connection" class="gtm-nav-link">Setting Up and Testing a Git Connection</a></li><li><a href="/web/20210613135606/https://docs.looker.com/data-modeling/getting-started/git-options" class="gtm-nav-link">Configuring Project Version Control Settings</a></li><li><a href="/web/20210613135606/https://docs.looker.com/data-modeling/getting-started/webhook-deploy-secret" class="gtm-nav-link">Configuring the Webhook Deploy Secret</a></li><li><a href="/web/20210613135606/https://docs.looker.com/data-modeling/getting-started/advanced-deploy-mode" class="gtm-nav-link">Advanced Deploy Mode</a></li><li><a href="/web/20210613135606/https://docs.looker.com/data-modeling/getting-started/version-control-and-deploying-changes" class="gtm-nav-link">Using Version Control and Deploying</a></li><li><a href="/web/20210613135606/https://docs.looker.com/data-modeling/getting-started/git-command-reference" class="gtm-nav-link">Git Command Reference</a></li></ul></li><li>Setting Up a Database<br/>Connection<ul class="child-nav"><li><a href="/web/20210613135606/https://docs.looker.com/setup-and-management/enabling-secure-db" class="gtm-nav-link">Enabling Secure Database Access</a></li><li><a href="/web/20210613135606/https://docs.looker.com/setup-and-management/database-config" class="gtm-nav-link">Database Configuration Instructions</a></li><li><a href="/web/20210613135606/https://docs.looker.com/setup-and-management/connecting-to-db" class="gtm-nav-link">Connecting Looker to Your Database</a></li><li><a href="/web/20210613135606/https://docs.looker.com/setup-and-management/connecting-to-db/testing-db-connectivity" class="gtm-nav-link">Testing Database Connectivity</a></li></ul></li><li>Looker Marketplace<ul class="child-nav"><li><a href="/web/20210613135606/https://docs.looker.com/data-modeling/marketplace" class="gtm-nav-link">Using the Looker Marketplace</a></li><li><a href="/web/20210613135606/https://docs.looker.com/data-modeling/marketplace/customize-blocks" class="gtm-nav-link">Customizing Looker Marketplace Blocks</a></li><li><a href="/web/20210613135606/https://docs.looker.com/data-modeling/marketplace/adding-block-marketplace" class="gtm-nav-link">Developing a Custom Block for the Looker Marketplace</a></li><li><a href="/web/20210613135606/https://docs.looker.com/data-modeling/marketplace/adding-viz-marketplace" class="gtm-nav-link">Developing a Custom Visualization for the Looker Marketplace</a></li><li><a href="/web/20210613135606/https://docs.looker.com/data-modeling/extension-framework/data-dictionary" class="gtm-nav-link">Using the Looker Data Dictionary</a></li><li><a href="/web/20210613135606/https://docs.looker.com/data-modeling/extension-framework/lookml-diagram-admins" class="gtm-nav-link">Configuring the LookML Diagram</a></li><li><a href="/web/20210613135606/https://docs.looker.com/data-modeling/extension-framework/lookml-diagram" class="gtm-nav-link">Using the LookML Diagram</a></li></ul></li><li>Video Tutorials<ul class="child-nav"><li><a href="/web/20210613135606/https://docs.looker.com/video-library/data-modeling" class="gtm-nav-link">Video Tutorials</a></li></ul></li></ul></li></ul><ul><li>Write LookML<ul class="child-nav"><li>Getting Started with LookML<ul class="child-nav"><li><a href="/web/20210613135606/https://docs.looker.com/data-modeling/learning-lookml" class="gtm-nav-link">Steps to Learning LookML</a></li><li><a href="/web/20210613135606/https://docs.looker.com/video-library/data-modeling" class="gtm-nav-link">Video Tutorials</a></li></ul></li><li>Basic Concepts<ul class="child-nav"><li><a href="/web/20210613135606/https://docs.looker.com/data-modeling/learning-lookml/what-is-lookml" class="gtm-nav-link">What Is LookML?</a></li><li><a href="/web/20210613135606/https://docs.looker.com/data-modeling/learning-lookml/lookml-terms-and-concepts" class="gtm-nav-link">LookML Terms and Concepts</a></li><li><a href="/web/20210613135606/https://docs.looker.com/data-modeling/getting-started/lookml-validation" class="gtm-nav-link">Editing and Validating LookML</a></li><li><a href="/web/20210613135606/https://docs.looker.com/data-modeling/getting-started/look-validation" class="gtm-nav-link">Content Validation</a></li><li><a href="/web/20210613135606/https://docs.looker.com/data-modeling/learning-lookml/sql-and-referring-to-lookml" class="gtm-nav-link">Incorporating SQL and Referring to LookML Objects</a></li><li><a href="/web/20210613135606/https://docs.looker.com/data-modeling/learning-lookml/advanced-lookml-concepts" class="gtm-nav-link">Additional LookML Basics</a></li><li><a href="/web/20210613135606/https://docs.looker.com/data-modeling/learning-lookml/working-with-joins" class="gtm-nav-link">Working with Joins in LookML</a></li><li><a href="/web/20210613135606/https://docs.looker.com/data-modeling/learning-lookml/derived-tables" class="gtm-nav-link">Derived Tables in Looker</a></li><li><a href="/web/20210613135606/https://docs.looker.com/data-modeling/learning-lookml/creating-ndts" class="gtm-nav-link">Creating Native Derived Tables</a></li><li><a href="/web/20210613135606/https://docs.looker.com/data-modeling/learning-lookml/incremental-pdts" class="gtm-nav-link">Incremental PDTs</a></li><li><a href="/web/20210613135606/https://docs.looker.com/data-modeling/learning-lookml/explore-menu-and-field-picker" class="gtm-nav-link">Changing the Explore Menu and Field Picker</a></li><li><a href="/web/20210613135606/https://docs.looker.com/data-modeling/learning-lookml/filter-suggestions" class="gtm-nav-link">Changing Filter Suggestions</a></li><li><a href="/web/20210613135606/https://docs.looker.com/data-modeling/looker-blocks" class="gtm-nav-link">Looker Blocks</a></li></ul></li><li>Advanced Concepts<ul class="child-nav"><li><a href="/web/20210613135606/https://docs.looker.com/data-modeling/learning-lookml/caching" class="gtm-nav-link">Caching Queries and Rebuilding PDTs with Datagroups</a></li><li><a href="/web/20210613135606/https://docs.looker.com/data-modeling/learning-lookml/aggregate_awareness" class="gtm-nav-link">Aggregate Awareness</a></li><li><a href="/web/20210613135606/https://docs.looker.com/data-modeling/learning-lookml/extends" class="gtm-nav-link">Reusing Code with Extends</a></li><li><a href="/web/20210613135606/https://docs.looker.com/data-modeling/learning-lookml/refinements" class="gtm-nav-link">LookML Refinements</a></li><li><a href="/web/20210613135606/https://docs.looker.com/data-modeling/learning-lookml/importing-projects" class="gtm-nav-link">Importing Files from Other Projects</a></li><li><a href="/web/20210613135606/https://docs.looker.com/data-modeling/learning-lookml/templated-filters" class="gtm-nav-link">Templated Filters and Liquid Parameters</a></li><li><a href="/web/20210613135606/https://docs.looker.com/reference/liquid-variables" class="gtm-nav-link">Liquid Variable Reference</a></li><li><a href="/web/20210613135606/https://docs.looker.com/admin-options/security/html-sanitization" class="gtm-nav-link">HTML Sanitization</a></li><li><a href="/web/20210613135606/https://docs.looker.com/data-modeling/learning-lookml/model-localization" class="gtm-nav-link">Localizing Your Model</a></li></ul></li><li>LookML Reference<ul class="child-nav"><li><a href="/web/20210613135606/https://docs.looker.com/reference/lookml" class="gtm-nav-link">LookML Parameter Reference by Function</a></li><li><a href="/web/20210613135606/https://docs.looker.com/reference/lookml-quick-reference" class="gtm-nav-link">LookML Quick Reference</a></li><li><a href="/web/20210613135606/https://docs.looker.com/reference/manifest-reference" class="gtm-nav-link">Project Manifest Parameters</a></li><li><a href="/web/20210613135606/https://docs.looker.com/reference/model-reference" class="gtm-nav-link">Model Parameters</a></li><li><a href="/web/20210613135606/https://docs.looker.com/reference/explore-reference" class="gtm-nav-link">Explore Parameters</a></li><li><a href="/web/20210613135606/https://docs.looker.com/reference/join-reference" class="gtm-nav-link">Join Parameters</a></li><li><a href="/web/20210613135606/https://docs.looker.com/reference/view-reference" class="gtm-nav-link">View Parameters</a></li><li><a href="/web/20210613135606/https://docs.looker.com/reference/field-reference" class="gtm-nav-link">Field Parameters</a></li><li><a href="/web/20210613135606/https://docs.looker.com/reference/field-reference/dimension-type-reference" class="gtm-nav-link">Dimension, Filter, and Parameter Types</a></li><li><a href="/web/20210613135606/https://docs.looker.com/reference/field-reference/measure-type-reference" class="gtm-nav-link">Measure Types</a></li><li><a href="/web/20210613135606/https://docs.looker.com/reference/filter-expressions" class="gtm-nav-link">Looker Filter Expressions</a></li><li><a href="/web/20210613135606/https://docs.looker.com/reference/liquid-variables" class="gtm-nav-link">Liquid Variable Reference</a></li></ul></li></ul></li></ul><ul><li>Use Embedding, the API, and the Extension Framework<ul class="child-nav"><li>Looker API<ul class="child-nav"><li><a href="/web/20210613135606/https://docs.looker.com/reference/api-and-integration/api-getting-started" class="gtm-nav-link">Getting Started with the Looker API</a></li><li><a href="/web/20210613135606/https://docs.looker.com/reference/api-and-integration/api-auth" class="gtm-nav-link">Looker API Authentication</a></li><li><a href="/web/20210613135606/https://docs.looker.com/reference/api-and-integration/api-cors" class="gtm-nav-link">Looker API Authentication Using OAuth</a></li><li><a href="/web/20210613135606/https://docs.looker.com/reference/api-and-integration/api-versioning" class="gtm-nav-link">Looker API Versioning</a></li><li><a href="/web/20210613135606/https://docs.looker.com/reference/api-and-integration/api-explorer" class="gtm-nav-link">Using the API Explorer</a></li><li><a href="/web/20210613135606/https://docs.looker.com/reference/api-and-integration/api-reference/v3.0" class="gtm-nav-link">Looker 3.0 API Reference</a></li><li><a href="/web/20210613135606/https://docs.looker.com/reference/api-and-integration/api-reference/v3.1" class="gtm-nav-link">Looker 3.1 API Reference</a></li><li><a href="/web/20210613135606/https://docs.looker.com/reference/api-and-integration/api-reference/v4.0" class="gtm-nav-link">Looker 4.0 API Reference (Experimental)</a></li><li><a href="/web/20210613135606/https://docs.looker.com/reference/api-and-integration/api-sdk" class="gtm-nav-link">Looker API SDKs</a></li><li><a href="/web/20210613135606/https://docs.looker.com/reference/api-and-integration/api-troubleshooting" class="gtm-nav-link">Looker API Troubleshooting</a></li></ul></li><li>Embedding<ul class="child-nav"><li><a href="/web/20210613135606/https://docs.looker.com/reference/embedding/security" class="gtm-nav-link">Security Best Practices for Embedded Analytics</a></li><li><a href="/web/20210613135606/https://docs.looker.com/sharing-and-publishing/embedding" class="gtm-nav-link">Private Embedding</a></li><li><a href="/web/20210613135606/https://docs.looker.com/reference/embedding/sso-embed" class="gtm-nav-link">Single Sign-on (SSO) Embedding</a></li><li><a href="/web/20210613135606/https://docs.looker.com/reference/embedding/viewing" class="gtm-nav-link">Viewing Embedded Looks & Dashboards</a></li><li><a href="/web/20210613135606/https://docs.looker.com/reference/embedding/embed-javascript-events" class="gtm-nav-link">Embedded Javascript Events</a></li><li><a href="/web/20210613135606/https://docs.looker.com/reference/embedding/timezones" class="gtm-nav-link">SSO Embedding Timezone Reference</a></li><li><a href="/web/20210613135606/https://docs.looker.com/admin-options/settings/themes" class="gtm-nav-link">Custom Themes for Embedded Dashboards</a></li><li><a href="/web/20210613135606/https://docs.looker.com/reference/embed-sdk" class="gtm-nav-link">Embed SDK</a></li></ul></li><li>Extension Framework<ul class="child-nav"><li><a href="/web/20210613135606/https://docs.looker.com/data-modeling/extension-framework" class="gtm-nav-link">Getting Started with the Looker Extension Framework</a></li><li><a href="/web/20210613135606/https://docs.looker.com/data-modeling/extension-framework/permissions" class="gtm-nav-link">Setting Permissions for Looker Extensions</a></li></ul></li></ul></li></ul><ul><li>Set Up and Administer Looker<ul class="child-nav"><li>Getting Started with Setup and Admin<ul class="child-nav"><li><a href="/web/20210613135606/https://docs.looker.com/admin-options" class="gtm-nav-link">Set Up and Administer Looker Overview</a></li><li><a href="/web/20210613135606/https://docs.looker.com/admin-options/supported-browsers" class="gtm-nav-link">Supported Browsers</a></li><li><a href="/web/20210613135606/https://docs.looker.com/admin-options/supported-looker-versions" class="gtm-nav-link">Supported Looker Versions</a></li></ul></li><li>Installation and Maintenance<ul class="child-nav"><li><a href="/web/20210613135606/https://docs.looker.com/setup-and-management/looker-hosted-install" class="gtm-nav-link">Looker-Hosted Installation Steps</a></li><li><a href="/web/20210613135606/https://docs.looker.com/setup-and-management/on-prem-install" class="gtm-nav-link">Customer-Hosted Installation Steps</a></li><li><a href="/web/20210613135606/https://docs.looker.com/setup-and-management/on-prem-mgmt" class="gtm-nav-link">Managing a Customer-Hosted Deployment</a></li><li><a href="/web/20210613135606/https://docs.looker.com/setup-and-management/signin-options" class="gtm-nav-link">Getting Started with Users</a></li><li><a href="/web/20210613135606/https://docs.looker.com/setup-and-management/on-prem-install/auto-provision-user" class="gtm-nav-link">Auto-Provisioning a New Looker Instance</a></li></ul></li><li>Setting Up a Database<br/>Connection<ul class="child-nav"><li><a href="/web/20210613135606/https://docs.looker.com/setup-and-management/enabling-secure-db" class="gtm-nav-link">Enabling Secure Database Access</a></li><li><a href="/web/20210613135606/https://docs.looker.com/setup-and-management/database-config" class="gtm-nav-link">Database Configuration Instructions</a></li><li><a href="/web/20210613135606/https://docs.looker.com/setup-and-management/connecting-to-db" class="gtm-nav-link">Connecting Looker to Your Database</a></li><li><a href="/web/20210613135606/https://docs.looker.com/setup-and-management/connecting-to-db/testing-db-connectivity" class="gtm-nav-link">Testing Database Connectivity</a></li><li><a href="/web/20210613135606/https://docs.looker.com/video-library/data-modeling#setting_up_a_connection" class="gtm-nav-link">Video Tutorials</a></li></ul></li><li>Admin Tutorials<ul class="child-nav"><li><a href="/web/20210613135606/https://docs.looker.com/admin-options/tutorials/permissions" class="gtm-nav-link">Access Control and Permission Management</a></li><li><a href="/web/20210613135606/https://docs.looker.com/admin-options/tutorials/access-controls" class="gtm-nav-link">Designing and Configuring a System of Access Levels</a></li><li><a href="/web/20210613135606/https://docs.looker.com/setup-and-management/tutorials/clustering" class="gtm-nav-link">Clustering Looker</a></li><li><a href="/web/20210613135606/https://docs.looker.com/admin-options/tutorials/connections" class="gtm-nav-link">Creating Connections</a></li><li><a href="/web/20210613135606/https://docs.looker.com/admin-options/system-activity" class="gtm-nav-link">Using System Activity to View Internal Analytics</a></li><li><a href="/web/20210613135606/https://docs.looker.com/admin-options/tutorials/notify-users" class="gtm-nav-link">Making Announcements to Your Users</a></li><li><a href="/web/20210613135606/https://docs.looker.com/admin-options/tutorials/managing-bizusers/bizuser-features" class="gtm-nav-link">Managing Business User Features</a></li><li><a href="/web/20210613135606/https://docs.looker.com/admin-options/tutorials/delete-user" class="gtm-nav-link">Deleting Personal User Information</a></li><li><a href="/web/20210613135606/https://docs.looker.com/admin-options/tutorials/timezones" class="gtm-nav-link">Using Time Zone Settings</a></li><li><a href="/web/20210613135606/https://docs.looker.com/admin-options/tutorials/localizing-looker" class="gtm-nav-link">Supported User-Interface Languages</a></li><li><a href="/web/20210613135606/https://docs.looker.com/admin-options/tutorials/localizing-number-formatting" class="gtm-nav-link">Localizing Number Formatting</a></li></ul></li><li>Admin Panel Reference<ul class="child-nav"><li><a href="/web/20210613135606/https://docs.looker.com/admin-options/settings" class="gtm-nav-link">General Pages</a></li><li><a href="/web/20210613135606/https://docs.looker.com/admin-options/system-activity/sa-dashboards" class="gtm-nav-link">System Activity Dashboards</a></li><li><a href="/web/20210613135606/https://docs.looker.com/admin-options/settings/page-users" class="gtm-nav-link">Users Pages</a></li><li><a href="/web/20210613135606/https://docs.looker.com/admin-options/database" class="gtm-nav-link">Database Pages</a></li><li><a href="/web/20210613135606/https://docs.looker.com/admin-options/scheduler" class="gtm-nav-link">Alerts & Schedules Pages</a></li><li><a href="/web/20210613135606/https://docs.looker.com/admin-options/platform" class="gtm-nav-link">Platform Pages</a></li><li><a href="/web/20210613135606/https://docs.looker.com/admin-options/security" class="gtm-nav-link">Authentication Pages</a></li><li><a href="/web/20210613135606/https://docs.looker.com/admin-options/server" class="gtm-nav-link">Server Pages</a></li></ul></li></ul></li></ul><ul><li>Looker Mobile Application<ul class="child-nav"><li>Looker Mobile Application<ul class="child-nav"><li><a href="/web/20210613135606/https://docs.looker.com/mobile-app" class="gtm-nav-link">Looker Mobile App Overview</a></li><li><a href="/web/20210613135606/https://docs.looker.com/mobile-app/enabling-mobile" class="gtm-nav-link">Enabling the Looker Mobile Application for Your Instance</a></li><li><a href="/web/20210613135606/https://docs.looker.com/mobile-app/installation" class="gtm-nav-link">Installing the Looker Mobile Application on Your Mobile Device</a></li><li><a href="/web/20210613135606/https://docs.looker.com/mobile-app/signing-in" class="gtm-nav-link">Signing in to the Looker Mobile Application</a></li><li><a href="/web/20210613135606/https://docs.looker.com/mobile-app/navigating-mobile-app" class="gtm-nav-link">Navigating to Content in the Looker Mobile Application</a></li><li><a href="/web/20210613135606/https://docs.looker.com/mobile-app/viewing-looks" class="gtm-nav-link">Viewing Looks in the Looker Mobile Application</a></li><li><a href="/web/20210613135606/https://docs.looker.com/mobile-app/viewing-dashboards" class="gtm-nav-link">Viewing Dashboards in the Looker Mobile Application</a></li></ul></li></ul></li></ul> <!-- this is an add-on, not a partial, etc --> </section> <section id="mobile-reader-options"></section> <nav> <div id="on-this-page" class="section-label">On this page</div> </nav> <article id="docs-content" data-swiftype-index="true"> <aside data-swiftype-index="false"> <!-- ============= VIDEOS ============= --> <div id="videos"> <div class="section-label">Videos</div> <div id="video-container"> <div class="video"> <div class="iframe-container"> <div class="iframe-closer"><i class="material-icons">close</i></div><iframe src="https://web.archive.org/web/20210613135606if_/https://player.vimeo.com/video/502370769?title=0&byline=0&portrait=0" frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe></div> <img src="/web/20210613135606im_/https://docs.looker.com/assets/video_images/looker-ide-p1.png"/> <div class="video-label">LookML Editor Part 1</div><div class="video-version">Applies to 7.18+</div><div class="video-playlist">Part of the <a href="https://web.archive.org/web/20210613135606/https://vimeo.com/showcase/8200576" class="gtm-playlist-link">Developer Series</a> Playlist</div></div> <div class="video"> <div class="iframe-container"> <div class="iframe-closer"><i class="material-icons">close</i></div><iframe src="https://web.archive.org/web/20210613135606if_/https://player.vimeo.com/video/502396193?title=0&byline=0&portrait=0" frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe></div> <img src="/web/20210613135606im_/https://docs.looker.com/assets/video_images/looker-ide-p2.png"/> <div class="video-label">LookML Editor Part 2</div><div class="video-version">Applies to 7.18+</div><div class="video-playlist">Part of the <a href="https://web.archive.org/web/20210613135606/https://vimeo.com/showcase/8200576" class="gtm-playlist-link">Developer Series</a> Playlist</div></div> </div> </div> <!-- ============= RELATED CONTENT ============= --> <div id="related-links"> <div class="section-label">Related content</div> <div id="related-links-container"> <!-- Help Center --> <a id="help-center-link" href="#" target="_blank"> <div class="related-box"> <div class="related-location"> <i class="material-icons">help_center</i> Help Center </div> <div class="related-search"> Search for <span class="related-page-title">Working with folders in the IDE</span> </div> </div> </a> <!-- Community --> <a id="community-link" href="#" target="_blank"> <div class="related-box"> <div class="related-location"> <i class="material-icons">forum</i> Community </div> <div class="related-search"> Search for <span class="related-page-title">Working with folders in the IDE</span> </div> </div> </a> </div> </div> </aside> <div id="page-title">Working with folders in the IDE</div> <p>The Looker IDE supports folders for your project files. Folders are shown in the left navigation pane of the IDE. If your Looker developers have not <a href="#organizing_an_existing_project_with_ide_folders">organized your project files into folders</a>, your project will have a flat file structure, with files listed alphabetically in the file browser panel.</p> <blockquote> <p>If you want to organize your project into folders, see the <a href="#organizing_an_existing_project_with_ide_folders">Organizing an existing project with IDE folders</a> section on this page for recommendations.</p> </blockquote> <p>Here is an example project where a developer has added folders for different types of project files, such as <code>explores</code>, <code>models</code>, and <code>views</code>:</p> <p><img style="width:718px;border:none" src="/web/20210613135606im_/https://docs.looker.com/assets/images/dev-ide-folders-2104.png"/></p> <p>Click the icons in the toolbar at the top of the file browser to collapse all folders, perform <a href="#bulk_edit">bulk edits</a>, <a href="/web/20210613135606/https://docs.looker.com/data-modeling/getting-started/manage-projects#searching_for_project_files">search for a project file</a>, or create <a href="#create-folder">new folders</a> and <a href="#creating_items_within_a_folder">new files</a>:</p> <p><img style="width:343px;border:none" src="/web/20210613135606im_/https://docs.looker.com/assets/images/ide-folders-search-collapse-icons-2104.png"/></p> <p>Each file or folder in the left side panel has a menu that displays the available actions for that item. Click the three-dot menu to the right of the filename to open the menu. For an item that has a long name or that is nested in multiple folders, you can access the menu by scrolling in the left panel:</p> <p><img style="" src="/web/20210613135606im_/https://docs.looker.com/assets/images/ide-folders-scroll-to-menu-214.gif"/></p> <p>As you organize your LookML files with folders, you need to <a href="/web/20210613135606/https://docs.looker.com/data-modeling/getting-started/version-control-and-deploying-changes#committing_changes">commit your changes</a> and <a href="/web/20210613135606/https://docs.looker.com/data-modeling/getting-started/version-control-and-deploying-changes#deploying_to_production">deploy them to production</a> before other Looker developers can see them. This is just like any change you make to your LookML project.</p> <!-- @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ --> <p><a class="anchor" name="imported_projects_folder"></a></p> <h1>Imported projects folder</h1> <p>If you <a href="/web/20210613135606/https://docs.looker.com/data-modeling/learning-lookml/importing-projects">import a project</a>, the Looker IDE automatically creates an <code>imported_projects</code> folder. Files from both <a href="/web/20210613135606/https://docs.looker.com/data-modeling/learning-lookml/importing-projects#specifying_local_projects">local projects</a> and <a href="/web/20210613135606/https://docs.looker.com/data-modeling/learning-lookml/importing-projects#specifying_remote_projects">remote projects</a> are listed in the <code>imported_projects</code> folder. Click on an imported project file to view its contents:</p> <p><img style="width:718px;border:none" src="/web/20210613135606im_/https://docs.looker.com/assets/images/dev-import-files-2104.png"/></p> <p>Because they cannot be edited, imported project files are not visible when you are <a href="#bulk_edit">bulk-editing files in the IDE</a>.</p> <!-- @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ --> <p><a class="anchor" name="create-folder"></a> <a class="anchor" name="creating_a_new_folder_in_the_ide"></a></p> <h1>Creating a new folder in the IDE</h1> <p>You can create folders for different file types (such as <a href="/web/20210613135606/https://docs.looker.com/data-modeling/getting-started/model-development#view_files">view files</a> or <a href="/web/20210613135606/https://docs.looker.com/data-modeling/getting-started/model-development#model_files">model files</a>). You can even create subfolders, which is very useful if you want to <a href="#include"><code>include</code> a subset of your views</a>.</p> <blockquote> <p>When creating folders, keep in mind that <a href="/web/20210613135606/https://docs.looker.com/data-modeling/learning-lookml/what-is-lookml#lookml_is_case-sensitive">LookML is case sensitive</a>. Be sure to adhere to your project’s conventions when naming your folders. For example, if your convention is to use all lowercase letters in your project, you would want to name your folder <code>views</code> instead of <code>Views</code>. This makes a difference especially when you need to specify a file’s path, such as when <a href="#using_include_with_ide_folders">including files</a>. Generally, it’s a good idea to consistently use lowercase letters when you name LookML objects and folders.</p> </blockquote> <p>To create a folder:</p> <p><img style="width:576px;border:none" src="/web/20210613135606im_/https://docs.looker.com/assets/images/dev-ide-add-folder-2104.png"/></p> <ol> <li>Select the <strong>Create Folder</strong> option from the appropriate menu: <ul> <li>To create a new folder at the top level of your directory structure, use the <strong>+</strong> menu in the File Browser toolbar.</li> <li>To create a new subfolder under an existing folder, use the three-dot menu for the existing folder.</li> </ul></li> <li>Enter a name for the new folder.</li> <li>Click <strong>Create</strong>.</li> </ol> <p>The new folder is added to the navigation pane.</p> <!-- @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ --> <p><a class="anchor" name="creating_items_within_a_folder"></a></p> <h1>Creating items within a folder</h1> <p>To create a new file inside a folder, click on the folder’s menu and select the type of file you want to create:</p> <p><img style="width:718px;border:none" src="/web/20210613135606im_/https://docs.looker.com/assets/images/dev-ide-add-file-2104.png"/></p> <p>You can use this menu to create the following types of files:</p> <ul> <li><a href="/web/20210613135606/https://docs.looker.com/data-modeling/getting-started/model-development#model_files">Model files</a></li> <li><a href="/web/20210613135606/https://docs.looker.com/data-modeling/getting-started/model-development#adding_a_new_view_from_an_existing_database_table">View files based on database tables</a></li> <li><a href="/web/20210613135606/https://docs.looker.com/data-modeling/getting-started/model-development#view_files">View files</a></li> <li><a href="/web/20210613135606/https://docs.looker.com/data-modeling/getting-started/other-project-files#dashboard_files">Dashboard files</a></li> <li><a href="/web/20210613135606/https://docs.looker.com/data-modeling/getting-started/other-project-files#document_files">Document files</a></li> <li>Generic LookML files to use for <a href="/web/20210613135606/https://docs.looker.com/data-modeling/getting-started/other-project-files#data_test_files">data tests</a>, <a href="/web/20210613135606/https://docs.looker.com/data-modeling/getting-started/other-project-files#explore_files">Explores</a>, or <a href="/web/20210613135606/https://docs.looker.com/data-modeling/learning-lookml/refinements">refinements</a></li> </ul> <!-- @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ --> <p><a class="anchor" name="move-items"></a> <a class="anchor" name="moving_items_in_a_foldered_project"></a></p> <h1>Moving items in a foldered project</h1> <p>You can drag and drop a single file or an entire folder with all its contents into new locations:</p> <p><img style="" src="/web/20210613135606im_/https://docs.looker.com/assets/images/moving-folders-214.gif"/></p> <p>Drag and drop a file or a folder into another folder. The destination folder does not need to be expanded to receive other folders or files. A folder automatically expands when items are hovered over it.</p> <blockquote> <p>When you change a file’s path, be sure to update any <code>include</code> statements in your project to match the new file path. See the <a href="#include">Using <code>include</code> with IDE folders</a> section of this page for information on using <code>include</code> with IDE folders.</p> <p>Also, be aware that when you change a file’s path, Git effectively deletes the file and creates a new file with the new file path. This means that the Git history for the file will be empty, because Git considers it a new file. To see the file’s Git history before it was moved, use your Git interface to navigate to the file in its original location and view the Git history from there. (The same logic applies for a renamed file, since Git effectively deletes the file and creates a new file with a different name.)</p> </blockquote> <!-- @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ --> <p><a class="anchor" name="deleting_a_folder"></a></p> <h1>Deleting a folder</h1> <p>Deleting a folder also deletes its contents, which will affect any <code>include</code> statements that refer to the files in the folder. See the <a href="#include">Using <code>include</code> with IDE folders</a> section of this page for information on using <code>include</code> with IDE folders.</p> <blockquote> <p>Before deleting a folder, verify that you want to delete the files in the folder, or move the files to a different location before deleting the folder.</p> </blockquote> <p>Delete a folder by selecting <strong>Delete</strong> from the folder’s menu:</p> <p><img style="width:718px;border:none" src="/web/20210613135606im_/https://docs.looker.com/assets/images/dev-ide-delete-folder-2104.png"/></p> <p>When you delete a folder, the IDE shows a confirmation pop-up. The pop-up specifies how many items are included in the deletion, which includes the folder and any files inside the folder.</p> <!-- @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ --> <p><a class="anchor" name="bulk_edit"></a></p> <h1>Bulk editing files and folders</h1> <p>You can also select multiple folders and files to move into new locations, or to delete.</p> <p><a class="anchor" name="moving_bulk_files"></a></p> <h2>Moving files and folders in bulk</h2> <p>To move folders and files in bulk:</p> <p><img style="" src="/web/20210613135606im_/https://docs.looker.com/assets/images/bulk-move-folders-214.gif"/></p> <ol> <li>Click the <strong>Bulk Edit</strong> icon at the top of the file browser.</li> <li>Select the items to move. The number of files selected is displayed in purple next to the <strong>Select Files</strong> header. <ul> <li>To select or deselect individual files, expand their folders and click the checkbox next to the filenames.</li> <li>To select or deselect entire folders and their contents, click the checkbox next to the folder name.</li> <li>To select an entire section of the directory list, use Shift-click. Click the checkbox for the top item in the range, then hold down the Shift key and click the checkbox for the last item in the list. Both items and all items in between will be selected. You can also just Shift-click on an item to select the item and everything above it in the directory list.</li> </ul></li> <li>Click the <strong>Bulk Move Items</strong> folder icon to select option. The IDE will then display a folder selection pop-up menu.</li> <li>In the pop-up menu, choose a folder for the selected items, or click <strong>New Folder</strong> to create a new folder. The project name will display the file path of the folder you have selected at the top of the next menu page. To move items to the root directory of your project, click <strong>Move</strong> without a folder selected.</li> <li>Confirm the selected destination by clicking <strong>Move</strong>, create a new folder within the selected folder by clicking <strong>New Folder</strong>, or return to the main folder options menu by clicking the project name link in the file path.</li> <li>Click the <strong>X</strong> in the <strong>Select Files</strong> header to exit bulk edit mode.</li> </ol> <blockquote> <p>After you change a file’s path, be sure to update any <code>include</code> statements in your project to match the new file path. See the <a href="#include">Using <code>include</code> with IDE folders</a> section of this page for information on using <code>include</code> with IDE folders.</p> <p>Also, be aware that when you change a file’s path, Git effectively deletes the file and creates a new file with the new file path. This means that the Git history for the file will be empty, because Git considers it a new file. To see the file’s Git history before it was moved, use your Git interface to navigate to the file in its original location and view the Git history from there. (The same logic applies for a renamed file, since Git effectively deletes the file and creates a new file with a different name.)</p> </blockquote> <p><a class="anchor" name="deleting_bulk_files"></a></p> <h2>Deleting files and folders in bulk</h2> <p>To delete folders and files in bulk:</p> <blockquote> <p>Deleting a folder will delete all its contents. Before deleting a folder, verify that you want to delete the files in the folder. If you want to keep them, <a href="#moving_bulk_files">move the files to a different location</a> before deleting the folder.</p> </blockquote> <p><img style="" src="/web/20210613135606im_/https://docs.looker.com/assets/images/bulk-delete-folders-214.gif"/></p> <ol> <li>Click the <strong>Bulk Edit</strong> icon at the top of the file browser.</li> <li>Select the items to delete. The number of files selected is displayed in purple next to the <strong>Select Files</strong> header. <ul> <li>To select or deselect individual files, expand their folders and click the checkbox next to the filenames.</li> <li>To select or deselect entire folders and their contents, click the checkbox next to the folder name.</li> <li>To select an entire section of the directory list, use Shift-click. Click the checkbox for the top item in the range, then hold down the Shift key and click the checkbox for the last item in the list. Both items and all items in between will be selected. You can also just Shift-click on an item to select the item and everything above it in the directory list.</li> </ul></li> <li>Click the <strong>Delete Items</strong> trash icon. The IDE will then display a pop-up menu listing the items selected.</li> <li>Confirm the items to be deleted by clicking <strong>Yes, Delete</strong>, or return to item selection by clicking <strong>Cancel</strong>.</li> <li>Click the <strong>X</strong> in the <strong>Select Files</strong> header to exit bulk edit mode.</li> </ol> <p><a class="anchor" name="include"></a> <a class="anchor" name="using_include_with_ide_folders" class="anchor"></a></p> <h1>Using <code>include</code> with IDE folders</h1> <p>Once you have organized your project files into folders, you need to provide the file’s path when using the <a href="/web/20210613135606/https://docs.looker.com/reference/model-params/include"><code>include</code></a> statement.</p> <blockquote> <p>When using <code>include</code>, keep in mind that <a href="/web/20210613135606/https://docs.looker.com/data-modeling/learning-lookml/what-is-lookml#lookml_is_case-sensitive">LookML is case sensitive</a>. When specifying a file’s path, you must match the case of the file and of the folders in the path. For example, if your file is in the <code>Views</code> folder, you must match this capitalization in the <code>include</code> parameter. So you would specify <code>include: "/Views/accidents.view"</code>. Generally, it’s a good idea to stick with lowercase when naming LookML objects and folders.</p> </blockquote> <p>You can use absolute or relative paths in the <code>include</code> statement (see the <a href="#path_syntax">Path syntax</a> section of this page for examples), and you can use the wildcards <code>*</code> and <code>**</code> to include multiple files at once (see the <a href="#wildcard_examples">Wildcard examples</a> section of this page for examples).</p> <p>For example, if you have this directory structure in your project:</p> <p><img style="width:292px;border:none" src="/web/20210613135606im_/https://docs.looker.com/assets/images/dev-include-example-2104.png"/></p> <p>The following statements will include the <code>products</code> view, the <code>order_facts</code> view, and all views in the <code>/views/users/</code> directory:</p> <p><div class="code" ace-mode="ace/mode/lookml" ace-theme="ace/theme/lookml" ace-gutter=""> include: "/views/products.view" include: "/views/orders/order_facts.view" include: "/views/users/*.view" </div></p> <p>When you change a file’s path, be sure to update any <code>include</code> statements in your project to match the file’s new path. You may see LookML validation warnings on your old <code>include</code> statements if they no longer refer to existing files or file paths. In addition, you may see LookML validation errors for referenced objects that can no longer be found because their file paths have changed.</p> <blockquote> <p><i aria-hidden="true"></i> <strong>Handy Tip</strong>: When using wildcards, you can check which files are included by hovering over the information icon in the change bar of the file, or by clicking on the <code>include</code> statement and looking in the quick help:</p> </blockquote> <p><img style="width:701px;border:none" src="/web/20210613135606im_/https://docs.looker.com/assets/images/dev-include-tips-2104.png"/></p> <p><a class="anchor" name="path_syntax"></a></p> <h2>Path syntax</h2> <p>Here are some example syntaxes you can use for including files:</p> <table> <thead> <tr> <th>Syntax</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><code>PATH</code></td> <td>Relative path starting from current file’s location.</td> </tr> <tr> <td><code>./PATH</code></td> <td>Relative path starting from current file’s location. This example points to the same file as the above example: <code>PATH</code>.</td> </tr> <tr> <td><code>../PATH</code></td> <td>Relative path starting from current file’s parent directory.</td> </tr> <tr> <td><code>/PATH</code></td> <td>Absolute path starting from current project’s root.</td> </tr> <tr> <td><code>//PROJECT_NAME/PATH</code></td> <td>Absolute path starting from the root of an <a href="/web/20210613135606/https://docs.looker.com/data-modeling/learning-lookml/importing-projects">imported project</a> called <code>PROJECT_NAME</code>.</td> </tr> </tbody> </table> <p><a class="anchor" name="wildcard_examples"></a></p> <h2>Wildcard examples</h2> <blockquote> <p>If you are using <a href="/web/20210613135606/https://docs.looker.com/data-modeling/learning-lookml/refinements">LookML refinements</a>, do not use wildcards in your includes. LookML refinements leverage the order of includes, and using wildcards in your includes does not allow you to control the order in which each file is included. See the <a href="/web/20210613135606/https://docs.looker.com/data-modeling/learning-lookml/refinements">LookML refinements</a> documentation page for more information about refinements.</p> </blockquote> <p>Here are some examples using wildcards (note that you can replace <code>PATH</code> with the path syntaxes in the previous table):</p> <table> <thead> <tr> <th>Syntax</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><code>PATH/*.view</code></td> <td>Wildcard matching files ending with <code>.view</code> at <code>PATH</code>.</td> </tr> <tr> <td><code>PATH/*.view.lkml</code></td> <td>Wildcard matching files ending with <code>.view.lkml</code> at <code>PATH</code>. <br/><br/>Because view files have the extension <code>.view.lkml</code>, this example specifies the same file as the previous example, <code>PATH/*.view</code>. The <code>.lkml</code> part is not displayed in the IDE, nor is the <code>.lkml</code> part required for <code>include</code> statements. However, you can use wildcards to leverage this common part of the file extension. See the <a href="/web/20210613135606/https://docs.looker.com/data-modeling/getting-started/file-types-in-project#project_file_extensions">LookML project files</a> documentation page for a list of project file extensions.</td> </tr> <tr> <td><code>PATH/*.lkml</code></td> <td>Wildcard matching files ending with <code>.lkml</code> at <code>PATH</code>. <br/><br/>Note that several file types share <code>.lkml</code> as the final part of the file extension, such as <code>.view.lkml</code> and <code>.model.lkml</code>. The <code>.lkml</code> part is not displayed in the IDE, nor is the <code>.lkml</code> part required for <code>include</code> statements. However, you can use wildcards to leverage this common part of the file extension. See the <a href="/web/20210613135606/https://docs.looker.com/data-modeling/getting-started/file-types-in-project#project_file_extensions">LookML project files</a> documentation page for a list of project file extensions.</td> </tr> <tr> <td><code>PATH/myfile.*</code></td> <td>Wildcard matching files called <code>myfile</code> with any extension type at <code>PATH</code>.</td> </tr> <tr> <td><code>PATH/myfile.*.lkml</code></td> <td>Wildcard matching files called myfile with any <code>.lkml</code> extension type at <code>PATH</code>.</td> </tr> <tr> <td><code>PATH/my*file.view</code></td> <td>Wildcard matching files starting with <code>my</code> and ending with <code>file.view</code> at <code>PATH</code>.</td> </tr> <tr> <td><code>PATH/my*fi*le.view</code></td> <td>Wildcards matching files starting with <code>my</code>, followed by some characters, then <code>fi</code>, some additional characters, and ending with <code>le.view</code> at <code>PATH</code>.</td> </tr> <tr> <td><code>PATH/*/myfile.lkml</code></td> <td>Folder name wildcard (match only a single level of nesting). Matches all <code>myfile.lkml</code> files in any direct child directories of <code>PATH</code>.</td> </tr> <tr> <td><code>PATH/**/my_file.view</code></td> <td>Recursive wildcard matching (match any amount of nesting) for all files called <code>my_file.view.lkml</code> at <code>PATH</code> and all subdirectories.</td> </tr> <tr> <td><code>PATH/**/*.view</code></td> <td>Recursive wildcard matching all files ending with <code>.view.lkml</code> at <code>PATH</code>’s subdirectories.</td> </tr> <tr> <td><code>PATH/**/my_folder/myfile.view</code></td> <td>Recursive wildcard matching the subpath <code>/my_folder/myfile.view</code> at any depth under <code>PATH</code>.</td> </tr> </tbody> </table> <p><a class="anchor" name="map_layer"></a> <a class="anchor" name="using_map_layer_with_ide_folders"></a></p> <h1>Using <code>map_layer</code> with IDE folders</h1> <p>If you have IDE folders enabled for your project, you need to use the file path when you specify a project file for <a href="/web/20210613135606/https://docs.looker.com/reference/model-params/map_layer"><code>map_layer</code></a>:</p> <p><div class="code" ace-mode="ace/mode/lookml" ace-theme="ace/theme/lookml" ace-gutter=""> map_layer: neighborhoods { file: "/maps/my_neighborhoods.json" } </div></p> <!-- @@@@@@@@@@@@@@@ --> <p><a class="anchor" name="migrating"></a> <a class="anchor" name="migrating_an_existing_project_to_ide_folders"></a> <a class="anchor" name="organizing_an_existing_project_with_ide_folders"></a></p> <h1>Organizing an existing project with IDE folders</h1> <p>If your project previously had the legacy flat file structure, you can choose to keep this structure; but if you choose to organize your project files into folders, we strongly recommend that you make the following preparations:</p> <ul> <li>Plan the file structure ahead of time with all developers.</li> <li>Ensure that all your Looker developers have <a href="/web/20210613135606/https://docs.looker.com/data-modeling/getting-started/version-control-and-deploying-changes#deploying_to_production">deployed all their updates to production</a>. If a developer has undeployed changes, their branch(es) will reflect the file structure that existed when they last <a href="/web/20210613135606/https://docs.looker.com/data-modeling/getting-started/git-command-reference#pull_prod">pulled from production</a>. If the project had a flat file structure at that time, the developer’s version of the file will be pushed to production in its original location, so you will end up with two copies of the file. In addition, if a developer has undeployed changes during the migration to folders, that developer will face a merge conflict when they pull from production after the migration.</li> <li>Enact a temporary code freeze with all your developers until the project has been fully migrated to the new directory structure.</li> <li>Assign a single developer to move the files. The procedure below assumes a single developer will be migrating the project to IDE folders. If you need to have multiple developers move files, divide the task among the developers to avoid merge conflicts. If you do encounter merge conflicts, see the <a href="/web/20210613135606/https://docs.looker.com/data-modeling/getting-started/version-control-and-deploying-changes#resolving_merge_conflicts">Using version control and deploying</a> documentation page for information on resolving them.</li> </ul> <blockquote> <p>Be aware that when you move a file in Git, you are effectively deleting the file and creating a new file with a new file path. This means that the Git history for the file will be empty, because Git will consider it a new file. To see the file’s Git history before it was moved, use your Git interface to navigate to the file in its original location and view the Git history from there.</p> </blockquote> <p>Once all your developers have pushed and committed their changes and paused all work on the project, you can then migrate the project to its new directory structure.</p> <p>Assign a single developer to do all the following steps:</p> <ol> <li>Verify that all updates on all development branches have been <a href="/web/20210613135606/https://docs.looker.com/data-modeling/getting-started/version-control-and-deploying-changes#deploying_to_production">deployed to production</a>. This includes the development branches of the developer performing the migration to IDE folders.</li> <li>Verify that all other developers have stopped making changes to the project.</li> <li><a href="/web/20210613135606/https://docs.looker.com/data-modeling/getting-started/git-command-reference#pull_prod">Pull from production</a>.</li> <li><a href="#creating_a_new_folder_in_the_ide">Create the project’s folders</a>.</li> <li>Move the project files into the folders, either <a href="#moving_items_in_a_foldered_project">one file at a time</a> or <a href="#moving_files_and_folders_in_bulk">using bulk edit</a>.</li> <li><a href="/web/20210613135606/https://docs.looker.com/data-modeling/getting-started/lookml-validation#validating_your_lookml">Validate the project’s LookML</a>. It is expected that you will have multiple LookML errors and warnings, since the <code>include</code> and <code>map_layer</code> statements use references to file locations that likely will have been moved during this procedure.</li> <li><p>Update any <code>include</code> and <code>map_layer</code> statements in your project to match the file’s new path. In addition, you may see LookML validation errors for referenced objects that can no longer be found because their file paths have changed. See the <a href="#include">Using <code>include</code> with IDE folders</a> section of this page for information on using <code>include</code> with IDE folders, and the <a href="#map_layer">Using <code>map_layer</code> with IDE folders</a> section of this page for information on using map layers with IDE folders.</p> <blockquote> <p><i aria-hidden="true"></i> <strong>Handy Tip</strong>: You can use <a href="#wildcard_examples">wildcards</a> to create a temporary fix for LookML validation warnings and errors resulting from <code>include</code> statements. Using view files as an example, you can specify <code>include: "/**/*.view"</code> to include all files in all your project folders. This will prevent LookML validation problems while you continue developing. However, this is not a recommended solution for the long term, since including more files than are needed can <a href="/web/20210613135606/https://docs.looker.com/reference/model-params/include#including_all_view_files_can_affect_performance">affect performance</a>.</p> </blockquote></li> <li><p><a href="/web/20210613135606/https://docs.looker.com/data-modeling/getting-started/version-control-and-deploying-changes#committing_changes">Commit the changes</a>.</p></li> <li><a href="/web/20210613135606/https://docs.looker.com/data-modeling/getting-started/version-control-and-deploying-changes#deploying_to_production">Deploy the updates to production</a>.</li> <li>Inform the other Looker developers that they can now <a href="/web/20210613135606/https://docs.looker.com/data-modeling/getting-started/git-command-reference#pull_prod">pull the updates from production</a> and resume developing in the project.</li> </ol> <div class="prev-next"> <p class="prev"><a href="/web/20210613135606/https://docs.looker.com/data-modeling/getting-started/other-project-files"><i class="material-icons">keyboard_arrow_left</i>Understanding Other Project Files</a></p> <p class="next"><a href="/web/20210613135606/https://docs.looker.com/data-modeling/getting-started/object-browser">Navigating Projects with the Object Browser<i class="material-icons">keyboard_arrow_right</i></a></p> </div> </article> </main> <footer> <h2>Other Resources</h2> <div id="resource-container"> <div id="discourse" class="resource"> <h3><i class="material-icons">help_center</i> Help Center</h3> <p>Our Help Center contains additional, short articles on specific use cases and special situations.</p> <a href="https://web.archive.org/web/20210613135606/https://help.looker.com/"><button>Go to Help Center</button></a> </div> <div id="discourse" class="resource"> <h3><i class="material-icons">forum</i> Community</h3> <p>Looker’s Community forums are a great place to discuss best practices, troubleshoot unique issues, and communicate with other Looker customers.</p> <a href="https://web.archive.org/web/20210613135606/https://community.looker.com/" class="gtm-discourse-link"><button>Go to Community</button></a> </div> <div id="support" class="resource"> <h3><i class="material-icons">school</i> Learn</h3> <p>Learn is Looker’s sandbox environment, primarily for developers. It includes lessons linked to real datasets in a real Looker instance, so you can understand the impact of developer changes.</p> <a href="https://web.archive.org/web/20210613135606/https://learn.looker.com/" class="gtm-learn-link"><button>Go to Learn</button></a> </div> </div> <div id="legal"> Examples are based on hypothetical data.<br/> © 2012-<script>document.write(new Date().getFullYear())</script> Looker Data Sciences, Inc.<br/> <a href="https://web.archive.org/web/20210613135606/https://looker.com/privacy">Privacy Policy</a> | <a href="https://web.archive.org/web/20210613135606/https://looker.com/terms">Terms & Conditions</a> </div> </footer> <!-- Back to Top Widget --> <a href="#0" class="cd-top">Top</a> </body> </html> <script> var selectedLooker = '21.8'; var lookerVersions = ['21.8','21.6','21.4','21.0','7.20']; var oldLookml = "New LookML rolled out in October of 2016 as part of Looker 4.0, so we've moved old LookML documentation to oldlookmldocs.looker.com. Click [OK] to go there or [Cancel] to stay here."; var browserLangSupport = false; var redirects = { }; </script> <script src="/web/20210613135606js_/https://docs.looker.com/_themes/docs/js/article.js?v=1"></script> <!-- FILE ARCHIVED ON 13:56:06 Jun 13, 2021 AND RETRIEVED FROM THE INTERNET ARCHIVE ON 15:29:35 Dec 12, 2024. JAVASCRIPT APPENDED BY WAYBACK MACHINE, COPYRIGHT INTERNET ARCHIVE. ALL OTHER CONTENT MAY ALSO BE PROTECTED BY COPYRIGHT (17 U.S.C. SECTION 108(a)(3)). --> <!-- playback timings (ms): captures_list: 1.832 exclusion.robots: 0.133 exclusion.robots.policy: 0.116 esindex: 0.018 cdx.remote: 7.897 LoadShardBlock: 187.736 (3) PetaboxLoader3.datanode: 113.116 (4) PetaboxLoader3.resolve: 317.059 (2) load_resource: 286.006 -->