CINXE.COM
Connecting Looker to your database
<!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/setup-and-management/connecting-to-db","20210802012901","https://web.archive.org/","web","/_static/", "1627867741"); </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/20210802012901/https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-NWWX6K');</script> <!-- ============= TITLE ============= --> <title>Connecting Looker to your database</title> <link rel="canonical" href="https://web.archive.org/web/20210802012901/https://docs.looker.com/setup-and-management/connecting-to-db"/> <link rel="icon" type="image/x-icon" href="/web/20210802012901im_/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="Connecting Looker to your database"> <meta class="swiftype" name="description" data-type="string" content="How to connect Looker to your database."> <!-- Page Info --> <meta property="og:site_name" content="Looker Documentation"> <meta property="og:url" content="https://web.archive.org/web/20210802012901/https://docs.looker.com/setup-and-management/connecting-to-db"> <meta property="og:type" content="article"> <meta property="og:title" content="Connecting Looker to your database"> <meta property="og:description" content="How to connect Looker to your database."> <meta name="description" content="How to connect Looker to your database."> <meta name="note" content="Edit:2021-06.Partial-11"> <!-- Hide from Search --> <!-- ============= FONTS ============= --> <!-- Google Sans | Headers and UI | regular, bold --> <link rel="stylesheet" href="https://web.archive.org/web/20210802012901cs_/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/20210802012901cs_/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/20210802012901cs_/https://fonts.googleapis.com/css?family=Roboto+Mono:400,700"> <!-- Google Material Design Icons --> <link rel="stylesheet" href="https://web.archive.org/web/20210802012901cs_/https://fonts.googleapis.com/css?family=Material+Icons"> <!-- ============= STYLES ============= --> <!-- Normalize.css | https://necolas.github.io/normalize.css/ --> <link rel="stylesheet" href="/web/20210802012901cs_/https://docs.looker.com/_themes/docs/css/normalize.css"> <!-- Docs Stylesheet --> <link rel="stylesheet" href="/web/20210802012901cs_/https://docs.looker.com/_themes/docs/css/docs.css?v=1627674102"> <!-- ============= SCRIPTS ============= --> <!-- JQuery --> <script src="https://web.archive.org/web/20210802012901js_/https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> <!-- Ace Editor --> <script src="/web/20210802012901js_/https://docs.looker.com/_themes/docs/js/ace/ace.js"></script> <script src="/web/20210802012901js_/https://docs.looker.com/_themes/docs/js/ace/ext-static_highlight.js"></script> <!-- Vimeo API --> <script src="/web/20210802012901js_/https://docs.looker.com/_themes/docs/js/vimeo/player.js"></script> <!-- Site JS --> <script src="/web/20210802012901js_/https://docs.looker.com/_themes/docs/js/docs.js?v=1627674102" 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/20210802012901/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/20210802012901if_/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/20210802012901/https://looker.com/"><img src="/web/20210802012901im_/https://docs.looker.com/assets/site_images/looker-logo.svg"/></a> </div> <div id="ed-options"> <a href="https://web.archive.org/web/20210802012901/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/20210802012901/https://looker.com/guide/getting-started" class="custres-gtm-nav-link"> Getting Started </a> <a href="https://web.archive.org/web/20210802012901/https://help.looker.com/" class="custres-gtm-nav-link"> Help Center </a> <a href="/web/20210802012901/https://docs.looker.com/" class="custres-gtm-nav-link" id="docs-home"> <b>Documentation</b> </a> <a href="https://web.archive.org/web/20210802012901/https://community.looker.com/" class="custres-gtm-nav-link"> Community </a> <a href="https://web.archive.org/web/20210802012901/https://training.looker.com/" class="custres-gtm-nav-link"> Training </a> <a href="https://web.archive.org/web/20210802012901/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 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 and UI components <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 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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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 of Looks</div></a><a href="/web/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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 (legacy) reference</div></a><a href="/web/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/https://docs.looker.com/reference/embedding/viewing" class="gtm-nav-link"><div class="option" data-page-id="8-1-3">Viewing embedded Looks, Explores, and dashboards</div></a><a href="/web/20210802012901/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/20210802012901/https://docs.looker.com/reference/embedding/timezones" class="gtm-nav-link"><div class="option" data-page-id="8-1-5">SSO embedding time zone reference</div></a><a href="/web/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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><a href="/web/20210802012901/https://docs.looker.com/data-modeling/extension-framework/filter-components" class="gtm-nav-link"><div class="option" data-page-id="8-2-2">Looker filter components</div></a></div><div class="menu-column pages 9-0"><a href="/web/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/https://docs.looker.com/admin-options/system-activity" class="gtm-nav-link"><div class="option" data-page-id="9-3-4">System Activity pages</div></a><a href="/web/20210802012901/https://docs.looker.com/admin-options/tutorials/system-activity" class="gtm-nav-link"><div class="option" data-page-id="9-3-5">Creating Looker usage reports with System Activity Explores</div></a><a href="/web/20210802012901/https://docs.looker.com/admin-options/tutorials/notify-users" class="gtm-nav-link"><div class="option" data-page-id="9-3-6">Making announcements to your users</div></a><a href="/web/20210802012901/https://docs.looker.com/admin-options/tutorials/managing-bizusers/bizuser-features" class="gtm-nav-link"><div class="option" data-page-id="9-3-7">Managing business user features</div></a><a href="/web/20210802012901/https://docs.looker.com/admin-options/tutorials/delete-user" class="gtm-nav-link"><div class="option" data-page-id="9-3-8">Deleting personal user information</div></a><a href="/web/20210802012901/https://docs.looker.com/admin-options/tutorials/timezones" class="gtm-nav-link"><div class="option" data-page-id="9-3-9">Using time zone settings</div></a><a href="/web/20210802012901/https://docs.looker.com/admin-options/tutorials/localizing-looker" class="gtm-nav-link"><div class="option" data-page-id="9-3-10">Supported user-interface languages</div></a><a href="/web/20210802012901/https://docs.looker.com/admin-options/tutorials/localizing-number-formatting" class="gtm-nav-link"><div class="option" data-page-id="9-3-11">Localizing number formatting</div></a></div><div class="menu-column pages 9-4"><a href="/web/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/https://docs.looker.com/mobile-app" class="gtm-nav-link"><div class="option" data-page-id="10-0-0">Looker mobile application</div></a><a href="/web/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/https://vimeo.com/215917994" class="gtm-nav-link">Logging in video tutorial</a></li><li><a href="/web/20210802012901/https://docs.looker.com/intro" class="gtm-nav-link">Looker introduction</a></li><li><a href="/web/20210802012901/https://docs.looker.com/relnotes/intro" class="gtm-nav-link">Latest features</a></li><li><a href="/web/20210802012901/https://docs.looker.com/sharing-and-publishing" class="gtm-nav-link">Find and organize content</a></li><li><a href="/web/20210802012901/https://docs.looker.com/sharing-and-publishing/send-share-intro" class="gtm-nav-link">Send and share content</a></li><li><a href="/web/20210802012901/https://docs.looker.com/exploring-data/retrieve-chart-intro" class="gtm-nav-link">Retrieve and chart data</a></li><li><a href="/web/20210802012901/https://docs.looker.com/dashboards/dashboards-reports-intro" class="gtm-nav-link">Create and edit dashboards and reports</a></li><li><a href="/web/20210802012901/https://docs.looker.com/data-modeling" class="gtm-nav-link">Get ready for development</a></li><li><a href="/web/20210802012901/https://docs.looker.com/data-modeling/learning-lookml/lookml-intro" class="gtm-nav-link">Write LookML</a></li><li><a href="/web/20210802012901/https://docs.looker.com/reference/api-embedding-intro" class="gtm-nav-link">Use embedding and the API</a></li><li><a href="/web/20210802012901/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/20210802012901/https://docs.looker.com/sharing-and-publishing/user-menu" class="gtm-nav-link">Personalizing your user profile</a></li><li><a href="/web/20210802012901/https://docs.looker.com/sharing-and-publishing/user-account" class="gtm-nav-link">Personalizing user account settings</a></li><li><a href="/web/20210802012901/https://docs.looker.com/sharing-and-publishing/user-history" class="gtm-nav-link">Viewing your query history</a></li><li><a href="/web/20210802012901/https://docs.looker.com/sharing-and-publishing/user-schedules" class="gtm-nav-link">Viewing your scheduled data deliveries</a></li><li><a href="/web/20210802012901/https://docs.looker.com/sharing-and-publishing/user-alerts" class="gtm-nav-link">Viewing your conditional alert notifications</a></li><li><a href="/web/20210802012901/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/20210802012901/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/20210802012901/https://vimeo.com/268498280" class="gtm-nav-link">Why use Looker?</a></li><li><a href="/web/20210802012901/https://docs.looker.com/video-library/exploring-data" class="gtm-nav-link">Business user tutorials</a></li><li><a href="/web/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/https://docs.looker.com/relnotes" class="gtm-nav-link">Looker 21 release highlights</a></li><li><a href="/web/20210802012901/https://docs.looker.com/relnotes/v21-changelog" class="gtm-nav-link">Looker 21 changelog</a></li><li><a href="/web/20210802012901/https://docs.looker.com/relnotes/v7-release-notes" class="gtm-nav-link">Looker 7 release highlights</a></li><li><a href="/web/20210802012901/https://docs.looker.com/relnotes/v7-changelog" class="gtm-nav-link">Looker 7 changelog</a></li><li><a href="/web/20210802012901/https://docs.looker.com/relnotes/esr-notes" class="gtm-nav-link">Extended support release notes</a></li><li><a href="/web/20210802012901/https://docs.looker.com/relnotes/v6-release-notes" class="gtm-nav-link">Looker 6 release notes</a></li><li><a href="/web/20210802012901/https://docs.looker.com/relnotes/v5-release-notes" class="gtm-nav-link">Looker 5 release notes</a></li><li><a href="/web/20210802012901/https://docs.looker.com/relnotes/v4-release-notes" class="gtm-nav-link">Looker 4 release notes</a></li><li><a href="/web/20210802012901/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/20210802012901/https://docs.looker.com/sharing-and-publishing/finding-content" class="gtm-nav-link">Finding content in Looker</a></li><li><a href="/web/20210802012901/https://docs.looker.com/dashboards/new-dashboard-experience" class="gtm-nav-link">Viewing dashboards</a></li><li><a href="/web/20210802012901/https://docs.looker.com/dashboards/viewing-user-dashboards" class="gtm-nav-link">Viewing legacy dashboards in Looker</a></li><li><a href="/web/20210802012901/https://docs.looker.com/sharing-and-publishing/viewing-looks" class="gtm-nav-link">Viewing Looks in Looker</a></li><li><a href="/web/20210802012901/https://docs.looker.com/video-library/exploring-data#find_and_view_content" class="gtm-nav-link">Video tutorials</a></li><li><a href="/web/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/https://docs.looker.com/sharing-and-publishing/downloading" class="gtm-nav-link">Downloading content</a></li><li><a href="/web/20210802012901/https://docs.looker.com/sharing-and-publishing/publishing-looks-with-public-urls" class="gtm-nav-link">Public sharing, importing, and embedding of Looks</a></li><li><a href="/web/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/https://docs.looker.com/sharing-and-publishing/alerts" class="gtm-nav-link">Conditional alerts overview</a></li><li><a href="/web/20210802012901/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/20210802012901/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/20210802012901/https://docs.looker.com/exploring-data/exploring-data" class="gtm-nav-link">Exploring data in Looker</a></li><li><a href="/web/20210802012901/https://docs.looker.com/exploring-data/filtering-and-limiting" class="gtm-nav-link">Filtering and limiting data</a></li><li><a href="/web/20210802012901/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/20210802012901/https://docs.looker.com/video-library/exploring-data#how_to_retrieve_data" class="gtm-nav-link">Video tutorials</a></li><li><a href="/web/20210802012901/https://docs.looker.com/reference/filter-expressions" class="gtm-nav-link">Looker filter expressions</a></li><li><a href="/web/20210802012901/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/20210802012901/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/20210802012901/https://docs.looker.com/exploring-data/using-table-calculations" class="gtm-nav-link">Using table calculations</a></li><li><a href="/web/20210802012901/https://docs.looker.com/exploring-data/adding-fields/custom-measure" class="gtm-nav-link">Adding custom fields</a></li><li><a href="/web/20210802012901/https://docs.looker.com/exploring-data/creating-looker-expressions" class="gtm-nav-link">Creating Looker expressions</a></li><li><a href="/web/20210802012901/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/20210802012901/https://docs.looker.com/exploring-data/visualizing-query-results" class="gtm-nav-link">Creating visualizations and graphs</a></li><li><a href="/web/20210802012901/https://docs.looker.com/exploring-data/visualizing-query-results/visualization-types" class="gtm-nav-link">Visualization types</a></li><li><a href="/web/20210802012901/https://docs.looker.com/exploring-data/visualizing-query-results/color-collections" class="gtm-nav-link">Color collections</a></li><li><a href="/web/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/https://docs.looker.com/dashboards/creating-dashboards-beta" class="gtm-nav-link">Creating user-defined dashboards</a></li><li><a href="/web/20210802012901/https://docs.looker.com/dashboards/editing-dashboards-beta" class="gtm-nav-link">Editing user-defined dashboards</a></li><li><a href="/web/20210802012901/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/20210802012901/https://docs.looker.com/reference/filter-expressions" class="gtm-nav-link">Looker filter expressions</a></li><li><a href="/web/20210802012901/https://docs.looker.com/dashboards/cross-filtering" class="gtm-nav-link">Cross-filtering dashboards</a></li><li><a href="/web/20210802012901/https://docs.looker.com/dashboards/embedding-dashboards-beta" class="gtm-nav-link">Embedding dashboards</a></li><li><a href="/web/20210802012901/https://docs.looker.com/dashboards/legacy-dashboards-landing" class="gtm-nav-link">Legacy dashboards</a></li><li><a href="/web/20210802012901/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/20210802012901/https://docs.looker.com/dashboards/creating-lookml-dashboards" class="gtm-nav-link">Building LookML dashboards</a></li><li><a href="/web/20210802012901/https://docs.looker.com/reference/lookml-dashboard-overview" class="gtm-nav-link">LookML dashboard reference</a></li><li><a href="/web/20210802012901/https://docs.looker.com/reference/dashboard-reference/lookml-visualization-reference" class="gtm-nav-link">Dashboard element parameters</a></li><li><a href="/web/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/https://docs.looker.com/data-modeling" class="gtm-nav-link">Get ready for development</a></li><li><a href="/web/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/https://docs.looker.com/data-modeling/learning-lookml/sql-runner" class="gtm-nav-link">SQL Runner basics</a></li><li><a href="/web/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/https://docs.looker.com/data-modeling/getting-started/advanced-deploy-mode" class="gtm-nav-link">Advanced deploy mode</a></li><li><a href="/web/20210802012901/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/20210802012901/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 connection<ul class="child-nav"><li><a href="/web/20210802012901/https://docs.looker.com/setup-and-management/enabling-secure-db" class="gtm-nav-link">Enabling secure database access</a></li><li><a href="/web/20210802012901/https://docs.looker.com/setup-and-management/database-config" class="gtm-nav-link">Database configuration instructions</a></li><li><a href="/web/20210802012901/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/20210802012901/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/20210802012901/https://docs.looker.com/data-modeling/marketplace" class="gtm-nav-link">Using the Looker Marketplace</a></li><li><a href="/web/20210802012901/https://docs.looker.com/data-modeling/marketplace/customize-blocks" class="gtm-nav-link">Customizing Looker Marketplace Blocks</a></li><li><a href="/web/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/https://docs.looker.com/data-modeling/learning-lookml" class="gtm-nav-link">Steps to learning LookML</a></li><li><a href="/web/20210802012901/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/20210802012901/https://docs.looker.com/data-modeling/learning-lookml/what-is-lookml" class="gtm-nav-link">What is LookML?</a></li><li><a href="/web/20210802012901/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/20210802012901/https://docs.looker.com/data-modeling/getting-started/lookml-validation" class="gtm-nav-link">Editing and validating LookML</a></li><li><a href="/web/20210802012901/https://docs.looker.com/data-modeling/getting-started/look-validation" class="gtm-nav-link">Content validation</a></li><li><a href="/web/20210802012901/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/20210802012901/https://docs.looker.com/data-modeling/learning-lookml/advanced-lookml-concepts" class="gtm-nav-link">Additional LookML basics</a></li><li><a href="/web/20210802012901/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/20210802012901/https://docs.looker.com/data-modeling/learning-lookml/derived-tables" class="gtm-nav-link">Derived tables in Looker</a></li><li><a href="/web/20210802012901/https://docs.looker.com/data-modeling/learning-lookml/creating-ndts" class="gtm-nav-link">Creating native derived tables</a></li><li><a href="/web/20210802012901/https://docs.looker.com/data-modeling/learning-lookml/incremental-pdts" class="gtm-nav-link">Incremental PDTs</a></li><li><a href="/web/20210802012901/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/20210802012901/https://docs.looker.com/data-modeling/learning-lookml/filter-suggestions" class="gtm-nav-link">Changing filter suggestions</a></li><li><a href="/web/20210802012901/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/20210802012901/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/20210802012901/https://docs.looker.com/data-modeling/learning-lookml/aggregate_awareness" class="gtm-nav-link">Aggregate awareness</a></li><li><a href="/web/20210802012901/https://docs.looker.com/data-modeling/learning-lookml/extends" class="gtm-nav-link">Reusing code with extends</a></li><li><a href="/web/20210802012901/https://docs.looker.com/data-modeling/learning-lookml/refinements" class="gtm-nav-link">LookML refinements</a></li><li><a href="/web/20210802012901/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/20210802012901/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/20210802012901/https://docs.looker.com/reference/liquid-variables" class="gtm-nav-link">Liquid variable reference</a></li><li><a href="/web/20210802012901/https://docs.looker.com/admin-options/security/html-sanitization" class="gtm-nav-link">HTML sanitization</a></li><li><a href="/web/20210802012901/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/20210802012901/https://docs.looker.com/reference/lookml" class="gtm-nav-link">LookML parameter reference by function</a></li><li><a href="/web/20210802012901/https://docs.looker.com/reference/lookml-quick-reference" class="gtm-nav-link">LookML quick reference</a></li><li><a href="/web/20210802012901/https://docs.looker.com/reference/manifest-reference" class="gtm-nav-link">Project manifest parameters</a></li><li><a href="/web/20210802012901/https://docs.looker.com/reference/model-reference" class="gtm-nav-link">Model parameters</a></li><li><a href="/web/20210802012901/https://docs.looker.com/reference/explore-reference" class="gtm-nav-link">Explore parameters</a></li><li><a href="/web/20210802012901/https://docs.looker.com/reference/join-reference" class="gtm-nav-link">Join parameters</a></li><li><a href="/web/20210802012901/https://docs.looker.com/reference/view-reference" class="gtm-nav-link">View parameters</a></li><li><a href="/web/20210802012901/https://docs.looker.com/reference/field-reference" class="gtm-nav-link">Field parameters</a></li><li><a href="/web/20210802012901/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/20210802012901/https://docs.looker.com/reference/field-reference/measure-type-reference" class="gtm-nav-link">Measure types</a></li><li><a href="/web/20210802012901/https://docs.looker.com/reference/filter-expressions" class="gtm-nav-link">Looker filter expressions</a></li><li><a href="/web/20210802012901/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/20210802012901/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/20210802012901/https://docs.looker.com/reference/api-and-integration/api-auth" class="gtm-nav-link">Looker API authentication</a></li><li><a href="/web/20210802012901/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/20210802012901/https://docs.looker.com/reference/api-and-integration/api-versioning" class="gtm-nav-link">Looker API versioning</a></li><li><a href="/web/20210802012901/https://docs.looker.com/reference/api-and-integration/api-explorer" class="gtm-nav-link">Using the API Explorer</a></li><li><a href="/web/20210802012901/https://docs.looker.com/reference/api-and-integration/api-reference/v3.0" class="gtm-nav-link">Looker 3.0 API (legacy) reference</a></li><li><a href="/web/20210802012901/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/20210802012901/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/20210802012901/https://docs.looker.com/reference/api-and-integration/api-sdk" class="gtm-nav-link">Looker API SDKs</a></li><li><a href="/web/20210802012901/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/20210802012901/https://docs.looker.com/reference/embedding/security" class="gtm-nav-link">Security best practices for embedded analytics</a></li><li><a href="/web/20210802012901/https://docs.looker.com/sharing-and-publishing/embedding" class="gtm-nav-link">Private embedding</a></li><li><a href="/web/20210802012901/https://docs.looker.com/reference/embedding/sso-embed" class="gtm-nav-link">Single sign-on (SSO) embedding</a></li><li><a href="/web/20210802012901/https://docs.looker.com/reference/embedding/viewing" class="gtm-nav-link">Viewing embedded Looks, Explores, and dashboards</a></li><li><a href="/web/20210802012901/https://docs.looker.com/reference/embedding/embed-javascript-events" class="gtm-nav-link">Embedded Javascript events</a></li><li><a href="/web/20210802012901/https://docs.looker.com/reference/embedding/timezones" class="gtm-nav-link">SSO embedding time zone reference</a></li><li><a href="/web/20210802012901/https://docs.looker.com/admin-options/settings/themes" class="gtm-nav-link">Custom themes for embedded dashboards</a></li><li><a href="/web/20210802012901/https://docs.looker.com/reference/embed-sdk" class="gtm-nav-link">Embed SDK</a></li></ul></li><li>Extension framework and UI components<ul class="child-nav"><li><a href="/web/20210802012901/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/20210802012901/https://docs.looker.com/data-modeling/extension-framework/permissions" class="gtm-nav-link">Setting permissions for Looker extensions</a></li><li><a href="/web/20210802012901/https://docs.looker.com/data-modeling/extension-framework/filter-components" class="gtm-nav-link">Looker filter components</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/20210802012901/https://docs.looker.com/admin-options" class="gtm-nav-link">Set up and administer Looker overview</a></li><li><a href="/web/20210802012901/https://docs.looker.com/admin-options/supported-browsers" class="gtm-nav-link">Supported browsers</a></li><li><a href="/web/20210802012901/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/20210802012901/https://docs.looker.com/setup-and-management/looker-hosted-install" class="gtm-nav-link">Looker-hosted installation steps</a></li><li><a href="/web/20210802012901/https://docs.looker.com/setup-and-management/on-prem-install" class="gtm-nav-link">Customer-hosted installation steps</a></li><li><a href="/web/20210802012901/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/20210802012901/https://docs.looker.com/setup-and-management/signin-options" class="gtm-nav-link">Getting started with users</a></li><li><a href="/web/20210802012901/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 connection<ul class="child-nav"><li><a href="/web/20210802012901/https://docs.looker.com/setup-and-management/enabling-secure-db" class="gtm-nav-link">Enabling secure database access</a></li><li><a href="/web/20210802012901/https://docs.looker.com/setup-and-management/database-config" class="gtm-nav-link">Database configuration instructions</a></li><li><a href="/web/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/https://docs.looker.com/admin-options/tutorials/permissions" class="gtm-nav-link">Access control and permission management</a></li><li><a href="/web/20210802012901/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/20210802012901/https://docs.looker.com/setup-and-management/tutorials/clustering" class="gtm-nav-link">Clustering Looker</a></li><li><a href="/web/20210802012901/https://docs.looker.com/admin-options/tutorials/connections" class="gtm-nav-link">Creating connections</a></li><li><a href="/web/20210802012901/https://docs.looker.com/admin-options/system-activity" class="gtm-nav-link">System Activity pages</a></li><li><a href="/web/20210802012901/https://docs.looker.com/admin-options/tutorials/system-activity" class="gtm-nav-link">Creating Looker usage reports with System Activity Explores</a></li><li><a href="/web/20210802012901/https://docs.looker.com/admin-options/tutorials/notify-users" class="gtm-nav-link">Making announcements to your users</a></li><li><a href="/web/20210802012901/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/20210802012901/https://docs.looker.com/admin-options/tutorials/delete-user" class="gtm-nav-link">Deleting personal user information</a></li><li><a href="/web/20210802012901/https://docs.looker.com/admin-options/tutorials/timezones" class="gtm-nav-link">Using time zone settings</a></li><li><a href="/web/20210802012901/https://docs.looker.com/admin-options/tutorials/localizing-looker" class="gtm-nav-link">Supported user-interface languages</a></li><li><a href="/web/20210802012901/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/20210802012901/https://docs.looker.com/admin-options/settings" class="gtm-nav-link">General pages</a></li><li><a href="/web/20210802012901/https://docs.looker.com/admin-options/system-activity/sa-dashboards" class="gtm-nav-link">System Activity dashboards</a></li><li><a href="/web/20210802012901/https://docs.looker.com/admin-options/settings/page-users" class="gtm-nav-link">Users pages</a></li><li><a href="/web/20210802012901/https://docs.looker.com/admin-options/database" class="gtm-nav-link">Database pages</a></li><li><a href="/web/20210802012901/https://docs.looker.com/admin-options/scheduler" class="gtm-nav-link">Alerts & Schedules pages</a></li><li><a href="/web/20210802012901/https://docs.looker.com/admin-options/platform" class="gtm-nav-link">Platform pages</a></li><li><a href="/web/20210802012901/https://docs.looker.com/admin-options/security" class="gtm-nav-link">Authentication pages</a></li><li><a href="/web/20210802012901/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/20210802012901/https://docs.looker.com/mobile-app" class="gtm-nav-link">Looker mobile application</a></li><li><a href="/web/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901if_/https://player.vimeo.com/video/238682805?title=0&byline=0&portrait=0" frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe></div> <img src="/web/20210802012901im_/https://docs.looker.com/assets/video_images/creating_connection_v3.png"/> <div class="video-label">Connecting to a database</div><div class="video-version">Applies to 5.2+</div><div class="video-playlist">Part of the <a href="https://web.archive.org/web/20210802012901/https://vimeo.com/album/4978440" class="gtm-playlist-link">Development Process</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">Connecting Looker to your database</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">Connecting Looker to your database</span> </div> </div> </a> </div> </div> </aside> <div id="page-title">Connecting Looker to your database</div> <div id="breadcrumbs" data-swiftype-index="false"><a href="/web/20210802012901/https://docs.looker.com/setup-and-management/database-config"><i class="material-icons">keyboard_arrow_left</i>Go to Database Configuration Instructions</a></div> <p>After you have <a href="/web/20210802012901/https://docs.looker.com/setup-and-management/enabling-secure-db">secured</a> and <a href="/web/20210802012901/https://docs.looker.com/setup-and-management/database-config">configured</a> your database, you’re ready to connect your database to Looker.</p> <p><a class="anchor" name="adding-connections"></a> <a class="anchor" name="creating_a_new_database_connection"></a></p> <h1>Creating a new database connection</h1> <p></p> <!-- @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ --> <p> </p> <p>Select <strong>Connections</strong> from the <strong>Database</strong> section in the <strong>Admin</strong> panel. On the <strong>Connections</strong> page, click the <strong>Add Connection</strong> button. Looker displays the <strong>Connection Settings</strong> page. The fields that the <strong>Connection Settings</strong> page displays depend on your dialect setting.</p> <blockquote> <p>For more information about applying user attributes to connection settings, see the <a href="/web/20210802012901/https://docs.looker.com/admin-options/settings/user-attributes#connections">Connections</a> section of the <strong>User Attributes</strong> documentation page.</p> <p>For more information about using the <strong>PDT Overrides</strong> column to configure separate login credentials for PDT processes, see the <a href="#pdt-overrides">Configuring Separate Login Credentials for PDT Processes</a> section.</p> </blockquote> <p>As an example, the following options are available for configuration when connecting Looker to Amazon Redshift.</p> <p><a class="anchor" name="name"></a></p> <h2>Name</h2> <p>The name of the connection as you want to refer to it. You should not use the name of any <a href="/web/20210802012901/https://docs.looker.com/sharing-and-publishing/organizing-spaces">folders</a>. This value does not need to match anything in your database; it is just a label that you assign. You’ll use it in the <a href="/web/20210802012901/https://docs.looker.com/reference/model-params/connection-for-model"><code>connection</code></a> parameter of your LookML model.</p> <!-- @@@@@@@@ --> <p><a class="anchor" name="dialect"></a></p> <h2>Dialect</h2> <p>The SQL dialect that matches your connection. It’s important to choose the correct value so that you are presented with the proper connection options, and so that Looker can properly translate your LookML into SQL.</p> <!-- @@@@@@@@ --> <h2>SSH Server</h2> <blockquote> <p>The <strong>SSH Server</strong> option is available if the instance is deployed on Kubernetes infrastructure, and only if the ability to add SSH server configuration information to your Looker instance has been enabled. If this option is not enabled on your Looker instance and you want to enable it, contact your Looker account manager or open a support request in Looker’s <a href="https://web.archive.org/web/20210802012901/https://help.looker.com/hc/en-us/requests/new?ticket_form_id=34884">Help Center</a>.</p> <p>The SSH server automatically chooses the localhost port for you, and it is not currently possible to specify the localhost port. If you need to create an SSH connection that requires you to specify a localhost port, contact your Looker account manager or open a support request in Looker’s <a href="https://web.archive.org/web/20210802012901/https://help.looker.com/hc/en-us/requests/new?ticket_form_id=34884">Help Center</a>.</p> </blockquote> <p>To connect to your database using an SSH tunnel, turn on the toggle and select an <a href="/web/20210802012901/https://docs.looker.com/admin-options/database/connections#ssh_servers_tab">SSH server configuration</a> from the drop-down list.</p> <p><a class="anchor" name="host:port"></a> <a class="anchor" name="remote_host:port"></a></p> <h2>Remote Host:Port</h2> <p>Your database hostname and the port that Looker should use to connect to your database host.</p> <p>If you worked with a Looker analyst to <a href="/web/20210802012901/https://docs.looker.com/setup-and-management/enabling-secure-db/ssh-tunnel">configure an SSH tunnel</a> to your database, in the <strong>Host</strong> field enter <code>"localhost"</code>, and in the <strong>Port</strong> field enter the port number that redirects to your database, which your Looker analyst should have provided.</p> <blockquote> <p>If you apply a user attribute to the <strong>Host</strong> field, the user attribute cannot have a <a href="/web/20210802012901/https://docs.looker.com/admin-options/settings/user-attributes#defining_a_user_attribute">user access level</a> set to <strong>Editable</strong>.</p> <p>If you configured an SSH tunnel to connect to your database, you cannot apply a user attribute to the <strong>Remote Host:Port</strong> field.</p> </blockquote> <!-- @@@@@@@@ --> <p><a class="anchor" name="database"></a></p> <h2>Database</h2> <p>The name of the database on your host. For example, you might have a hostname of <code>my-instance.us-east-1.redshift.amazonaws.com</code> on which there is a database called <code>sales_info</code>. You would enter <code>sales_info</code> in this field. If you have multiple databases on the same host, you may need to create multiple connections to use them (with the exception of MySQL, in which the word <em>database</em> means something a little bit different than in most SQL dialects).</p> <!-- @@@@@@@@ --> <p><a class="anchor" name="oauth"></a></p> <h2>Use OAuth</h2> <p>For Snowflake and Google BigQuery connections, you have the option to use OAuth. This means that your users are required to log in to Snowflake or Google, respectively, in order to issue queries from Looker.</p> <p>When you select <strong>Use OAuth</strong>, you will see the <strong>OAuth Client ID</strong> and <strong>OAuth Client Secret</strong> fields:</p> <p><img style="width:614px;border:none" src="/web/20210802012901im_/https://docs.looker.com/assets/images/admin-oauth-fields-624.png"/></p> <p>These values are generated from the Snowflake database or from Google. See the documentation page that describes <a href="/web/20210802012901/https://docs.looker.com/setup-and-management/database-config/snowflake#oauth-db-configure">Snowflake OAuth configuration</a> or <a href="/web/20210802012901/https://docs.looker.com/setup-and-management/database-config/google-bigquery#oauth_for_bigquery_connections">Google BigQuery OAuth configuration</a> for the full procedure.</p> <!-- @@@@@@@@ --> <p><a class="anchor" name="username"></a></p> <h2>Username</h2> <p>The username that Looker should use to connect to your database. You should configure the user ahead of time according to our <a href="/web/20210802012901/https://docs.looker.com/setup-and-management/database-config">database configuration instructions</a>.</p> <!-- @@@@@@@@ --> <p><a class="anchor" name="password"></a></p> <h2>Password</h2> <p>The password that Looker should use to connect to your database. You should configure the password ahead of time according to our <a href="/web/20210802012901/https://docs.looker.com/setup-and-management/database-config">database configuration instructions</a>.</p> <!-- @@@@@@@@ --> <p><a class="anchor" name="schema"></a></p> <h2>Schema</h2> <p>The default schema that Looker uses when a schema is not specified. This applies when using SQL Runner, during LookML project generation, and when querying tables.</p> <!-- @@@@@@@@ --> <p><a class="anchor" name="persistent_derived_tables"></a></p> <h2>Persistent Derived Tables</h2> <p>Check this box to enable <a href="/web/20210802012901/https://docs.looker.com/data-modeling/learning-lookml/derived-tables#persistent-derived-tables">persistent derived tables</a>. This reveals additional PDT fields and the <a href="#pdt-overrides"><strong>PDT Overrides</strong></a> column. Looker displays this option only if the <a href="/web/20210802012901/https://docs.looker.com/data-modeling/learning-lookml/derived-tables#supported_database_dialects_for_pdts">database dialect supports using PDTs</a>.</p> <p>Note the following about PDTs:</p> <ul> <li>PDTs are not supported for <a href="/web/20210802012901/https://docs.looker.com/setup-and-management/database-config/snowflake#oauth">Snowflake</a> or <a href="/web/20210802012901/https://docs.looker.com/setup-and-management/database-config/google-bigquery#oauth_for_bigquery_connections">Google BigQuery</a> connections that use OAuth.</li> <li>Disabling PDTs on a connection does not disable the <a href="/web/20210802012901/https://docs.looker.com/data-modeling/learning-lookml/caching#using_a_datagroup_for_a_pdt">datagroups</a> that are associated with your PDTs. Even if you disable PDTs, existing datagroups will still run their <a href="/web/20210802012901/https://docs.looker.com/reference/model-params/datagroup#sql_trigger"><code>sql_trigger</code></a> queries against the database. If you want to stop a datagroup from running its <code>sql_trigger</code> query against your database, you must delete or comment out the <a href="/web/20210802012901/https://docs.looker.com/reference/model-params/datagroup"><code>datagroup</code></a> parameter from your LookML project, or you can update the <a href="/web/20210802012901/https://docs.looker.com/setup-and-management/connecting-to-db#pdt_maintenance_schedule">PDT and Datagroup Maintenance Schedule</a> setting for the connection so that Looker checks PDTs and datagroups very infrequently or never.</li> <li>For Snowflake connections, Looker sets the value for the <a href="https://web.archive.org/web/20210802012901/https://docs.snowflake.com/en/sql-reference/parameters.html#autocommit"><code>AUTOCOMMIT</code></a> parameter to <code>TRUE</code> (which is Snowflake’s default value). AUTOCOMMIT is required for SQL commands that Looker runs to maintain its PDT registration system. </li> </ul> <p></p> <!-- @@@@@@@@ --> <p><a class="anchor" name="temp_database"></a></p> <h2>Temp Database</h2> <p>Although this is labeled <strong>Temp Database</strong>, you’ll enter either the database name or schema name — as appropriate for your SQL dialect — that Looker should use to create <a href="/web/20210802012901/https://docs.looker.com/data-modeling/learning-lookml/derived-tables#persistent-derived-tables">persistent derived tables</a>. You should configure this database or schema ahead of time, with the appropriate write permissions. On the <a href="/web/20210802012901/https://docs.looker.com/setup-and-management/database-config">Database configuration instructions</a> documentation page, select your database dialect to see the instructions for that dialect.</p> <p>Each connection must have its own <strong>Temp Database</strong> or <strong>Schema</strong>; they cannot be shared across connections.</p> <!-- @@@@@@@@ --> <p><a class="anchor" name="max_pdt_builder_connections"></a></p> <h2>Max PDT Builder Connections</h2> <p>The <strong>Max PDT Builder Connections</strong> setting allows you to specify how many concurrent table builds the Looker regenerator can initiate on your database connection. The <strong>Max PDT Builder Connections</strong> setting applies only to the types of tables for which the Looker regenerator initiates rebuilds:</p> <ul> <li>SQL-triggered persisted tables (<a href="/web/20210802012901/https://docs.looker.com/data-modeling/learning-lookml/derived-tables#persistent-derived-tables">persistent derived tables</a> and <a href="/web/20210802012901/https://docs.looker.com/data-modeling/learning-lookml/aggregate_awareness#adding_aggregate_tables_to_your_project">aggregate tables</a> that use the <a href="/web/20210802012901/https://docs.looker.com/reference/view-params/datagroup_trigger"><code>datagroup_trigger</code></a> or <a href="/web/20210802012901/https://docs.looker.com/reference/view-params/sql_trigger_value"><code>sql_trigger_value</code></a> persistence strategy).</li> <li>Persisted tables that use the <a href="/web/20210802012901/https://docs.looker.com/reference/view-params/persist_for-for-derived_table"><code>persist_for</code></a> strategy, but only when the <code>persist_for</code> table is part of a <a href="/web/20210802012901/https://docs.looker.com/data-modeling/learning-lookml/derived-tables#cascading_derived_tables">cascade of derived tables</a> where it is depended on by a table that uses the <code>datagroup_trigger</code> or <code>sql_trigger_value</code> persistence strategy. In this case, the Looker regenerator will rebuild a <code>persist_for</code> table, since the table is needed to rebuild another table in the cascade. Otherwise, the regenerator does not initiate builds for <code>persist_for</code> tables.</li> </ul> <p>The <strong>Max PDT Builder Connections</strong> setting defaults to <strong>1</strong> but may be set as high as <strong>10</strong>. However, the value cannot be higher than the value set in the <a href="#max_connections"><strong>Max Connections</strong></a> field or in the <code>per-user-query-limit</code> set in Looker’s <a href="/web/20210802012901/https://docs.looker.com/setup-and-management/on-prem-install/looker-startup-options">startup options</a>.</p> <p>Set this value carefully. If the value is too high, you may overwhelm your database. If the value is low, then long-running PDTs or aggregate tables can delay the creation of other persistent tables or slow down other queries on the connection. Databases that support multitenancy — such as BigQuery, Snowflake, and Redshift — may be more performant in handling parallel query builds.</p> <p>If you want to increase the <strong>Max PDT Builder Connections</strong> setting, a good rule of thumb is to increase it by an increment of 1. If any unexpected behavior occurs, set it back to the default of <strong>1</strong>. Otherwise, if query performance isn’t impacted, you can continue raising it incrementally by 1 and verifying the performance at each increment before further increasing the setting.</p> <p>Note the following about the <strong>Max PDT Builder Connections</strong> setting:</p> <ul> <li>The <strong>Max PDT Builder Connections</strong> setting applies only to connections required for the <em>rebuilding</em> of tables, not to the connections needed for trigger checks. A trigger check is a query that checks whether the table’s persistence strategy is triggered; because these trigger check queries are always run sequentially, the <strong>Max PDT Builder Connections</strong> setting does not apply.</li> <li>In a <a href="/web/20210802012901/https://docs.looker.com/setup-and-management/tutorials/clustering">clustered Looker instance</a>, the regenerator runs only on the main node. The <strong>Max PDT Builder Connections</strong> setting applies only to the main node, and therefore sets the limit for the entire cluster.</li> <li>The <strong>Max PDT Builder Connections</strong> setting does not apply to the following types of tables. These types of tables are built consecutively: <ul> <li>Tables persisted through the <a href="/web/20210802012901/https://docs.looker.com/data-modeling/learning-lookml/derived-tables#persist_for"><code>persist_for</code></a> parameter (unless the table is depended on by tables using the <code>datagroup_trigger</code> or <code>sql_trigger_value</code> strategies).</li> <li><a href="/web/20210802012901/https://docs.looker.com/data-modeling/learning-lookml/derived-tables#persistence_in_development_mode">Tables in Development Mode</a>.</li> <li>Tables rebuilt with the <a href="/web/20210802012901/https://docs.looker.com/data-modeling/learning-lookml/derived-tables#manually_rebuilding_persistent_tables_for_a_query"><strong>Rebuild Derived Tables & Run</strong></a> option.</li> <li>Tables where one depends on another in a dependency <a href="/web/20210802012901/https://docs.looker.com/data-modeling/learning-lookml/derived-tables#cascading_derived_tables">cascade</a>. A table cannot build at the same time as a table it depends on. For example, if <code>table_B</code> depends on <code>table_A</code>, then <code>table_A</code> must finish rebuilding before <code>table_B</code> can start to rebuild.</li> </ul></li> </ul> <!-- @@@@@@@@ --> <p><a class="anchor" name="additional_params"></a></p> <h2>Additional Params</h2> <p>You can include additional Java Database Connectivity (JDBC) parameters for your queries here, if needed.</p> <p>If you want to use a <a href="/web/20210802012901/https://docs.looker.com/admin-options/settings/user-attributes">user attribute</a> in a JDBC parameter, you can use <a href="/web/20210802012901/https://docs.looker.com/reference/liquid-variables">Liquid templating</a>. The syntax is <code>_user_attributes['name_of_your_user_attribute']</code>. For example:</p> <p><div class="code" ace-mode="ace/mode/lookml" ace-theme="ace/theme/lookml" ace-gutter=""> my_jdbc_param={{ _user_attributes['name_of_attribute'] }} </div></p> <p>Here’s how it might look in the <strong>Additional Params</strong> field in Looker:</p> <p> <img style="width:563px;border:none" src="/web/20210802012901im_/https://docs.looker.com/assets/images/admin-user-attributes-connections-718.png"/> </p> <!-- @@@@@@@@ --> <p><a class="anchor" name="pdt_maintenance_schedule"></a> <a class="anchor" name="pdt_and_datagroup_maintenance_schedule"></a></p> <h2>PDT and Datagroup Maintenance Schedule</h2> <p>This setting accepts a <a href="https://web.archive.org/web/20210802012901/https://en.wikipedia.org/wiki/Cron#CRON_expression"><code>cron</code></a> expression that indicates when the <a href="/web/20210802012901/https://docs.looker.com/data-modeling/learning-lookml/derived-tables#the_looker_regenerator">Looker regenerator</a> should check <a href="/web/20210802012901/https://docs.looker.com/data-modeling/learning-lookml/caching#specifying_caching_policies_with_datagroup_parameters">datagroups</a> and persisted tables (both <a href="/web/20210802012901/https://docs.looker.com/reference/explore-params/aggregate_table">aggregate tables</a> and <a href="/web/20210802012901/https://docs.looker.com/data-modeling/learning-lookml/derived-tables#persistent_derived_tables_(pdts)">persistent derived tables</a>) that are based on <a href="/web/20210802012901/https://docs.looker.com/reference/view-params/sql_trigger_value"><code>sql_trigger_value</code></a>), and see what tables should be regenerated or dropped.</p> <p>The default value of <code>*/5 * * * *</code> means “check every 5 minutes,” which is the maximum frequency of checks. A <code>cron</code> expression indicating more frequent checks will cause checks to occur every 5 minutes.</p> <blockquote> <p>While PDTs are building, Looker does not perform additional trigger checks. Once all PDTs from the last trigger check are built, Looker will resume checking datagroup and PDT triggers based on the PDT and datagroup maintenance schedule.</p> </blockquote> <p>If your database isn’t up 24/7, you may want to limit checks to times when the database is up. Here are some additional <code>cron</code> expressions:</p> <table> <thead> <tr> <th><code>cron</code> expression</th> <th>Definition</th> </tr> </thead> <tbody> <tr> <td><code>*/5 8-17 * * MON-FRI</code></td> <td>Check datagroups and PDTs every 5 minutes during business hours, Monday through Friday</td> </tr> <tr> <td><code>*/5 8-17 * * *</code></td> <td>Check datagroups and PDTs every 5 minutes during business hours, every day</td> </tr> <tr> <td><code>0 8-17 * * MON-FRI</code></td> <td>Check datagroups and PDTs every hour during business hours, Monday through Friday</td> </tr> <tr> <td><code>1 3 * * *</code></td> <td>Check datagroups and PDTs every day at 3:01am</td> </tr> </tbody> </table> <p>A few things to note when creating a <code>cron</code> expression:</p> <ul> <li>Looker uses <a href="https://web.archive.org/web/20210802012901/https://github.com/siebertm/parse-cron/blob/v0.1.3/spec/cron_parser_spec.rb">parse-cron v0.1.3</a>, which doesn’t support <code>?</code> in <code>cron</code> expressions.</li> <li>The <code>cron</code> expression uses the Looker <a href="/web/20210802012901/https://docs.looker.com/admin-options/tutorials/timezones#application_time_zone">application timezone</a> to determine when checks are made.</li> <li>If PDTs aren’t being built, reset the cron string back to the default of <code>*/5 * * * *</code>.</li> </ul> <p>Below are some resources to assist with creating <code>cron</code> strings:</p> <ul> <li><a href="https://web.archive.org/web/20210802012901/https://crontab.guru/">https://crontab.guru</a> — Help editing and testing <code>cron</code> strings.</li> <li><a href="https://web.archive.org/web/20210802012901/http://www.crontab-generator.org/">http://www.crontab-generator.org</a> — Select time settings and the generator creates the corresponding <code>cron</code> string.</li> </ul> <!-- @@@@@@@@ --> <p><a class="anchor" name="ssl"></a></p> <h2>SSL</h2> <p>Choose whether or not you want to use SSL encryption to protect data as it passes between Looker and your database. SSL is only one option that can be used to protect your data; other secure options are described on the <a href="/web/20210802012901/https://docs.looker.com/setup-and-management/enabling-secure-db">Enabling secure database access</a> documentation page.</p> <p><a class="anchor" name="verify_ssl_cert"></a></p> <h2>Verify SSL Cert</h2> <p>Choose whether you want to require verification of the SSL certificate used by the connection. If verification is required, the SSL Certificate Authority (CA) that signed the SSL certificate must come from the client’s list of trusted sources. If the CA is not a trusted source, the database connection is not established.</p> <p>If this box is unchecked, SSL encryption is still used on the connection, but verification of the SSL connection is not required, so a connection can be established when the CA is not on the client’s list of trusted sources.</p> <!-- @@@@@@@@ --> <p><a class="anchor" name="max-connections"></a></p> <h2>Max Connections</h2> <p>Here you can set the maximum number of connections that Looker can establish with your database. For the most part, you are setting the number of simultaneous queries that Looker can run against your database. Looker also reserves up to three connections for query killing. If the connection pool is very small, then Looker will reserve fewer connections.</p> <p>You should set this value carefully. If the value is too high, you may overwhelm your database. If the value is too low, then queries have to share a small number of connections. Thus many queries may seem slow to users as the queries have to wait for other, earlier queries to return.</p> <p>The default value (which varies depending upon your SQL dialect) is typically a reasonable starting point. Most databases also have their own settings for the maximum number of connections they will accept. If your database configuration limits connections, ensure that your <strong>Max Connections</strong> value is equal to or lower than your database’s limit.</p> <!-- @@@@@@@@ --> <p><a class="anchor" name="connection-pool-timeout"></a></p> <h2>Connection Pool Timeout</h2> <p>If your users do request more connections than the <strong>Max Connections</strong> setting, the requests will wait for others to finish before they are executed. The maximum amount of time that a request will wait is configured here. You should set this value carefully. If it is too low, users may find their queries get cancelled because there isn’t enough time for other user’s queries to finish. If it is too high, large numbers of queries may build up causing users to wait for a very long time. The default value is typically a reasonable starting point.</p> <!-- @@@@@@@@ --> <p><a class="anchor" name="sql_runner_precache"></a></p> <h2>SQL Runner Precache</h2> <p>In SQL Runner, all table information is pre-loaded as soon as you select a connection and schema. This enables SQL Runner to quickly display table columns as soon as you click on a table name. However, for connections and schema with many tables or with very large tables, you may not want SQL Runner to pre-load all of the information.</p> <p>If you prefer SQL Runner to load table information only when a table is selected, you can uncheck the <strong>SQL Runner Precache</strong> option to disable SQL Runner pre-loading for the connection.</p> <!-- @@@@@@@@ --> <p></p> <p><a class="anchor" name="fetch_information_schema_for_sql_writing"></a></p> <h2>Fetch Information Schema For SQL Writing</h2> <p>For some SQL-writing features such as <a href="/web/20210802012901/https://docs.looker.com/data-modeling/learning-lookml/aggregate_awareness">aggregate awareness</a>, Looker uses your database’s information schema to optimize SQL writing. If the information schema is not cached, Looker may have to occasionally block SQL writing to the database in order to fetch the information schema. For dialects that use <a href="https://web.archive.org/web/20210802012901/https://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-hdfs/HdfsDesign.html">Hadoop Distributed File System (HDFS)</a>, fetching the information schema may take long enough to significantly affect the performance of your Looker queries. If you know that your information schema is slow, you can disable the <strong>Fetch Information Schema For SQL Writing</strong> option for your connection. Disabling this feature will prevent some of Looker’s SQL optimization for certain features, so you should enable the <strong>Fetch Information Schema For SQL Writing</strong> option unless you know that your connection’s information schema is particularly slow.</p> <p></p> <!-- @@@@@@@@ --> <p><a class="anchor" name="database_time_zone"></a></p> <h2>Database Time Zone</h2> <p>The time zone in which your database stores time-based information. Looker needs to know this so that it can convert time values for users, making it easier to understand and use time-based data. See the <a href="/web/20210802012901/https://docs.looker.com/admin-options/tutorials/timezones">Using time zone settings</a> documentation page for more information.</p> <!-- @@@@@@@@ --> <p><a class="anchor" name="query_time_zone"></a></p> <h2>Query Time Zone</h2> <p>The <strong>Query Time Zone</strong> option is visible only if you have disabled <a href="/web/20210802012901/https://docs.looker.com/admin-options/settings/general#user_specific_time_zones"><strong>User Specific Time Zones</strong></a>.</p> <p>When <strong>User Specific Time Zones</strong> are disabled, the <strong>Query Time Zone</strong> is the time zone that is displayed to your users when they query time-based data, and the time zone into which Looker will convert time-based data from the <a href="#database_time_zone"><strong>Database Time Zone</strong></a>.</p> <p>See the <a href="/web/20210802012901/https://docs.looker.com/admin-options/tutorials/timezones">Using time zone settings</a> documentation page for more information.</p> <p><a class="anchor" name="pdt-overrides"></a> <a class="anchor" name="configuring_separate_login_credentials_for_pdt_processes"></a></p> <h2>Configuring Separate Login Credentials for PDT Processes</h2> <p>If your database supports persistent derived tables, and you have checked the <strong>Persistent Derived Tables</strong> box in the connection settings, Looker displays the <strong>PDT Overrides</strong> column. In the <strong>PDT Overrides</strong> column, you can enter separate JDBC parameters (host, port, database, username, password, schema, and additional parameters) that are specific to PDT processes. This can be valuable for a number of reasons:</p> <ul> <li>By creating a separate database user for PDT processes, you can use PDTs in your model even if you <a href="/web/20210802012901/https://docs.looker.com/admin-options/settings/user-attributes#where_can_user_attributes_be_used?">assign user attributes to your database login credentials</a>.</li> <li>PDT processes can authenticate through a separate database user who has a higher priority. This way the database can prioritize the PDT jobs over less-critical user queries.</li> <li>Write access can be revoked for the standard Looker database connection, and only granted to a special user that PDT processes will use for authentication. This is a better security strategy for most organizations.</li> <li>For databases such as <a href="/web/20210802012901/https://docs.looker.com/setup-and-management/database-config/snowflake">Snowflake</a>, PDT processes can be routed to more powerful hardware that is not shared with the rest of the Looker users. This way, PDTs can build quickly without incurring the cost of running expensive hardware full-time.</li> </ul> <p>For example, the following configuration shows a connection where the username and password fields are set to user attributes. This way, each user can access the database using their individual credentials. The <strong>PDT Override</strong> column creates a separate user (<code>pdt_user</code>) with its own password. The <code>pdt_user</code> account will be used for all PDT processes, with access levels appropriate to PDT creation and update:</p> <p> <img style="width:870px;border:none" src="/web/20210802012901im_/https://docs.looker.com/assets/images/admin-pdt-overrides-718.png"/> </p> <blockquote> <p>While the <strong>PDT Overrides</strong> column enables you to change the database user and other connection properties, a PDT override must read the same data as the default connection, and it must write data to the same place. Looker cannot read data from one location and write it to another.</p> </blockquote> <p><a class="anchor" name="testing_your_connection_settings"></a></p> <h2>Testing Your Connection Settings</h2> <p>Once you’ve entered the credentials, click <strong>Test These Settings</strong> to verify that the information is correct and the database is able to connect.</p> <p></p> <p>If your connection does not pass one or more tests:</p> <ul> <li>Try some of the troubleshooting steps on the <a href="/web/20210802012901/https://docs.looker.com/setup-and-management/connecting-to-db/testing-db-connectivity">Testing database connectivity</a> documentation page.</li> <li>If you are running Mongo version 3.6 or earlier on Atlas and you get a communications link failure, see <a href="/web/20210802012901/https://docs.looker.com/setup-and-management/database-config/mongobi-atlas#mongo-add-params">the Mongo Connector</a> documentation page.</li> <li>To receive successful connection messages regarding the temp schema and PDTs, you must allow that functionality when you set up your Looker database. Instructions for doing so can be found on the <a href="/web/20210802012901/https://docs.looker.com/setup-and-management/database-config">Database configuration instructions</a> documentation page.</li> </ul> <blockquote> <p>Database connections that use OAuth, such as <a href="/web/20210802012901/https://docs.looker.com/setup-and-management/database-config/snowflake#oauth">Snowflake</a> and <a href="/web/20210802012901/https://docs.looker.com/setup-and-management/database-config/google-bigquery#oauth_for_bigquery_connections">Google BigQuery</a>, require a user login. If you are not logged in to your OAuth user account when you test one of these connections, Looker will show a warning with a <strong>Log In</strong> link. Click the link to enter your OAuth credentials or to allow Looker access to your OAuth account information.</p> </blockquote> <p>If you are still having trouble, contact Looker Support for assistance.</p> <p><a class="anchor" name="adding_your_database_connection"></a></p> <h2>Adding Your Database Connection</h2> <p>Once you have configured and tested your database connection settings, click <strong>Add Connection</strong>. Your database connection is now added to the list on the <strong>Connections</strong> page.</p> <p><!-- @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ --> <a class="anchor" name="looker_managed_database"></a> <a class="anchor" name="new_database"></a></p> <h1>Looker managed database</h1> <p></p> <p></p> <blockquote> <p>Looker’s managed database service has been discontinued starting in Looker 21.12 (July 2021). Looker recommends using one of its certified <a href="https://web.archive.org/web/20210802012901/https://looker.com/partner-network/technology">Technology Partners</a> for database management and/or ETL services.</p> </blockquote> <p></p> <p></p> <p></p> <p> <a class="anchor" name="next_step"></a> <a name="next_steps" class="anchor"></a></p> <h1>Next steps</h1> <p>After you have connected your database to Looker, you’re ready to <a href="/web/20210802012901/https://docs.looker.com/setup-and-management/signin-options">configure sign-in options for your users</a>.</p> </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/20210802012901/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/20210802012901/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/20210802012901/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/20210802012901/https://looker.com/privacy">Privacy Policy</a> | <a href="https://web.archive.org/web/20210802012901/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.12'; var lookerVersions = ['21.12','21.10','21.8','21.6','21.4']; 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/20210802012901js_/https://docs.looker.com/_themes/docs/js/article.js?v=1"></script> <!-- FILE ARCHIVED ON 01:29:01 Aug 02, 2021 AND RETRIEVED FROM THE INTERNET ARCHIVE ON 15:14:32 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: 0.58 exclusion.robots: 0.031 exclusion.robots.policy: 0.018 esindex: 0.011 cdx.remote: 18.186 LoadShardBlock: 668.806 (3) PetaboxLoader3.resolve: 392.735 (4) PetaboxLoader3.datanode: 403.281 (4) load_resource: 278.358 -->