CINXE.COM
4.x Release Notes
<!doctype html> <html lang="en"> <head><script type="text/javascript" src="https://web-static.archive.org/_static/js/bundle-playback.js?v=7YQSqjSh" charset="utf-8"></script> <script type="text/javascript" src="https://web-static.archive.org/_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="https://web-static.archive.org/_static/js/ruffle/ruffle.js"></script> <script type="text/javascript"> __wm.init("https://web.archive.org/web"); __wm.wombat("https://docs.looker.com/relnotes/v4-release-notes","20210801174332","https://web.archive.org/","web","https://web-static.archive.org/_static/", "1627839812"); </script> <link rel="stylesheet" type="text/css" href="https://web-static.archive.org/_static/css/banner-styles.css?v=p7PEIJWi" /> <link rel="stylesheet" type="text/css" href="https://web-static.archive.org/_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/20210801174332/https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-NWWX6K');</script> <!-- ============= TITLE ============= --> <title>4.x Release Notes</title> <link rel="canonical" href="https://web.archive.org/web/20210801174332/https://docs.looker.com/relnotes/v4-release-notes"/> <link rel="icon" type="image/x-icon" href="/web/20210801174332im_/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="4.x Release Notes"> <meta class="swiftype" name="description" data-type="string" content="View release notes for Looker 4.0 through 4.22."> <!-- Page Info --> <meta property="og:site_name" content="Looker Documentation"> <meta property="og:url" content="https://web.archive.org/web/20210801174332/https://docs.looker.com/relnotes/v4-release-notes"> <meta property="og:type" content="article"> <meta property="og:title" content="4.x Release Notes"> <meta property="og:description" content="View release notes for Looker 4.0 through 4.22."> <meta name="description" content="View release notes for Looker 4.0 through 4.22."> <!-- Hide from Search --> <!-- ============= FONTS ============= --> <!-- Google Sans | Headers and UI | regular, bold --> <link rel="stylesheet" href="https://web.archive.org/web/20210801174332cs_/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/20210801174332cs_/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/20210801174332cs_/https://fonts.googleapis.com/css?family=Roboto+Mono:400,700"> <!-- Google Material Design Icons --> <link rel="stylesheet" href="https://web.archive.org/web/20210801174332cs_/https://fonts.googleapis.com/css?family=Material+Icons"> <!-- ============= STYLES ============= --> <!-- Normalize.css | https://necolas.github.io/normalize.css/ --> <link rel="stylesheet" href="/web/20210801174332cs_/https://docs.looker.com/_themes/docs/css/normalize.css"> <!-- Docs Stylesheet --> <link rel="stylesheet" href="/web/20210801174332cs_/https://docs.looker.com/_themes/docs/css/docs.css?v=1627674102"> <!-- ============= SCRIPTS ============= --> <!-- JQuery --> <script src="https://web.archive.org/web/20210801174332js_/https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> <!-- Ace Editor --> <script src="/web/20210801174332js_/https://docs.looker.com/_themes/docs/js/ace/ace.js"></script> <script src="/web/20210801174332js_/https://docs.looker.com/_themes/docs/js/ace/ext-static_highlight.js"></script> <!-- Vimeo API --> <script src="/web/20210801174332js_/https://docs.looker.com/_themes/docs/js/vimeo/player.js"></script> <!-- Site JS --> <script src="/web/20210801174332js_/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/20210801174332/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/20210801174332if_/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/20210801174332/https://looker.com/"><img src="/web/20210801174332im_/https://docs.looker.com/assets/site_images/looker-logo.svg"/></a> </div> <div id="ed-options"> <a href="https://web.archive.org/web/20210801174332/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/20210801174332/https://looker.com/guide/getting-started" class="custres-gtm-nav-link"> Getting Started </a> <a href="https://web.archive.org/web/20210801174332/https://help.looker.com/" class="custres-gtm-nav-link"> Help Center </a> <a href="/web/20210801174332/https://docs.looker.com/" class="custres-gtm-nav-link" id="docs-home"> <b>Documentation</b> </a> <a href="https://web.archive.org/web/20210801174332/https://community.looker.com/" class="custres-gtm-nav-link"> Community </a> <a href="https://web.archive.org/web/20210801174332/https://training.looker.com/" class="custres-gtm-nav-link"> Training </a> <a href="https://web.archive.org/web/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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 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/20210801174332/https://vimeo.com/215917994" class="gtm-nav-link">Logging in video tutorial</a></li><li><a href="/web/20210801174332/https://docs.looker.com/intro" class="gtm-nav-link">Looker introduction</a></li><li><a href="/web/20210801174332/https://docs.looker.com/relnotes/intro" class="gtm-nav-link">Latest features</a></li><li><a href="/web/20210801174332/https://docs.looker.com/sharing-and-publishing" class="gtm-nav-link">Find and organize content</a></li><li><a href="/web/20210801174332/https://docs.looker.com/sharing-and-publishing/send-share-intro" class="gtm-nav-link">Send and share content</a></li><li><a href="/web/20210801174332/https://docs.looker.com/exploring-data/retrieve-chart-intro" class="gtm-nav-link">Retrieve and chart data</a></li><li><a href="/web/20210801174332/https://docs.looker.com/dashboards/dashboards-reports-intro" class="gtm-nav-link">Create and edit dashboards and reports</a></li><li><a href="/web/20210801174332/https://docs.looker.com/data-modeling" class="gtm-nav-link">Get ready for development</a></li><li><a href="/web/20210801174332/https://docs.looker.com/data-modeling/learning-lookml/lookml-intro" class="gtm-nav-link">Write LookML</a></li><li><a href="/web/20210801174332/https://docs.looker.com/reference/api-embedding-intro" class="gtm-nav-link">Use embedding and the API</a></li><li><a href="/web/20210801174332/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/20210801174332/https://docs.looker.com/sharing-and-publishing/user-menu" class="gtm-nav-link">Personalizing your user profile</a></li><li><a href="/web/20210801174332/https://docs.looker.com/sharing-and-publishing/user-account" class="gtm-nav-link">Personalizing user account settings</a></li><li><a href="/web/20210801174332/https://docs.looker.com/sharing-and-publishing/user-history" class="gtm-nav-link">Viewing your query history</a></li><li><a href="/web/20210801174332/https://docs.looker.com/sharing-and-publishing/user-schedules" class="gtm-nav-link">Viewing your scheduled data deliveries</a></li><li><a href="/web/20210801174332/https://docs.looker.com/sharing-and-publishing/user-alerts" class="gtm-nav-link">Viewing your conditional alert notifications</a></li><li><a href="/web/20210801174332/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/20210801174332/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/20210801174332/https://vimeo.com/268498280" class="gtm-nav-link">Why use Looker?</a></li><li><a href="/web/20210801174332/https://docs.looker.com/video-library/exploring-data" class="gtm-nav-link">Business user tutorials</a></li><li><a href="/web/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/https://docs.looker.com/relnotes" class="gtm-nav-link">Looker 21 release highlights</a></li><li><a href="/web/20210801174332/https://docs.looker.com/relnotes/v21-changelog" class="gtm-nav-link">Looker 21 changelog</a></li><li><a href="/web/20210801174332/https://docs.looker.com/relnotes/v7-release-notes" class="gtm-nav-link">Looker 7 release highlights</a></li><li><a href="/web/20210801174332/https://docs.looker.com/relnotes/v7-changelog" class="gtm-nav-link">Looker 7 changelog</a></li><li><a href="/web/20210801174332/https://docs.looker.com/relnotes/esr-notes" class="gtm-nav-link">Extended support release notes</a></li><li><a href="/web/20210801174332/https://docs.looker.com/relnotes/v6-release-notes" class="gtm-nav-link">Looker 6 release notes</a></li><li><a href="/web/20210801174332/https://docs.looker.com/relnotes/v5-release-notes" class="gtm-nav-link">Looker 5 release notes</a></li><li><a href="/web/20210801174332/https://docs.looker.com/relnotes/v4-release-notes" class="gtm-nav-link">Looker 4 release notes</a></li><li><a href="/web/20210801174332/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/20210801174332/https://docs.looker.com/sharing-and-publishing/finding-content" class="gtm-nav-link">Finding content in Looker</a></li><li><a href="/web/20210801174332/https://docs.looker.com/dashboards/new-dashboard-experience" class="gtm-nav-link">Viewing dashboards</a></li><li><a href="/web/20210801174332/https://docs.looker.com/dashboards/viewing-user-dashboards" class="gtm-nav-link">Viewing legacy dashboards in Looker</a></li><li><a href="/web/20210801174332/https://docs.looker.com/sharing-and-publishing/viewing-looks" class="gtm-nav-link">Viewing Looks in Looker</a></li><li><a href="/web/20210801174332/https://docs.looker.com/video-library/exploring-data#find_and_view_content" class="gtm-nav-link">Video tutorials</a></li><li><a href="/web/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/https://docs.looker.com/sharing-and-publishing/downloading" class="gtm-nav-link">Downloading content</a></li><li><a href="/web/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/https://docs.looker.com/sharing-and-publishing/alerts" class="gtm-nav-link">Conditional alerts overview</a></li><li><a href="/web/20210801174332/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/20210801174332/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/20210801174332/https://docs.looker.com/exploring-data/exploring-data" class="gtm-nav-link">Exploring data in Looker</a></li><li><a href="/web/20210801174332/https://docs.looker.com/exploring-data/filtering-and-limiting" class="gtm-nav-link">Filtering and limiting data</a></li><li><a href="/web/20210801174332/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/20210801174332/https://docs.looker.com/video-library/exploring-data#how_to_retrieve_data" class="gtm-nav-link">Video tutorials</a></li><li><a href="/web/20210801174332/https://docs.looker.com/reference/filter-expressions" class="gtm-nav-link">Looker filter expressions</a></li><li><a href="/web/20210801174332/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/20210801174332/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/20210801174332/https://docs.looker.com/exploring-data/using-table-calculations" class="gtm-nav-link">Using table calculations</a></li><li><a href="/web/20210801174332/https://docs.looker.com/exploring-data/adding-fields/custom-measure" class="gtm-nav-link">Adding custom fields</a></li><li><a href="/web/20210801174332/https://docs.looker.com/exploring-data/creating-looker-expressions" class="gtm-nav-link">Creating Looker expressions</a></li><li><a href="/web/20210801174332/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/20210801174332/https://docs.looker.com/exploring-data/visualizing-query-results" class="gtm-nav-link">Creating visualizations and graphs</a></li><li><a href="/web/20210801174332/https://docs.looker.com/exploring-data/visualizing-query-results/visualization-types" class="gtm-nav-link">Visualization types</a></li><li><a href="/web/20210801174332/https://docs.looker.com/exploring-data/visualizing-query-results/color-collections" class="gtm-nav-link">Color collections</a></li><li><a href="/web/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/https://docs.looker.com/dashboards/creating-dashboards-beta" class="gtm-nav-link">Creating user-defined dashboards</a></li><li><a href="/web/20210801174332/https://docs.looker.com/dashboards/editing-dashboards-beta" class="gtm-nav-link">Editing user-defined dashboards</a></li><li><a href="/web/20210801174332/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/20210801174332/https://docs.looker.com/reference/filter-expressions" class="gtm-nav-link">Looker filter expressions</a></li><li><a href="/web/20210801174332/https://docs.looker.com/dashboards/cross-filtering" class="gtm-nav-link">Cross-filtering dashboards</a></li><li><a href="/web/20210801174332/https://docs.looker.com/dashboards/embedding-dashboards-beta" class="gtm-nav-link">Embedding dashboards</a></li><li><a href="/web/20210801174332/https://docs.looker.com/dashboards/legacy-dashboards-landing" class="gtm-nav-link">Legacy dashboards</a></li><li><a href="/web/20210801174332/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/20210801174332/https://docs.looker.com/dashboards/creating-lookml-dashboards" class="gtm-nav-link">Building LookML dashboards</a></li><li><a href="/web/20210801174332/https://docs.looker.com/reference/lookml-dashboard-overview" class="gtm-nav-link">LookML dashboard reference</a></li><li><a href="/web/20210801174332/https://docs.looker.com/reference/dashboard-reference/lookml-visualization-reference" class="gtm-nav-link">Dashboard element parameters</a></li><li><a href="/web/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/https://docs.looker.com/data-modeling" class="gtm-nav-link">Get ready for development</a></li><li><a href="/web/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/https://docs.looker.com/data-modeling/learning-lookml/sql-runner" class="gtm-nav-link">SQL Runner basics</a></li><li><a href="/web/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/https://docs.looker.com/data-modeling/getting-started/advanced-deploy-mode" class="gtm-nav-link">Advanced deploy mode</a></li><li><a href="/web/20210801174332/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/20210801174332/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/20210801174332/https://docs.looker.com/setup-and-management/enabling-secure-db" class="gtm-nav-link">Enabling secure database access</a></li><li><a href="/web/20210801174332/https://docs.looker.com/setup-and-management/database-config" class="gtm-nav-link">Database configuration instructions</a></li><li><a href="/web/20210801174332/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/20210801174332/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/20210801174332/https://docs.looker.com/data-modeling/marketplace" class="gtm-nav-link">Using the Looker Marketplace</a></li><li><a href="/web/20210801174332/https://docs.looker.com/data-modeling/marketplace/customize-blocks" class="gtm-nav-link">Customizing Looker Marketplace Blocks</a></li><li><a href="/web/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/https://docs.looker.com/data-modeling/learning-lookml" class="gtm-nav-link">Steps to learning LookML</a></li><li><a href="/web/20210801174332/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/20210801174332/https://docs.looker.com/data-modeling/learning-lookml/what-is-lookml" class="gtm-nav-link">What is LookML?</a></li><li><a href="/web/20210801174332/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/20210801174332/https://docs.looker.com/data-modeling/getting-started/lookml-validation" class="gtm-nav-link">Editing and validating LookML</a></li><li><a href="/web/20210801174332/https://docs.looker.com/data-modeling/getting-started/look-validation" class="gtm-nav-link">Content validation</a></li><li><a href="/web/20210801174332/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/20210801174332/https://docs.looker.com/data-modeling/learning-lookml/advanced-lookml-concepts" class="gtm-nav-link">Additional LookML basics</a></li><li><a href="/web/20210801174332/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/20210801174332/https://docs.looker.com/data-modeling/learning-lookml/derived-tables" class="gtm-nav-link">Derived tables in Looker</a></li><li><a href="/web/20210801174332/https://docs.looker.com/data-modeling/learning-lookml/creating-ndts" class="gtm-nav-link">Creating native derived tables</a></li><li><a href="/web/20210801174332/https://docs.looker.com/data-modeling/learning-lookml/incremental-pdts" class="gtm-nav-link">Incremental PDTs</a></li><li><a href="/web/20210801174332/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/20210801174332/https://docs.looker.com/data-modeling/learning-lookml/filter-suggestions" class="gtm-nav-link">Changing filter suggestions</a></li><li><a href="/web/20210801174332/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/20210801174332/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/20210801174332/https://docs.looker.com/data-modeling/learning-lookml/aggregate_awareness" class="gtm-nav-link">Aggregate awareness</a></li><li><a href="/web/20210801174332/https://docs.looker.com/data-modeling/learning-lookml/extends" class="gtm-nav-link">Reusing code with extends</a></li><li><a href="/web/20210801174332/https://docs.looker.com/data-modeling/learning-lookml/refinements" class="gtm-nav-link">LookML refinements</a></li><li><a href="/web/20210801174332/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/20210801174332/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/20210801174332/https://docs.looker.com/reference/liquid-variables" class="gtm-nav-link">Liquid variable reference</a></li><li><a href="/web/20210801174332/https://docs.looker.com/admin-options/security/html-sanitization" class="gtm-nav-link">HTML sanitization</a></li><li><a href="/web/20210801174332/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/20210801174332/https://docs.looker.com/reference/lookml" class="gtm-nav-link">LookML parameter reference by function</a></li><li><a href="/web/20210801174332/https://docs.looker.com/reference/lookml-quick-reference" class="gtm-nav-link">LookML quick reference</a></li><li><a href="/web/20210801174332/https://docs.looker.com/reference/manifest-reference" class="gtm-nav-link">Project manifest parameters</a></li><li><a href="/web/20210801174332/https://docs.looker.com/reference/model-reference" class="gtm-nav-link">Model parameters</a></li><li><a href="/web/20210801174332/https://docs.looker.com/reference/explore-reference" class="gtm-nav-link">Explore parameters</a></li><li><a href="/web/20210801174332/https://docs.looker.com/reference/join-reference" class="gtm-nav-link">Join parameters</a></li><li><a href="/web/20210801174332/https://docs.looker.com/reference/view-reference" class="gtm-nav-link">View parameters</a></li><li><a href="/web/20210801174332/https://docs.looker.com/reference/field-reference" class="gtm-nav-link">Field parameters</a></li><li><a href="/web/20210801174332/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/20210801174332/https://docs.looker.com/reference/field-reference/measure-type-reference" class="gtm-nav-link">Measure types</a></li><li><a href="/web/20210801174332/https://docs.looker.com/reference/filter-expressions" class="gtm-nav-link">Looker filter expressions</a></li><li><a href="/web/20210801174332/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/20210801174332/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/20210801174332/https://docs.looker.com/reference/api-and-integration/api-auth" class="gtm-nav-link">Looker API authentication</a></li><li><a href="/web/20210801174332/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/20210801174332/https://docs.looker.com/reference/api-and-integration/api-versioning" class="gtm-nav-link">Looker API versioning</a></li><li><a href="/web/20210801174332/https://docs.looker.com/reference/api-and-integration/api-explorer" class="gtm-nav-link">Using the API Explorer</a></li><li><a href="/web/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/https://docs.looker.com/reference/api-and-integration/api-sdk" class="gtm-nav-link">Looker API SDKs</a></li><li><a href="/web/20210801174332/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/20210801174332/https://docs.looker.com/reference/embedding/security" class="gtm-nav-link">Security best practices for embedded analytics</a></li><li><a href="/web/20210801174332/https://docs.looker.com/sharing-and-publishing/embedding" class="gtm-nav-link">Private embedding</a></li><li><a href="/web/20210801174332/https://docs.looker.com/reference/embedding/sso-embed" class="gtm-nav-link">Single sign-on (SSO) embedding</a></li><li><a href="/web/20210801174332/https://docs.looker.com/reference/embedding/viewing" class="gtm-nav-link">Viewing embedded Looks, Explores, and dashboards</a></li><li><a href="/web/20210801174332/https://docs.looker.com/reference/embedding/embed-javascript-events" class="gtm-nav-link">Embedded Javascript events</a></li><li><a href="/web/20210801174332/https://docs.looker.com/reference/embedding/timezones" class="gtm-nav-link">SSO embedding time zone reference</a></li><li><a href="/web/20210801174332/https://docs.looker.com/admin-options/settings/themes" class="gtm-nav-link">Custom themes for embedded dashboards</a></li><li><a href="/web/20210801174332/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/20210801174332/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/20210801174332/https://docs.looker.com/data-modeling/extension-framework/permissions" class="gtm-nav-link">Setting permissions for Looker extensions</a></li><li><a href="/web/20210801174332/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/20210801174332/https://docs.looker.com/admin-options" class="gtm-nav-link">Set up and administer Looker overview</a></li><li><a href="/web/20210801174332/https://docs.looker.com/admin-options/supported-browsers" class="gtm-nav-link">Supported browsers</a></li><li><a href="/web/20210801174332/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/20210801174332/https://docs.looker.com/setup-and-management/looker-hosted-install" class="gtm-nav-link">Looker-hosted installation steps</a></li><li><a href="/web/20210801174332/https://docs.looker.com/setup-and-management/on-prem-install" class="gtm-nav-link">Customer-hosted installation steps</a></li><li><a href="/web/20210801174332/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/20210801174332/https://docs.looker.com/setup-and-management/signin-options" class="gtm-nav-link">Getting started with users</a></li><li><a href="/web/20210801174332/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/20210801174332/https://docs.looker.com/setup-and-management/enabling-secure-db" class="gtm-nav-link">Enabling secure database access</a></li><li><a href="/web/20210801174332/https://docs.looker.com/setup-and-management/database-config" class="gtm-nav-link">Database configuration instructions</a></li><li><a href="/web/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/https://docs.looker.com/admin-options/tutorials/permissions" class="gtm-nav-link">Access control and permission management</a></li><li><a href="/web/20210801174332/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/20210801174332/https://docs.looker.com/setup-and-management/tutorials/clustering" class="gtm-nav-link">Clustering Looker</a></li><li><a href="/web/20210801174332/https://docs.looker.com/admin-options/tutorials/connections" class="gtm-nav-link">Creating connections</a></li><li><a href="/web/20210801174332/https://docs.looker.com/admin-options/system-activity" class="gtm-nav-link">System Activity pages</a></li><li><a href="/web/20210801174332/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/20210801174332/https://docs.looker.com/admin-options/tutorials/notify-users" class="gtm-nav-link">Making announcements to your users</a></li><li><a href="/web/20210801174332/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/20210801174332/https://docs.looker.com/admin-options/tutorials/delete-user" class="gtm-nav-link">Deleting personal user information</a></li><li><a href="/web/20210801174332/https://docs.looker.com/admin-options/tutorials/timezones" class="gtm-nav-link">Using time zone settings</a></li><li><a href="/web/20210801174332/https://docs.looker.com/admin-options/tutorials/localizing-looker" class="gtm-nav-link">Supported user-interface languages</a></li><li><a href="/web/20210801174332/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/20210801174332/https://docs.looker.com/admin-options/settings" class="gtm-nav-link">General pages</a></li><li><a href="/web/20210801174332/https://docs.looker.com/admin-options/system-activity/sa-dashboards" class="gtm-nav-link">System Activity dashboards</a></li><li><a href="/web/20210801174332/https://docs.looker.com/admin-options/settings/page-users" class="gtm-nav-link">Users pages</a></li><li><a href="/web/20210801174332/https://docs.looker.com/admin-options/database" class="gtm-nav-link">Database pages</a></li><li><a href="/web/20210801174332/https://docs.looker.com/admin-options/scheduler" class="gtm-nav-link">Alerts & Schedules pages</a></li><li><a href="/web/20210801174332/https://docs.looker.com/admin-options/platform" class="gtm-nav-link">Platform pages</a></li><li><a href="/web/20210801174332/https://docs.looker.com/admin-options/security" class="gtm-nav-link">Authentication pages</a></li><li><a href="/web/20210801174332/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/20210801174332/https://docs.looker.com/mobile-app" class="gtm-nav-link">Looker mobile application</a></li><li><a href="/web/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/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 ============= --> <!-- ============= 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">4.x Release Notes</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">4.x Release Notes</span> </div> </div> </a> </div> </div> </aside> <div id="page-title">4.x Release Notes</div> <h1>Preparing for Looker Releases</h1> <ul> <li><p>In the Looker release notes, items marked with a <i class="material-icons">flash_on</i> indicate changes to existing functionality that may require your attention as you update.</p></li> <li><p>Items marked with a <i class="material-icons">science</i> indicate a <a href="/web/20210801174332/https://docs.looker.com/admin-options/settings/labs#labs_overview">Looker Labs</a> feature that must be enabled by an admin on the Labs page.</p></li> <li><p>We occasionally retire features. You can plan for this with the <a href="https://web.archive.org/web/20210801174332/https://discourse.looker.com/t/legacy-features-end-of-life-schedule/2067">Legacy Features End-of-life Schedule</a>.</p></li> </ul> <!-- @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ --> <h1>Looker 4.22 <span style="float:right;">2017-09-10</span></h1> <h2>Dashboards and Visualizations</h2> <ul> <li><strong>Required Filters for Dashboards.</strong> Dashboard filters can now require a filter value input before the dashboard is run. <a href="/web/20210801174332/https://docs.looker.com/dashboards/adding-filters-to-user-dashboards#requiring_a_filter_value">Learn more</a>.</li> <li><strong>Timeline Visualization improvements.</strong> Added the ability to plot multiple events on a single line and introduced a legend option. <a href="/web/20210801174332/https://docs.looker.com/exploring-data/visualizing-query-results/timeline-options">Learn more</a>.</li> </ul> <h2>Platform and Administration</h2> <h3>SQL Runner</h3> <ul> <li>Added the ability to sort SQL Runner results.</li> <li>You can now execute DDL statements via the SQL Runner. <a href="/web/20210801174332/https://docs.looker.com/data-modeling/learning-lookml/sql-runner#modifying_database_schema_and_data">Learn more</a>.</li> </ul> <h3>Instance Administration</h3> <ul> <li><strong>Authentication.</strong> Added support for OpenID Connect, including group-to-role and User Attribute mapping. <a href="/web/20210801174332/https://docs.looker.com/admin-options/security/openid-connect">Learn more</a>.</li> <li><strong>Access.</strong> Added a Help menu option to manage Looker Support access to your instance. By default, access will remain the same. With the <code>support_access_toggle</code> permission, developers can also manage access. If support does not currently have access to your instance, this will not change that. <a href="/web/20210801174332/https://docs.looker.com/setup-and-management/on-prem-install/looker-support-access">Learn more</a>.</li> <li><strong>Usage.</strong> Added edit links from certain i__looker fields to edit pages in the Administration Panel. <a href="/web/20210801174332/https://docs.looker.com/admin-options/tutorials/i__looker#useful_fields_in_the_user_explore">Learn more</a>.</li> </ul> <h3>Legacy Features</h3> <ul> <li><i class="material-icons">flash_on</i> Removed the Legacy Drill Behavior feature.</li> </ul> <h3>API</h3> <ul> <li>Added a <code>content_metadata_id</code> for Look and dashboard lookups.</li> </ul> <h3>Powered by Looker</h3> <ul> <li>Added parent-to-iframe JavaScript events for updating Look and dashboard filters.</li> </ul> <h2>LookML and Development</h2> <ul> <li><strong>Dynamic grouping, aggregation, and user-inputted variables.</strong> Introducing the <code>parameter</code> liquid variable, which allows users to insert a string or number into LookML, providing for more flexible Looks and dashboards. <a href="/web/20210801174332/https://docs.looker.com/reference/field-params/parameter">Learn more</a>.</li> <li><i class="material-icons">flash_on</i> <strong>Improved the LookML Validator</strong> to better identify when fields have duplicate declarations of the same parameter. This may surface previously ignored errors.</li> <li><strong>Statistics in Table Calculations. [BETA]</strong> Added 55 new Calculations to allow for statistical analysis. <a href="/web/20210801174332/https://docs.looker.com/exploring-data/creating-looker-expressions/looker-functions-and-operators">Learn more</a>.</li> </ul> <h2>Content Management and Discoverability</h2> <ul> <li><strong>Browse menu navigation.</strong> The Browse menu now has links to Spaces and the Popular, Favorites, Recently Viewed pages for quicker navigation. <a href="/web/20210801174332/https://docs.looker.com/sharing-and-publishing/finding-content#navigate">Learn more</a>.</li> <li><strong>Lookless Dashboards. [BETA]</strong> Dashboards can now be composed of Tiles, which are not backed by Looks, can be created directly from an exploration without the need to save a Look, and live exclusively on the dashboard. Simplify dashboard creation and content management! <a href="/web/20210801174332/https://docs.looker.com/dashboards/creating-user-dashboards">Learn more</a>.</li> </ul> <h2>Scheduling and Downloading</h2> <ul> <li><strong>Just send it.</strong> Added an Explore option to send data or visualizations without having to create a schedule. <a href="/web/20210801174332/https://docs.looker.com/sharing-and-publishing/scheduling-and-sharing/send-once">Learn more</a>.</li> <li>Updated the Scheduler History page to include information about Datagroup triggers.</li> </ul> <h2>Dialects</h2> <ul> <li><strong>Exasol.</strong> Added support for medians and percentiles. <a href="/web/20210801174332/https://docs.looker.com/reference/field-reference/measure-type-reference#median">Learn more</a>.</li> </ul> <h2>General Tweaks and Bug Fixes</h2> <h3>Dashboards, Visualizations, and Explore</h3> <ul> <li>Fixed an issue where scrolling caused map legends to flip when reverse color scale was enabled.</li> <li>Fixed an issue where the Save button could be obscured when editing the styling of an embedded Dashboard.</li> <li>Fixed an issue where y-axis names didn’t appear with pivoted data.</li> <li>Fixed an issue where public Looks containing Conditional Formatting did not load.</li> <li>Fixed an issue editing a Look could result in an error.</li> <li>Fixed an issue where searching for collapsed dimension groups did not properly expand them in the field picker.</li> </ul> <h3>LookML</h3> <ul> <li>Fixed an issue where not all timeframes were included by default for dimension groups.</li> <li>Fixed a couple of issues related to LookML generation and database columns that start with <code>_</code>.</li> <li>Fixed an issue where an empty action declaration caused a 500 error.</li> <li>Fixed an issue where <code>value_formats</code> could display minus signs when they shouldn’t have.</li> </ul> <h3>Scheduling and Downloading</h3> <ul> <li>Fixed an issue where filtered scheduled emails did not properly link back to a filtered version of the original Look.</li> <li>Fixed an issue where new Google Spreadsheets public URLs led to a 404.</li> <li>Fixed an issue where downloading a PDF could generate an Unexpected Document Error.</li> </ul> <h3>Administration</h3> <ul> <li>Fixed issues related to timezone conversions and Oracle SQL.</li> <li>Fixed an issue where users could not connect to a User Attribute-determined host.</li> </ul> <!-- @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ --> <h1>Looker 4.20 <span style="float:right;">2017-08-13</span></h1> <h2>Scheduling and Downloading</h2> <ul> <li><strong>Introduced the ability to schedule Looks and dashboards when an ETL completes.</strong> Scheduled content can now be sent based on a datagroup trigger in addition to the existing time-based options. <a href="/web/20210801174332/https://docs.looker.com/sharing-and-publishing/scheduling-and-sharing/scheduling#trigger_options_(for_developers_and_admins)">Learn more</a>.</li> <li><strong>Remove links to Looker.</strong> Added a scheduling configuration option to include or exclude links back to Looker from emailed content. <a href="/web/20210801174332/https://docs.looker.com/sharing-and-publishing/scheduling-and-sharing/delivering-looks-explores#include_links">Learn more for Looks</a>. <a href="/web/20210801174332/https://docs.looker.com/sharing-and-publishing/scheduling-and-sharing/delivering-legacy-dashboards#include_links.">Learn more for dashboards</a></li> <li><i class="material-icons">flash_on</i> <strong>Downloads will now default to having formatted values.</strong></li> </ul> <h2>Platform and Administration</h2> <ul> <li><strong>Powered by Looker</strong> <ul> <li>Added the ability to broadcast iframe height to the parent page.</li> </ul></li> <li><strong>SQL Runner</strong> <ul> <li>Added a Connection panel option to disable schema pre-caching. <a href="/web/20210801174332/https://docs.looker.com/setup-and-management/connecting-to-db#sql_runner_precache">Learn more</a>.</li> </ul></li> <li><strong>Legacy Features</strong> <ul> <li><i class="material-icons">flash_on</i> Disabled the following <a href="https://web.archive.org/web/20210801174332/https://discourse.looker.com/t/legacy-features-end-of-life-schedule/2067">Legacy Features</a>: <ul> <li>Non-Symmetric Aggregates</li> <li>Row Limit Only</li> <li>Unsafe Liquid Functions</li> <li>Allow creating legacy API-only users</li> </ul></li> </ul></li> </ul> <h2>LookML and Development Environment</h2> <ul> <li><strong>New minuteX timeframes.</strong> Added new 4, 20, 6, and 12 minute timeframes. <a href="/web/20210801174332/https://docs.looker.com/reference/field-params/dimension_group#minutex">Learn more</a>.</li> <li>[<i class="material-icons">science</i> Experimental Labs] Added an experimental Labs feature that will speed up LookML validation by not revalidating explores that haven’t changed. <a href="/web/20210801174332/https://docs.looker.com/data-modeling/getting-started/lookml-validation#validating_only_updated_lookml">Learn more</a>.</li> </ul> <h2>Dialects</h2> <ul> <li><strong>Amazon Athena.</strong> Introduced support for Symmetric Aggregates. <a href="/web/20210801174332/https://docs.looker.com/reference/explore-params/symmetric_aggregates">Learn more</a>.</li> <li><strong>DataVirtuality.</strong> Added <code>case_sensitive</code> support where possible. <a href="/web/20210801174332/https://docs.looker.com/reference/model-params/case_sensitive-for-model#common_challenges">Learn more</a>.</li> <li><i class="material-icons">flash_on</i> <strong>Apache Spark 1.5+, Apache Spark 2.0, Apache Hive2, and Cloudera Impala.</strong> Derived tables now use columnar formats and compression.</li> <li><i class="material-icons">flash_on</i> <strong>Aster Data, Exasol, PostgreSQL, Amazon Redshift, Snowflake, Vertica, and Greenplum.</strong> Sped up queries by no longer using <code>to_char</code> in <code>group by</code> statements for date timeframes.</li> </ul> <h2>General Tweaks and Bug Fixes</h2> <h3>Filters</h3> <ul> <li>The Filters section in explores is now scrollable.</li> <li>Restored the ability to copy filter values.</li> </ul> <h3>Content Management and Discoverability</h3> <ul> <li>Added the ability to bulk add LookML Dashboards to Spaces as user-defined dashboards. <a href="/web/20210801174332/https://docs.looker.com/dashboards/lookml-to-user-dashboard#bulk_import">Learn more</a>.</li> <li>Fixed an issue where the Spaces page would not load if a user did not have access to a Space.</li> <li>Fixed an issue where individual bulk Space actions were not available to users who could not perform copy, move, and delete actions.</li> <li>Fixed an issue where the Save & Add to Dashboard button missed the Add to Dashboard step.</li> <li>Fixed an issue where users could not parameterize Project names using User Attributes.</li> <li>Fixed an issue where Funnel visualizations could fail to render on User Defined Dashboards.</li> <li>Fixed an issue where the LookML Validator incorrectly produced a Redefinition of field error when a dimension group did not have a raw timeframe and another field had the same name.</li> </ul> <!-- @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ --> <h1>Looker 4.18 <span style="float:right;">2017-07-16</span></h1> <h2>LookML</h2> <ul> <li>[<i class="material-icons">science</i> Labs] <strong>Native Derived Tables</strong> Derived tables can now be composed with LookML rather than being defined with a simple SQL block. <a href="https://web.archive.org/web/20210801174332/https://discourse.looker.com/t/using-native-derived-tables-labs-feature/5394">Learn more</a>.</li> <li><strong>Introduced Liquid parameters to identify a field’s presence in a query.</strong> Use <code>_is_selected</code>, <code>_is_filtered</code>, and <code>_in_query</code> to build dynamic behavior based on the fields and filters of a query. <a href="/web/20210801174332/https://docs.looker.com/reference/liquid-variables#usage_of__in_query,__is_selected,_and__is_filtered">Learn more</a>. <ul> <li><i class="material-icons">flash_on</i> <code>_in_query</code> now returns true if a field is in the data table, the filter set, or is being automatically included with <code>required_fields</code> or similar parameters.</li> </ul></li> <li><strong>Introduced the <code>_filters['view.field']</code> Liquid parameter.</strong> This allows you to grab a query’s current filters, especially useful for cross-dashboard linking as well as hyperlinking to Looks, queries, or other <code>link</code> values. <a href="/web/20210801174332/https://docs.looker.com/reference/field-params/link#passing_a_query%E2%80%99s_filter_values_into_a_link">Learn more</a>.</li> <li><i class="material-icons">flash_on</i> <strong>Dashboard, Look, and explore links can now open in the same page or iframe.</strong> <code>link</code> values with absolute URLs will continue to open in a new tab while root-relative ones will remain in the current iframe or browser tab.</li> <li>Added the ability to declare a <code>description</code> on LookML dashboards. <a href="/web/20210801174332/https://docs.looker.com/reference/dashboard-reference#description_(for_dashboard)">Learn more</a>.</li> <li>The LookML generator now automatically applies <code>map_layer_name</code> to country fields. <a href="/web/20210801174332/https://docs.looker.com/data-modeling/getting-started/connect-to-db-and-generate-model">Learn more</a>.</li> </ul> <h2>Looker Platform and Administration</h2> <ul> <li><strong>Segment Integration</strong>. Introduced an integration with Segment that will allow you to schedule data to be connected to third party applications for automating workflows. <a href="https://web.archive.org/web/20210801174332/https://discourse.looker.com/t/looker-integrations-segment/5420">Learn more</a>.</li> <li>[<i class="material-icons">science</i> Labs] <strong>SQL Runner</strong>. Introduced the ability to search for all of the fields, schemas, and tables on a given connection. <a href="/web/20210801174332/https://docs.looker.com/data-modeling/learning-lookml/sql-runner#searching_your_database">Learn more</a>.</li> <li><strong>Filters</strong> Suggestions to now match partial words and rank suggested filter values based on relevance.</li> <li><strong>API</strong> <ul> <li><strong>Project management.</strong> Added endpoints to configure a LookML Project’s Git settings and generate and fetch public-private SSH key pairs.</li> <li><strong>Dashboards.</strong> LookML <code>dashboard_elements</code> can now be directly associated with a query rather than be routed through a Look.</li> <li><strong>Dashboards.</strong> <code>dashboard_elements</code> now have a <code>title_text</code> parameter that will override the Look title or will provide a title if there is no associated Look.</li> </ul></li> <li><strong>Instance Administration</strong> <ul> <li><strong>Legacy Features.</strong> Updated the Legacy Feature program to provide greater clarity into deprecation timelines and to add deprecation releases for existing Legacy Features. <a href="/web/20210801174332/https://docs.looker.com/admin-options/settings/legacy">Learn more</a>.</li> <li><strong>Authentication.</strong> Updated the SAML setup page to clarify the IdP Audience field’s relationship to the SP Entity ID.</li> <li><i class="material-icons">flash_on</i> <strong>Permissions.</strong> The <strong>Rebuild Derived Tables & Run</strong> query option will now only be available to those with the Develop permission. <a href="/web/20210801174332/https://docs.looker.com/data-modeling/learning-lookml/caching#forcing_new_results_to_be_generated_from_the_database">Learn more</a>.</li> <li><strong>Schedule Management.</strong> Updated the Scheduler History Admin panel to include information whether or not the job was a test and the type of scheduled job it was. <a href="/web/20210801174332/https://docs.looker.com/admin-options/scheduler/history">Learn more</a>.</li> </ul></li> </ul> <h2>Dialects</h2> <ul> <li><strong>Amazon Athena.</strong> Query killing is now supported.</li> <li><strong>Netezza.</strong> Added initial support for Netezza.</li> </ul> <h2>General Tweaks and Bug Fixes</h2> <h3>Scheduling and Downloading</h3> <ul> <li><i class="material-icons">flash_on</i> The <strong>Edit Schedule</strong> gear menu option now says <strong>Add Schedule</strong> if no schedule exists.</li> <li><i class="material-icons">flash_on</i> Added an identifier to files sent to S3 and SFTP to ensure file names are unique.</li> <li>Users can now download data from the drill modal. <a href="/web/20210801174332/https://docs.looker.com/exploring-data/exploring-data#drilling_down_into_the_data">Learn more</a>.</li> <li>The Scheduled Plan Dialog now closes with the ESC key.</li> <li>Fixed an issue where email addresses removed from a schedule were still listed on the External Emails Admin page.</li> <li>Fixed issues related to zooming on PDF versions of maps.</li> <li>Fixed an issue where scheduling to SFTP could send an empty file.</li> <li>Fixed an issue where Automagic Heatmap Map visualizations could generate empty PNG files.</li> <li>Fixed an issue where empty Totals rows could cause an export to fail.</li> <li>Fixed an issue where “View this data in Looker” links in scheduled emails could lead to an invalid page.</li> <li>Fixed an issue where visualization issues could result in an empty CSV download.</li> </ul> <h3>Dashboards and Visualizations</h3> <ul> <li>The vertical order of series in legends now matches their order in stacked Column visualizations.</li> <li>Fixed an issue where stacked Column visualization value labels did not properly hide.</li> <li>Fixed an issue where tooltips did not appear on Area visualizations.</li> <li>Fixed an issue where Timeline visualizations rendered blank due to invalid value format values.</li> <li>Addressed a number of issues related to having multiple maps on a Dashboard.</li> <li>Fixed an issue where clicking “View Access Settings” from a Dashboard’s gear menu lead to an endlessly spinning page.</li> </ul> <h3>Spaces and Content Management</h3> <ul> <li>When LookML dashboards are imported into a Space, the banner notifications now link to the dashboard and Spaces to which it was moved.</li> <li>Fixed an issue where a user was displayed the Explore From Here link in Spaces despite not having the permissions to do so.</li> <li>Fixed an issue where, after moving a Dashboard, its Looks remained in the departure Space until the page was refreshed.</li> </ul> <h3>Instance Administration.</h3> <ul> <li>Fixed a bug where Groups could not be added to an individual user’s Space in a closed system.</li> <li>Fixed an issue where SAML users’ authentication errors were not appearing on the login page.</li> <li>Fixed an issue where SAML, LDAP, or Google Auth users could be sent password reset emails despite having no password to reset.</li> <li><strong>Google BigQuery.</strong> Fixed an issue where Max Billing Gigabytes entries could fail to validate.</li> <li>Fixed an issue where grouped Explores did not sort correctly.</li> <li>Fixed an issue where the browse Spaces icon was missing in embedded contexts.</li> <li>Fixed an issue where users could not edit their email preferences.</li> <li>Fixed an issue where Access Filters in Liquid conditions caused erroneous errors.</li> <li>Fixed an issue where certain timeframes produced erroneous to allow_fill warnings.</li> <li>Fixed an issue where the Help menu’s search bar was unresponsive.</li> <li>Fixed an issue where markdown tables could render with very narrow columns.</li> <li>Fixed an issue where the <code>pivot_where</code> Table Calculation would erroneously error.</li> </ul> <!-- @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ --> <h1>Looker 4.16 <span style="float:right;">2017-06-11</span></h1> <h2>Scheduling and Downloading</h2> <ul> <li><strong>Apply Table visualization configurations to scheduled and exported content.</strong> Table visualization options (including renamed series, hidden columns, and totals) are now available in downloads, schedules, and public Looks. You can still download from the data table if you’d prefer, although the visualization is the default option. <a href="/web/20210801174332/https://docs.looker.com/sharing-and-publishing/downloading">Learn more about downloading</a>. <a href="/web/20210801174332/https://docs.looker.com/sharing-and-publishing/scheduling-and-sharing/scheduling-email#apply_visualization_options">Learn more about scheduling</a>. <ul> <li>Conditional formatting and custom colors are currently not applied. Images and HTML applied to table values will not carry through.</li> <li><i class="material-icons">flash_on</i> If you are exporting to Google Sheets and using the <code>lookerFetchHtmlTable()</code> function, you should replace it with <code>lookerFetchData()</code>. <a href="https://web.archive.org/web/20210801174332/https://help.looker.com/hc/en-us/articles/360023905553-Looker-Built-Google-Sheets-Import-Script">Learn more</a>.</li> </ul></li> <li>Scheduled Look and dashboard delivery format choices were reorganized for better clarity.</li> <li>Added the option to select TLS and SSL versions if enabled on the SMTP admin panel.</li> </ul> <h2>Dashboards</h2> <ul> <li><i class="material-icons">flash_on</i> <strong>Introduced an on-element toolbar for editing individual dashboard elements.</strong> <a href="/web/20210801174332/https://docs.looker.com/dashboards/editing-user-dashboards#editing_tiles">Learn more</a>.</li> <li><i class="material-icons">flash_on</i> When loading a dashboard, the <strong>dashboard element rendering order now prioritizes elements in the current viewport.</strong> <a href="/web/20210801174332/https://docs.looker.com/dashboards/viewing-user-dashboards#refreshing_data_in_a_dashboard">Learn more</a>.</li> </ul> <h2>Explore</h2> <ul> <li><strong>Instant Insight.</strong> Introduced the ability to creating an on-the-fly Explore for a SQL query or database table. <a href="/web/20210801174332/https://docs.looker.com/data-modeling/learning-lookml/sql-runner#getting_insight_into_data_by_creating_an_on-the-fly_explore">Learn more</a>.</li> <li><strong>Added a search bar to the Explore menu.</strong> <a href="/web/20210801174332/https://docs.looker.com/exploring-data">Learn more</a>.</li> <li><strong>Added the ability to drill on null values.</strong></li> </ul> <h2>Content Management and Discoverability</h2> <ul> <li><strong>Reintroduced pagination for Spaces.</strong> Looks and dashboards are now capped at 30 per page, with the option to page forward to see additional content. This does not apply to the LookML dashboards Space.</li> <li><i class="material-icons">flash_on</i> The model name associated with Looks and dashboards is now displayed only if there is more than one model used in that Space. <a href="/web/20210801174332/https://docs.looker.com/sharing-and-publishing/finding-content#viewing_lists_of_looks_and_dashboards">Learn more</a>.</li> </ul> <h2>Looker Platform and Administration</h2> <ul> <li><strong>Smarter Query Caching.</strong> <code>datagroups</code> will allow you to set LookML triggers and intervals to refresh your query cache, as well as define a maximum potential cache age. <a href="/web/20210801174332/https://docs.looker.com/data-modeling/learning-lookml/caching#specifying_caching_policies_with_datagroup_parameters">Learn more</a>.</li> <li><strong>SAML integration improvements.</strong> <ul> <li>Added the ability to map user attributes directly to SAML attributes rather than requiring user attributes map to SAML Groups. <a href="/web/20210801174332/https://docs.looker.com/admin-options/security/saml-auth#user_attributes_settings">Learn more</a>.</li> <li>Introduced the ability to set default Groups for SAML and LDAP integrations. <a href="/web/20210801174332/https://docs.looker.com/admin-options/security/saml-auth#role_settings">Learn more</a>.</li> <li>Added a Group Finder Strategy to set groups as individual SAML attributes with a membership value. <a href="/web/20210801174332/https://docs.looker.com/admin-options/security/saml-auth#role_settings">Learn more</a>.</li> </ul></li> <li><i class="material-icons">flash_on</i> <strong>Beta API changes.</strong> <ul> <li>The <code>scheduled_plans_for_space()</code> route now returns both disabled and enabled plans. <a href="/web/20210801174332/https://docs.looker.com/reference/api-and-integration/api-reference/v3.0/scheduled-plan">Learn more</a>.</li> <li>Project file routes now include deleted files.</li> <li>Added an <code>update_session()</code> endpoint to switch to and from development mode. <a href="/web/20210801174332/https://docs.looker.com/reference/api-and-integration/api-reference/v3.0/session#api_session_workspace">Learn more</a>.</li> </ul></li> <li><i class="material-icons">flash_on</i> Introduced the “User-based dev mode” Legacy Feature</li> <li><i class="material-icons">flash_on</i> On the Edit Group page, limited the displayed roles to those related to a given group.</li> <li>License keys are now hidden by default on the Admin panel. Click <strong>Show</strong> to display the full key.</li> </ul> <h2>LookML and Development Environment</h2> <ul> <li><strong>Added the <code>tags</code> parameter</strong>, which allows you to provide arbitrary metadata to any LookML field. <a href="/web/20210801174332/https://docs.looker.com/reference/field-params/tags">Learn more</a>.</li> <li>[<i class="material-icons">science</i> Labs] <strong>Project Importing.</strong> This experimental Labs feature enables extensions across projects. <a href="https://web.archive.org/web/20210801174332/https://discourse.looker.com/t/experimental-lab-feature-importing-files-from-other-lookml-projects/5179">Learn more</a>.</li> </ul> <h2>Dialects</h2> <ul> <li><i class="material-icons">flash_on</i> <strong>Google BigQuery.</strong> Now perform case insensitive filtering by applying <code>lower()</code> and performing an equality match.</li> <li><strong>MemSQL</strong> <ul> <li><i class="material-icons">flash_on</i> Where possible, <code>date_trunc()</code> will be used for timeframes rather than <code>date_format()</code>.</li> <li>Updated to the new driver to allow for SSL connections.</li> </ul></li> <li><i class="material-icons">flash_on</i> <strong>DataVirtuality.</strong> Where possible, <code>cast()</code> will be used for timeframes rather than <code>formattimestamp()</code></li> <li><strong>SAP HANA.</strong> added support for Symmetric Aggregates and Persistent Derived Tables.</li> <li><strong>Athena.</strong> Updated the driver to 1.1.0.</li> <li><strong>Impala.</strong> Added the ability to authenticate with a user and password when using Cloudera native drivers.</li> </ul> <h2>General Tweaks and Bug Fixes</h2> <ul> <li>Table Calculations and Custom Filters now autocorrect case sensitivity issues and provide better warnings in the event of improper constant usage (<code>Yes</code> vs <code>yes</code>, for example).</li> <li>Fixed an issue where Table Calculations were not displayed in a visualization when all other fields were hidden.</li> <li>Fixed an issue where conditional formatting did not color small decimal values.</li> <li>Fixed an issue where the background color of embedded Funnel visualizations was not fully applied.</li> <li>Fixed an issue where text Dashboard Elements did not properly wrap on Internet Explorer.</li> <li>Fixed an issue where <code>group_labels</code> did not properly wrap.</li> <li>Fixed an issue where users with no Roles could not load the Spaces page.</li> <li>Addressed an issue where new sub-personal Spaces did not appear until the page was refreshed.</li> <li>Fixed an issue where the LookML Dashboards Space was not visible in certain cases.</li> <li>Fixed an API issue where sql_table_name was not included in the <code>lookml_model_explore()</code> output.</li> <li>Fixed an issue where dimension fill would re-enable when dimensions were added or removed.</li> <li>Addressed an issue where dimension fill would warn when no results were returned.</li> <li>Addressed issues related to <code>datatype: date</code> on several SQL dialects.</li> </ul> <!-- @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ --> <h1>Looker 4.14 <span style="float:right;">2017-05-14</span></h1> <h2>Dashboards, Visualizations, and Explores</h2> <ul> <li><strong>Introduced the Timeline visualization.</strong> <a href="/web/20210801174332/https://docs.looker.com/exploring-data/visualizing-query-results/timeline-options">Learn more</a>.</li> <li><strong>A field’s <code>description</code> will now appear in a tooltip</strong> when hovering over the column header on dashboards, Looks, or explores. <a href="/web/20210801174332/https://docs.looker.com/exploring-data/visualizing-query-results/table-options#tooltips_for_table_columns">Learn more</a>.</li> <li><strong>The explores in the Explore menu can now be organized</strong> using the <code>group_label</code> LookML parameter. <a href="/web/20210801174332/https://docs.looker.com/reference/explore-params/group_label">Learn more</a>.</li> <li><strong>Dashboard filters can now be configured to accept just a single filter value.</strong> <a href="/web/20210801174332/https://docs.looker.com/dashboards/adding-filters-to-user-dashboards#limit_the_number_of_values">Learn more</a>.</li> <li><strong>The <code>vector_tile_region</code> map layer now has an option to display outlines of regions without data.</strong> <a href="/web/20210801174332/https://docs.looker.com/exploring-data/visualizing-query-results/interactive-map-options#gridlines_on_empty_regions">Learn more</a>.</li> </ul> <h2>Looker Platform and Administration</h2> <ul> <li><i class="material-icons">flash_on</i> <strong>Content Access is now entirely governed by Space Access Controls.</strong> <a href="https://web.archive.org/web/20210801174332/https://discourse.looker.com/t/content-access-in-looker-4-10-and-looker-4-14/4582">Learn more</a>.</li> <li><i class="material-icons">flash_on</i> <strong>Introduced the “Allow unlimited downloads that might crash Looker” Legacy Feature.</strong> <a href="https://web.archive.org/web/20210801174332/https://discourse.looker.com/t/legacy-feature-allowing-unlimited-downloads-looker-4-14/4987">Learn more</a>.</li> <li><strong>Added new API endpoints:</strong> <ul> <li>API endpoints for reading project information.</li> <li>API endpoint for LookML validation.</li> </ul></li> <li>You can now filter tables on the Persistent Derived Tables Admin panel. <a href="/web/20210801174332/https://docs.looker.com/admin-options/database/pdts#filtering_the_pdt_panel">Learn more</a>.</li> <li>Looker will now pull avatars from Google if you’re using Google Auth.</li> <li>Renamed the <strong>Edit Look Settings</strong> gear menu option to <strong>Edit Settings</strong>.</li> </ul> <h2>LookML and Development Environment</h2> <ul> <li>The LookML generator will now create dimensions of <code>type: zipcode</code>.</li> <li><i class="material-icons">flash_on</i> Replaced the individual Create Model, Create Dashboard, Create Document, etc. options with a single Add Files menu in the LookML development environment. <a href="/web/20210801174332/https://docs.looker.com/data-modeling/getting-started/model-development#creating_model_files">Learn more</a>.</li> <li>Removed the striped gradient from the Development Mode banner.</li> </ul> <h2>Dialects</h2> <ul> <li><strong>Amazon Spectrum.</strong> Added support for Amazon Spectrum. <a href="https://web.archive.org/web/20210801174332/https://discourse.looker.com/t/using-amazon-redshift-s-new-spectrum-feature/4975">Learn more</a>.</li> </ul> <h2>General Tweaks and Bug Fixes</h2> <ul> <li>Fixed a couple of issues related to labels and pie charts.</li> <li>Fixed an issue where selecting Filter from the data table didn’t open the filter panel.</li> <li>Fixed an issue where <code>all_scheduled_plans()</code> did not return scheduled plans.</li> <li>Fixed some table alignment issues when row totals are present but dimensions and row numbers are not.</li> <li>Fixed an issue where creating a view from a table could overwrite an existing view if it had the same name.</li> <li>Addressed some issues related to manually defining <code>vector_tile_region</code> map layers.</li> <li>Tweaked Look and dashboard pages to improve header text alignment.</li> </ul> <!-- @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ --> <h1>Looker 4.12 <span style="float:right;">2017-04-16</span></h1> <h2>Dashboards and Visualizations</h2> <ul> <li><strong>Improved dashboard creation and editing workflow.</strong> <ul> <li>You can now create a blank dashboard from the Spaces page.</li> <li>Dashboard titles can be edited directly from the dashboard page.</li> <li>Dashboards can be deleted from the dashboard page.</li> <li><i class="material-icons">flash_on</i> Edit mode for dashboards now displays the options to add Looks, Text elements, as well as configuration settings and filters in a toolbar rather than in the gear menu.</li> </ul></li> <li><strong>Dashboard text elements now accept certain Markdown tags for formatting and rendering links.</strong></li> <li><strong>Added a dashboard gear menu option to get the dashboard LookML associated with a user-defined dashboard.</strong></li> <li><strong>Updated touch options for Visualizations on mobile.</strong> <ul> <li>Pressing and releasing will bring up the tooltip for a data point.</li> <li>Pressing and dragging along a chart will display tooltips for whichever datapoint is being touched.</li> <li>Pressing and holding on a single data point will bring up the drill modal.</li> </ul></li> <li>Updated the display for dashboards with elements in multiple timezones.</li> <li><i class="material-icons">flash_on</i> Collapsed dashboard filters bars now display the filter value for a User Attribute rather than the Attribute name.</li> <li><i class="material-icons">flash_on</i> Removed text elements from a dashboard’s edit settings.</li> <li><i class="material-icons">flash_on</i> Clicking a dashboard element’s title now directly launches an Explore instead of opening the gear menu.</li> <li><i class="material-icons">flash_on</i> <strong>Changed beta dashboard API routes</strong>, consolidating LookML and user-defined dashboard routes. Impacted APIs include, but are not limited to: <ul> <li>Dashboards</li> <li>Spaces</li> <li>Looks</li> </ul></li> </ul> <h2>Scheduling and Downloading</h2> <ul> <li><strong>Introduced the ability to add text to scheduled Looks and dashboards.</strong></li> <li><strong>Filterable scheduling is now available on Looks.</strong></li> <li><strong>Added a new Inline Image scheduled dashboard type</strong> that mirrors dashboard display in Looker.</li> <li><strong>Improved Filtered Schedules.</strong> <ul> <li>User Attribute-based filter values now display in filtered schedules.</li> <li>If a piece of content is scheduled to more than one user and the schedule fails, the recipient will be displayed in the error email.</li> <li><i class="material-icons">flash_on</i> “View this data in Looker” links now take users to filtered versions of the Look or dashboard if the email is for a filtered piece of content.</li> </ul></li> <li>Improved the error message produced when scheduling to an email address that is not in a whitelisted domain.</li> </ul> <h2>Dialects</h2> <ul> <li><strong>Google BigQuery.</strong> Added the ability to download unlimited results.</li> <li><strong>Impala.</strong> Added the ability to configure Looker to use Cloudera-provided drivers. <a href="https://web.archive.org/web/20210801174332/https://discourse.looker.com/t/configuring-looker-to-use-impala-jdbc-connector-for-cloudera-enterprise/4772">Learn More</a>.</li> <li><i class="material-icons">flash_on</i> <strong>Denodo.</strong> Switched to <code>LIKE</code> from <code>REGEXP_LIKE</code> for string comparisons.</li> </ul> <h2>LookML</h2> <ul> <li><strong>Introduced <code>percentile</code> and <code>percentile_distinct</code> measure types for certain dialects.</strong> <a href="/web/20210801174332/https://docs.looker.com/reference/field-reference/measure-type-reference#percentile">Learn more</a>.</li> <li><strong>Introduced <code>median</code> measure type for certain dialects.</strong> <a href="/web/20210801174332/https://docs.looker.com/reference/field-reference/measure-type-reference#median">Learn more</a>.</li> <li><strong>Introduced <code>median_distinct</code> measure type for certain dialects.</strong> <a href="/web/20210801174332/https://docs.looker.com/reference/field-reference/measure-type-reference#median_distinct">Learn more</a>.</li> </ul> <h2>General Tweaks and Bug Fixes</h2> <ul> <li><i class="material-icons">flash_on</i> Addressed an issue where downloading sometimes lead to a <code>404</code> or <code>500</code> response. Created a new Lookerbot release as a result. <a href="https://web.archive.org/web/20210801174332/https://github.com/looker/looker-slackbot/releases">Learn more</a>.</li> <li>Updated Data Actions to include the ability to provide a description for form fields, better error messaging, and a beta API endpoint.</li> <li><strong>Google BigQuery.</strong> Fixed an issue where filtered results were incorrect when using the <code>case_sensitive</code> parameter.</li> <li>Clarified definitions of Labs features in the Admin panel.</li> <li>The Content Validator now updates “Explore From Here” Look and dashboard links.</li> <li>Addressed an error message that appeared if a view’s primary key was not included in a <code>fields</code> list.</li> <li>Addressed a series of incorrect error messages that appeared before a Look or dashboard element ran.</li> <li>Addressed a number of <code>extends</code>-related LookML issues.</li> <li>Added more precision to the Funnel visualization for comparing small values.</li> <li>Fixed an issue where drill links were not displayed for Funnel visualizations.</li> <li>Fixed an issue where dashboards with only Text elements would not appear in Spaces.</li> <li>Fixed an issue where deleted content would be included in counts in Spaces.</li> <li>Fixed an issue where the Choose Looks modal did not populate if there was a deleted Look on a dashboard.</li> <li>Fixed an issue where a series’s settings were not preserved after moving between axes.</li> <li>Fixed an issue where duplicate browser history events were produced for a single dashboard page load.</li> </ul> <!-- @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ --> <h1>Looker 4.10 <span style="float:right;">2017-03-19</span></h1> <h2>Dashboards and Visualizations</h2> <ul> <li><strong>Selective assignment of series to y-axes.</strong> Create or combine any number of y-axes. <a href="https://web.archive.org/web/20210801174332/https://discourse.looker.com/t/updates-to-the-y-axis-editor/4504">Learn more</a>.</li> <li><strong>Introduced a Funnel visualization type.</strong> <a href="https://web.archive.org/web/20210801174332/https://discourse.looker.com/t/funnel-visualization/4503">Learn more</a>.</li> <li><strong>Added Visual Drilling to the Labs menu</strong>, allowing it to be disabled if so desired. <a href="https://web.archive.org/web/20210801174332/https://discourse.looker.com/t/visual-drilling/3574">Learn more</a>.</li> <li>Table Visualizations in PDFs now show their full width.</li> </ul> <h2>Administration</h2> <ul> <li><strong>User Attributes as a Access Filter mechanism.</strong> User Attributes can now govern Access Filters, providing for Group-level assignment. <a href="https://web.archive.org/web/20210801174332/https://discourse.looker.com/t/access-filters-with-user-attributes/4596">Learn more</a>.</li> <li><strong>Improved User Specific Time Zones.</strong> <a href="/web/20210801174332/https://docs.looker.com/admin-options/tutorials/timezones">Learn more about the enhancement</a>. <a href="https://web.archive.org/web/20210801174332/https://discourse.looker.com/t/legacy-feature-implicit-dashboard-default-timezone-looker-4-10/4500">Learn about the legacy feature</a>.</li> </ul> <h2>Dialects</h2> <ul> <li><strong>Google BigQuery.</strong> Introduced a Max Billing Gigabytes connection parameter which can be used to limit the size of any single query. It can also be tied to a User Attribute value.</li> <li><strong>Introducing support for Google Cloud PosgreSQL.</strong></li> <li><strong>Introducing initial support for Google Spanner.</strong></li> <li><strong>Snowflake.</strong> Updated to the latest driver.</li> </ul> <h2>General Tweaks and Bug Fixes</h2> <ul> <li><strong>LookML and Development Environment.</strong> <ul> <li>Added missing quick help docs when the cursor is placed at the start of LookML blocks.</li> <li>Fixed an issue with multi-line pasting in the new IDE.</li> <li>Fixed an issue related to LookML validation when <code>extension: required</code> is used.</li> <li>Fixed an issue related to <code>from</code> and <code>view_name</code> explore inheritance.</li> <li>Fixed an issue where saving could hang.</li> </ul></li> <li><strong>Dialects.</strong> <ul> <li><strong>Amazon Athena.</strong> Fixed an issue where the LookML generator did not see more than 100 tables across all databases.</li> <li><strong>Google BigQuery.</strong> Addressed an issue related to casting dimensions with <code>datatype: date</code>.</li> </ul></li> <li><i class="material-icons">flash_on</i> <strong>Addressed inconsistent Look and dashboard presentation in Spaces</strong> for users with <code>access_data</code> and <code>see_user_dashboards</code> and users with just <code>see_user_dashboards</code>. Users’ ability to query reports has not changed. <a href="https://web.archive.org/web/20210801174332/https://discourse.looker.com/t/content-access-in-looker-4-10-and-looker-4-12/4582">Learn more</a>.</li> <li><strong>Fixed an issue where the edit modal would occasionally not return data.</strong></li> <li><strong>Looks & dashboards can now be moved into personal Spaces.</strong></li> <li><i class="material-icons">flash_on</i> <strong>The Save button on the Explore page will now return you to the Explore Page</strong> instead of taking you to the Look.</li> <li><i class="material-icons">flash_on</i> Filter values rather than filter names are now displayed in bold when the filters bar is collapsed.</li> <li><i class="material-icons">flash_on</i> Deleted Looks will no longer appear in the Content Validator.</li> <li>Hovering over relative timestamps now displays the exact time.</li> <li>Added the ability to copy values from SQL Runner Tables & Drill Overlays.</li> <li>Improved error messages related to malformed tiers and views without <code>primary_key</code> dimensions.</li> <li>Addressed an issue where unchecking a default role on a user did not remove that role.</li> <li>Fixed an issue where single value visualizations would be cut off in scheduled inline dashboards.</li> <li>Increased the size of click targets on mobile dashboards and visualizations.</li> <li>Fixed an issue related to MandrillApp and custom SMTP settings that occasionally caused scheduled dashboard elements to render empty.</li> <li>Fixed an issue where downloaded files could not be renamed.</li> <li>Fixed an issue where dashboards could not be renamed.</li> <li>Fixed an issue where Looks and dashboards could be missing from Spaces if a Space was moved into another.</li> <li>Fixed an issue where sorts were not respected in Explores with a single, pivoted dimension.</li> <li>Fixed an issue where Looker-generated SQL incorrectly escaped regex special characters in regex string comparison.</li> <li>Fixed an issue where the Rebuild Derived Tables & Run option was hidden when <code>persist_for: 0 seconds</code> was declared.</li> </ul> <!-- @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ --> <h1>Looker 4.8 <span style="float:right;">2017-02-20</span></h1> <h2>Scheduling and Downloading</h2> <ul> <li><strong>Filterable dashboard schedules.</strong> Introduced the ability to change filter values for each schedule associated with a given dashboard.</li> <li><strong>Inline Tables is now the default email delivery option for new scheduled content.</strong> Existing schedules won’t be changed.</li> <li><strong>Added API support for downloading dashboard PDFs.</strong></li> </ul> <h2>Dashboards and Visualizations</h2> <ul> <li>[<i class="material-icons">science</i> Labs] <strong>Conditional Formatting</strong> for Table visualizations. <a href="/web/20210801174332/https://docs.looker.com/admin-options/settings/labs">Learn more about Labs features</a>.</li> <li><strong>Added drop-down options to the Add/Edit Dashboard Filters interface.</strong></li> <li><strong>Trend Line equations and R<sup>2</sup></strong>. Trend Line labels can now display the equation used for the line or the Trend Line’s R<sup>2</sup> value.</li> </ul> <h2>Looker Platform and Administration</h2> <ul> <li><strong>Powered by Looker</strong> <ul> <li><strong>Saving from an Embedded Context.</strong> Introducing the ability for embedded users to save content, including the ability to curate content for embedded users from Spaces.</li> <li><strong>Scheduling from an Embed Context.</strong> Embedded users now have the ability to schedule Looks and dashboards.</li> <li>Embedded Look URLs can now be modified to override filter values.</li> <li>JavaScript embed events can continue firing across page loads.</li> <li>Exposed embed-related <code>external_id</code> fields in already-existing <code>credentials_embed</code> and <code>space</code> routes.</li> <li><i class="material-icons">flash_on</i> “Rebuild Derived Tables & Run” option on Explore pages is now hidden for all embedded users.</li> </ul></li> <li><i class="material-icons">flash_on</i> <strong>Changed the location of deploy keys for newly created projects.</strong> Looker-hosted instances will not need to take any action. <em>Action is required for customer-hosted clusters creating new projects.</em> <a href="https://web.archive.org/web/20210801174332/https://discourse.looker.com/t/syncing-git-ssh-keys-for-clustered-lookers-looker-4-8/4338">Learn more about syncing Git SSH keys</a>. <a href="/web/20210801174332/https://docs.looker.com/setup-and-management/tutorials/clustering">Learn more about shared storage clusters</a>.</li> <li><strong>Connection tests.</strong> Added an option in the Connections Panel to test all connections or each individually.</li> </ul> <h2>Content Management and Discoverability</h2> <ul> <li><strong>Unused Content and Trash.</strong> Introduced two sections that allow instance Admins to, in bulk, clean up all of the unused and unneeded content on an instance. <ul> <li><strong>The Unused Content page</strong> will pull together all content that hasn’t been touched in 90 days. Admins can then delete those items, which will move them to the Trash.</li> <li><strong>Trash.</strong> Items in Trash can be restored or permanently deleted at the Admin’s discretion.</li> </ul></li> <li><strong>Tables in Spaces are now sortable and are paginated</strong>. This does not apply to the LookML dashboard space.</li> <li><strong>Move and Copy Modals in Spaces now match the new Save Look modal.</strong></li> <li><strong>Run on Load for Looks.</strong> Introduced the ability to set whether Looks run immediately. This setting can be configured in Edit Look Settings.</li> <li><i class="material-icons">flash_on</i> <strong>Moved Public Access settings for Looks</strong> to the Look Settings modal.</li> <li><strong>It is now possible to delete a dashboard from the dashboard page.</strong></li> <li><strong>Markdown file navigation.</strong> Added the ability to create a navigation menu for Markdown documents.</li> </ul> <h2>LookML and Development Environment</h2> <ul> <li><strong>Fiscal years and quarters.</strong> Introduced a <code>fiscal_month_offset</code> LookML parameter to allow for custom fiscal years.</li> <li><strong>Better SQL Runner error highlighting.</strong></li> <li><strong>Projects can now include JSON files.</strong></li> <li><strong>Updated the syntax for <code>map_layers</code></strong> so that they can now reference JSON files included in the project.</li> <li>Introduced the ability to add files to a project by dragging and dropping them into the LookML IDE.</li> </ul> <h2>Dialects</h2> <ul> <li><strong>BigQuery Standard SQL.</strong> Improved the LookML project generator.</li> <li><strong>BigQuery Legacy SQL.</strong> Removed <code>EACH</code> from <code>GROUP BY</code>, improving performance for certain queries.</li> <li><strong>Presto.</strong> Added support for Qubole’s Presto as a Service for Presto versions 0.157 and 0.142.</li> </ul> <h2>General Tweaks and Bug Fixes</h2> <ul> <li><i class="material-icons">flash_on</i> Disabled the Save button from the Edit Look modal until the query is finished updating. This addresses an issue where Look edits would not persist if saved too quickly.</li> <li>Fixed an issue where menus items that ran off the page could not be reached by scrolling.</li> <li>Removed the Go to LookML link for users who are not able to see LookML.</li> <li>SQL errors are now only exposed to users with the <code>see_lookml</code> permission.</li> <li>Fixed an issue where the SQL tab was blank on Safari. Fixed an issue related to escaping the <code>\</code> character in filter values.</li> <li>Fixed an issue where Reset Look did not reset query results.</li> <li>Fixed an issue where webhook delivery could block scheduled content delivery.</li> <li>Fixed an issue where Single Column PDF dashboard element titles were mixed up.</li> <li>Fixed a issue where the ‘Create Schedule’ option was not available in the Details pane of the Look page.</li> <li>Fixed an issue related to downloading results from drill overlays.</li> <li>Fixed an issues that resulted in Select 10 SQL Runner functions not working properly.</li> <li>Fixed a SQL Runner issue related to listing tables in on Spark 2.0.</li> <li>Group labels for measures are now the same color as measure names in the Field Picker.</li> </ul> <!-- @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ --> <h1>Looker 4.6 <span style="float:right;">2017-01-22</span></h1> <h2>Scheduling and Downloading</h2> <ul> <li><strong>Multiple schedules.</strong> Added the ability to create multiple schedules via per piece of content from the schedule modal. <a href="https://web.archive.org/web/20210801174332/https://discourse.looker.com/t/multiple-schedules/3974">Learn more</a>.</li> <li><strong>Larger scheduled result sets.</strong> The schedule modal now has SFTP and webhook options, to which users may schedule Look results. An “all results” option is available in cases where query results may be streamed. <a href="/web/20210801174332/https://docs.looker.com/sharing-and-publishing/scheduling-and-sharing/scheduling-ftp">Learn more</a>.</li> <li><strong>Improved inline dashboard emails</strong> to improve legibility and visual consistency.</li> </ul> <h2>Dashboards and Visualizations</h2> <ul> <li><strong>User Attributes in Filters.</strong> Added the ability to associate User Attribute values to filter values, allowing for parameterized content. <a href="https://web.archive.org/web/20210801174332/https://discourse.looker.com/t/parameterized-filters-with-user-attributes/4134">Learn more</a>.</li> <li><strong>Increased scrolling speed</strong> when dragging dashboard tiles.</li> <li><strong>Improved rendering of map data</strong> by updating the mapping library.</li> </ul> <h2>Content Management and Discoverability</h2> <ul> <li><strong>Redesigned Save Look modals</strong> to improve Space browsing and navigation.</li> <li><strong>Faceting for Top Content.</strong> Filter and sort Top Content by Group to explore what matters most to you and others.</li> </ul> <h2>Dialects</h2> <ul> <li><em>Amazon Athena.</em> Introducing support for Amazon Athena. <a href="/web/20210801174332/https://docs.looker.com/setup-and-management/database-config/amazon-athena">Learn more</a>.</li> <li><strong>BigQuery Standard SQL</strong> is now a fully supported dialect.</li> </ul> <h2>General Tweaks & Bug Fixes</h2> <ul> <li>Fixed an issue where embed users could see explore pages without the <code>explore</code> permission. Users could not navigate to the embedded explore page, but could view it if given a URL with embedded explore access or devise one themselves.</li> <li><i class="material-icons">flash_on</i> Removed Zero Fill for pivoted dimension drills.</li> <li>Fixed a caching issue that could lead to results in browser not matching those scheduled and downloaded.</li> <li>Fixed a broken link from the Content Validator to to Spaces.</li> <li>Fixed an issue where users on BigQuery connections could not Refresh Tables & Tables in the SQL Runner or Create View from Table from the LookML generator.</li> <li><strong>Sorting issues.</strong> <ul> <li>Fixed an issue where a dashboard could ignore measure sort order if declared prior to pivoting.</li> <li>Fixed an issue related to sorting Table Calculations on pivoted results.</li> <li><i class="material-icons">flash_on</i> Nulls in pivoted measures really sort last regardless of sort order, dialect, and content type.</li> </ul></li> </ul> <!-- @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ --> <h1>Looker 4.4 <span style="float:right;">2017-01-02</span></h1> <h2>Looker Platform and Administration</h2> <ul> <li><strong>User Attributes.</strong> Introducing a new system whereby Users and Groups can be assigned values that can then be referenced throughout Looker. <a href="https://web.archive.org/web/20210801174332/https://discourse.looker.com/t/user-attributes/3979">Learn more</a>. <ul> <li><strong>Database connections:</strong> The host, port, database, username, and password of a Connection can be parameterized so that each User will connect with their own credentials rather than through a single Looker user. <a href="https://web.archive.org/web/20210801174332/https://discourse.looker.com/t/parameterizing-connections-with-user-attributes/3986">Learn more</a>.</li> <li><strong>Data Actions.</strong> Data Actions now accept User Attributes as part of their payload, allowing you to use a User’s credentials to perform an operation against a particular service. <a href="https://web.archive.org/web/20210801174332/https://discourse.looker.com/t/data-actions-with-user-attributes/3988">Learn more</a>.</li> </ul></li> <li><i class="material-icons">flash_on</i> <strong>Changes to beta API endpoints</strong> including, but not limited to: <ul> <li>Renamed the <code>filters</code> attribute of the <code>dashboard</code> response to <code>dashboard_filters</code>. Created a new Lookerbot release as a result. <a href="https://web.archive.org/web/20210801174332/https://github.com/looker/looker-slackbot/releases">Learn more</a>.</li> <li>Added <code>joins</code> attribute to the <code>lookml_model_explore</code> response class.</li> <li>Better handle LookML field names with a <code>.</code>.</li> <li>Added a <code>is_personal_descendant</code> flag for sub-personal spaces.</li> <li>Deprecated <code>is_user_root</code> and <code>is_root</code> properties in the <code>space</code> response class. These will still work temporarily, but you should transition to <code>is_users_root</code> and <code>is_shared_root</code>.</li> </ul></li> <li><i class="material-icons">flash_on</i> <strong>Admin Panel Reorganization.</strong> <ul> <li><strong>Regrouped items in the left navigation</strong>, bucketing items into smaller, more specific categories.</li> <li><strong>Reconfigured Labs panel</strong> to indicate which features are beta (under development) and which are experimental (and may be discontinued).</li> </ul></li> </ul> <h2>Scheduling and Downloading</h2> <ul> <li><strong>Larger scheduled result sets to SFTP via the API.</strong> Added the ability to schedule queries with no limit to SFTP via the API.</li> <li><strong>Scheduled tables now include totals and table calculations.</strong> Improved inline table and HTML attachment scheduled Look formats to include table calculations as well as row and column totals.</li> <li><strong>Improved Single Value visualization downloads.</strong> Scheduled inline visualizations and Look downloads are captured as images rather than text, allowing comparisons, text, and generally making them more closely resemble how they appear in the web browser.</li> </ul> <h2>Content Management and Discoverability</h2> <ul> <li><strong>Recently Viewed Content.</strong> A list of the dashboards and Looks you have been visiting lately. <a href="https://web.archive.org/web/20210801174332/https://discourse.looker.com/t/getting-to-what-matters-favorites-top-content-global-search/3745">Learn more</a>.</li> <li><strong>Bulk delete dashboards in Spaces.</strong></li> <li><strong>Sortable and paginated content browser.</strong> Top Content, Favorites and Recently Viewed Content are now sortable and pages currently contain ten Looks or dashboards.</li> </ul> <h2>Dialects</h2> <ul> <li><strong>IBM DB2.</strong> Added support for persistent derived tables.</li> <li><i class="material-icons">flash_on</i> <strong>Google Cloud SQL.</strong> Temporarily removed support for persistent derived tables. This only impacts Google Cloud SQL, not Google BigQuery Legacy SQL or Google BigQuery Standard SQL.</li> <li><strong>Presto.</strong> Added support for symmetric aggregates. Requires Presto version 0.153 or above.</li> </ul> <h2>LookML</h2> <ul> <li><i class="material-icons">flash_on</i> New projects cannot be created using YAML-based LookML without the legacy feature. <a href="https://web.archive.org/web/20210801174332/https://discourse.looker.com/t/deprecation-notice-old-style-yaml-lookml-looker-4-4/4025">Learn more</a>.</li> <li><strong><code>order_by_field</code> on measures.</strong> Measures now accept the <code>order_by_field</code> parameter, allowing you to order query results based on another measure. <a href="/web/20210801174332/https://docs.looker.com/reference/field-params/order_by_field">Learn more</a>.</li> </ul> <h2>General Tweaks & Bug Fixes</h2> <ul> <li><strong>i__looker.</strong> <ul> <li>Added average and total runtime measures.</li> <li><i class="material-icons">flash_on</i> Removed the total query count measure, allowing for pivoting by source.</li> </ul></li> <li><i class="material-icons">flash_on</i> Reduced the number of filter suggestions from 5,000 to 1,000.</li> <li><i class="material-icons">flash_on</i> Nulls now sort last in most pivot cases.</li> <li>Fixed an issue where the looker.log file associated with HyperSQL application databases did not properly checkpoint.</li> <li>Fixed an issue where downloads would fail if they included totals.</li> <li>Fixed an issue where the Explore page could go blank after removing a table calculation.</li> <li>Fixed an issue where columns were displayed as dimensions (blue) rather than properly displayed as table calculations (green).</li> <li>Fixed an issue where values entered in to filters did not always make it to the SQL generated for an Explore.</li> <li>Fixed an issue related to filtering on month or year in BigQuery Standard SQL.</li> <li>Fixed two pivot SQL syntax issues, one related to MSSQL and one to Redshift.</li> <li>Fixed an issue where the sort indicator on results tables did not always match the sort direction.</li> <li>Fixed an issue where dashboards and their associated Looks could sort results differently.</li> <li>Fixed an issue where custom Spaces Access Controls were not being displayed in the modal.</li> <li>Fixed an issue where copying a LookML dashboard to Spaces would fail if you did not have the <code>see_lookml</code> permission.</li> <li>Fixed an issue where users with the <code>see_lookml</code> could not see an Explore page’s SQL when in an embed context.</li> <li>Fixed an issue where gears were not clickable on mobile browsers.</li> <li>Fixed an issue where the IDE displayed the Save button when users were not in Development Mode.</li> </ul> <!-- @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ --> <h1>Looker 4.2 <span style="float:right;">2016-10-27</span></h1> <h2>Content Management and Discoverability</h2> <ul> <li><strong>Favorites.</strong> A system for selecting and quickly navigating to the Looks & dashboards you care about most. Clicking the :heart: icon will put a link to the content piece in a list that’s easy to access straight from Spaces. <a href="https://web.archive.org/web/20210801174332/https://discourse.looker.com/t/getting-to-what-matters-favorites-top-content-global-search/3745">Learn more</a>.</li> <li><strong>Top Content.</strong> A list of the most popular Looks & dashboards on your Looker instance. This section is a great way to learn about new reports you haven’t taken a look at yet. <a href="https://web.archive.org/web/20210801174332/https://discourse.looker.com/t/getting-to-what-matters-favorites-top-content-global-search/3745">Learn more</a>.</li> <li><strong>Global Search.</strong> A search function in the navigation bar that searches across Looks, dashboards, LookML dashboards, LookML files, Explores, your Favorites, Top Content, and pages like Browse and your Account Settings. <a href="https://web.archive.org/web/20210801174332/https://discourse.looker.com/t/global-search/3784">Learn more</a>.</li> </ul> <h2>Scheduling & Downloading</h2> <ul> <li><strong>Added the Ability to Schedule Unlimited Results to Amazon S3.</strong> The schedule modal now has an S3 option, to which users may schedule Look results. An “all results” option is available in cases where query results may be streamed. <a href="https://web.archive.org/web/20210801174332/https://discourse.looker.com/t/scheduling-unlimited-results-to-s3/3785">Learn more about scheduling to S3</a>. <a href="https://web.archive.org/web/20210801174332/https://help.looker.com/hc/en-us/articles/360001285567-What-are-all-the-Row-Limits-in-Looker-">Learn more about streaming in Looker</a>.</li> </ul> <h2>Explore</h2> <ul> <li><strong>Streamable In-database Pivots.</strong> Implemented streamable pivots for the majority of SQL dialects for which Looker supports query streaming (exceptions in the second link below). Baring other restrictions, query results are no longer limited to 30,000 cells and users may download results without fearing undue harm to their Looker instance. <a href="https://web.archive.org/web/20210801174332/https://discourse.looker.com/t/introducing-streaming-pivots/3768">Learn more about streaming pivots</a>. <a href="https://web.archive.org/web/20210801174332/https://help.looker.com/hc/en-us/articles/360001285567-What-are-all-the-Row-Limits-in-Looker-">Learn more about streaming in Looker</a>.</li> </ul> <h2>Visualizations</h2> <ul> <li>Added the ability to fade one of the series on a chart when hovering. <a href="/web/20210801174332/https://docs.looker.com/exploring-data/visualizing-query-results/line-options#focus-lines-on-hover">Learn more</a>.</li> <li>Implemented logic to reduce the chances of value label collisions.</li> </ul> <h2>LookML and Derived Tables</h2> <ul> <li><strong>Introduced the <code>sql_always_having</code> parameter</strong>, which conceptually behaves like the <code>sql_always where</code> parameter but instead affects the <code>HAVING</code> clause of a query. The parameter can be used to limit the granularity of results an end user may see. <a href="https://web.archive.org/web/20210801174332/https://discourse.looker.com/t/query-restrictions-on-aggregates-with-sql-always-having-looker-4-2/3736">Learn more</a>.</li> <li><strong>Introduced the <code>allow_fill</code> dimension parameter</strong>, which prevents the filling when relevant dimensions are included in a query. <a href="https://web.archive.org/web/20210801174332/https://discourse.looker.com/t/introducing-dimension-fill-for-query-results/3557">Learn more about dimension filling</a>.</li> <li><strong>Scheduled Persistent Derived Table Maintenance.</strong> Admins can enter a cron string to govern when maintenance operations such as the trigger checker and derived table table reaper run. <a href="/web/20210801174332/https://docs.looker.com/setup-and-management/connecting-to-db#pdt_and_datagroup_maintenance_schedule">Learn more</a>.</li> </ul> <h2>Looker Design</h2> <h3>Validation</h3> <ul> <li><i class="material-icons">flash_on</i> <strong>Renamed the Look Validator the Content Validator.</strong> When enabled, it’s still found under the Develop tab and functionality remains the same.</li> </ul> <h3>IDE Improvements</h3> <ul> <li>Added syntax highlighting to SQL blocks and LookML objects referenced in the <code>sql</code> parameter.</li> <li>Improved readability by deemphasizing LookML punctuation such as <code>{</code> and <code>;;</code>.</li> <li>Surfaced IDE keyboard shortcuts.</li> <li>A personal Space will now appear at the top of the Space list in the Spaces sidebar when it is set as a default space.</li> </ul> <h2>General Tweaks & Bug Fixes</h2> <h3>Persistence</h3> <ul> <li><i class="material-icons">flash_on</i> <strong>Introduced the Default query result persistence is 5 minutes legacy feature.</strong> New instances and those with the legacy feature unchecked will default to a 60 minute query result cache. It is still possible to adjust query cache timing with model- and explore-level <code>persist_for</code> parameters. <a href="https://web.archive.org/web/20210801174332/https://discourse.looker.com/t/change-notice-default-cache-length-4-2/3830">Learn more</a>.</li> </ul> <h3>Dimension Fill Improvements</h3> <ul> <li>No longer apply fill when filters are applied to measures.</li> <li>Dimension filling is disabled when a non-default <code>order_by_field</code> is used.</li> <li>Filtering on an enumeration dimension disables filling.</li> <li>In the event that dimension filling is not possible, queries and downloads will warn and not apply filling rather than fail.</li> </ul> <h3><code>i__looker</code> Updates</h3> <ul> <li>Usage panel dashboard tables no longer scroll. Users may still access more data by clicking Explore from here on each element.</li> <li>Added tracking for dashboard usage to the Usage panel and the history explore.</li> </ul> <h3>LookML, Converter, and IDE Fixes</h3> <ul> <li>Fixed an issue where links didn’t work on measures.</li> <li>Addressed reference checking for <code>value_format_name</code> and <code>map_layer_name</code>.</li> <li>Fixed an issue where new LookML did not recognize <code>day_of_year</code>.</li> <li>The LookML conversion now automatically translates <code>date_date</code> to <code>date</code>.</li> <li>The LookML converter will no longer fail when there are ambiguous names.</li> <li>Fixed an issue related to pasting into the IDE.</li> <li>The IDE no longer autosuggests immediately upon return.</li> </ul> <h3>Visualization Fixes</h3> <ul> <li>Fixed an issue related to drilling from pie charts.</li> <li>Fixed an issue related to axis label rotation on bar charts.</li> <li>Fixed several trend line related issues.</li> </ul> <h3>Rendering Fixes</h3> <ul> <li>Fixed an issue where text elements could break LookML dashboard downloads.</li> <li>Fixed an issue where automagic heatmaps could not plot data.</li> </ul> <h3>Dialect-specific Fixes</h3> <ul> <li>Fixed an issue with MSSQL related to using a relative date filter with a non-US server default date format.</li> <li>Fixed an issue related to using Custom Filters in Vertica.</li> <li>Fixed an issue related to Symmetric Aggregates on BigQuery Standard SQL. <ul> <li>Fixed an issue where LookML dashboards could not be copied into a Space.</li> <li>Fixed an issue where the LookML Validator errored if the <code>raw</code> timeframe is used in a set of filters.</li> <li>Fixed an issue where the save modal would not load for certain users.</li> <li>Fixed an issue where the chat window duplicated on the Look page and the Edit modal.</li> </ul></li> </ul> <!-- @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ --> <h1>Looker 4.0 <span style="float:right;">2016-10-23</span></h1> <h2>LookML & Development Environment</h2> <ul> <li><strong>LookML.</strong> Introduced a newer LookML syntax that borrows from the existing “YAML-style” LookML syntax, but brings three key improvements to the table. <a href="https://web.archive.org/web/20210801174332/https://discourse.looker.com/t/new-lookml-why/3531">Learn more</a>. <ul> <li><strong>Indentation no longer defines hierarchy.</strong> Tab as you please (or don’t) without fear of parse errors or applying a parameter to the wrong object.</li> <li><strong>It is more consistent.</strong> No more debating the “proper” way to define a list or when to quote something.</li> <li><strong>LookML has meaning.</strong> YAML provides syntax, but has no concept of relationships or rules. LookML now knows that a dimension can’t be of <code>type: sum</code>.</li> </ul></li> <li><strong>Development environment.</strong> The improvements to the LookML syntax allow for a revamped IDE development environment. <a href="https://web.archive.org/web/20210801174332/https://discourse.looker.com/t/new-lookml-deep-dive-into-the-new-syntax-and-the-new-ide/3539">Learn more</a>. The new IDE includes: <ul> <li><strong>Autosuggest and autocompletion.</strong> Only valid parameters and values are proposed, helping you compose new LookML quickly and accurately.</li> <li><strong>On-the-fly error checking.</strong> Just like your spell checker, the IDE will let you know that you’ve declared a <code>dimesnion</code> rather than a <code>dimension</code> without having to run the full LookML Validator.</li> <li><strong>A context-sensitive help pane.</strong> Dynamically updates to show you documentation relevant to what you’re working on.</li> <li><strong>Automatic formatting</strong> to keep things looking good.</li> <li><strong>Folding</strong> to help you focus on what you’re working on rather than getting lost in the entire file.</li> <li><strong>A LookML converter</strong> to help you transition from YAML-style LookML to the new refreshed syntax. <a href="https://web.archive.org/web/20210801174332/https://help.looker.com/hc/en-us/articles/360023640154-New-LookML-How-to-Convert-a-YAML-LookML-Project">Learn more</a>.</li> </ul></li> </ul> <blockquote> <p><strong>Note</strong> that because of LookML’s more defined meaning, the LookML Validator may expose errors that were not previously surfaced. Even error-free YAML-style LookML model conversion requires developer coordination and should be viewed as a short project rather than a flip of a switch. Additionally, upon conversion all persistent derived tables will rebuild, so <strong>please set aside some time for conversion to ensure the process is as seamless as possible.</strong> <a href="https://web.archive.org/web/20210801174332/https://help.looker.com/hc/en-us/articles/360023640154-New-LookML-How-to-Convert-a-YAML-LookML-Project">Learn more</a>.</p> </blockquote> <h2>Looker Platform</h2> <ul> <li><strong>API</strong> <ul> <li><strong>Public API documentation.</strong> The API now has public documentation. <a href="/web/20210801174332/https://docs.looker.com/reference/api-and-integration/api-getting-started">Learn more</a>.</li> <li><strong>Stable endpoints.</strong></li> </ul></li> <li><strong>Data actions.</strong> Introducing the ability to create custom tasks directly inside of Looker using query results. <a href="https://web.archive.org/web/20210801174332/https://discourse.looker.com/t/looker-data-actions/3573">Learn more</a>.</li> </ul> <h2>Explore</h2> <ul> <li><strong>Dimension fill.</strong> The results table now populates with missing date, yesno, and many other dimensional values. Associated measures are given values of null. <a href="https://web.archive.org/web/20210801174332/https://discourse.looker.com/t/introducing-dimension-fill-for-query-results/3557">Learn more</a>.</li> <li><strong>Added “Save & Schedule” option.</strong> Users will be prompted to save their query as a Look and then be taken directly to the Schedule modal.</li> </ul> <h2>Looker Design</h2> <ul> <li><strong>Updated Colors</strong> to use white backgrounds and new button styles and colors.</li> <li><strong>Added “Explore From Here” link in Spaces.</strong> This shortcut takes users directly to a Look’s Explore page equivalent for faster exploration.</li> </ul> <h2>Visualizations</h2> <ul> <li><strong>Series tab for pie charts, donut multiples, and table visualizations.</strong> Implemented the Series tab, previously only available on Cartesian charts, for pie charts, donut multiples, and table visualizations, which replaces the Style tab’s key-value pair method for changing colors and column labels.</li> <li><strong>Visual Drilling.</strong> Added a visualization option to the drill overlay, selectable when drilling from a visualization. <a href="https://web.archive.org/web/20210801174332/https://discourse.looker.com/t/visual-drilling/3574">Learn more</a>.</li> <li><strong>Pivots no longer require a second dimension.</strong></li> <li><strong>Introduced labels for Trend Lines.</strong></li> </ul> <h2>Scheduling & Downloading</h2> <blockquote> <p><i class="material-icons">flash_on</i> <strong><a href="https://web.archive.org/web/20210801174332/https://discourse.looker.com/t/installing-phantomjs-for-pdf-download-scheduling-and-scheduled-visualizations/419">Looker 4.0 requires PhantomJS 2.1.1.</a></strong></p> </blockquote> <ul> <li><strong>Image Rendering.</strong> Added the ability to download an image of the visualization from a Look, Explore, or a dashboard.</li> <li><strong>Added a progress page for downloading tasks.</strong></li> <li><strong>Access filters on scheduled dashboards.</strong> Added an Admin option to run scheduled tasks as the recipient, applying access filters to the dashboard’s queries. <a href="https://web.archive.org/web/20210801174332/https://discourse.looker.com/t/run-schedule-as-recipient/3578">Learn more</a>.</li> <li><strong>Multiple schedules.</strong> Added the ability to create multiple, differently filtered schedules via the API.</li> <li><strong>Larger scheduled result sets.</strong> Added the ability to schedule queries with no limit to S3 via the API.</li> </ul> <h2>Dialects</h2> <ul> <li><i class="material-icons">flash_on</i> <strong>Spark.</strong> <ul> <li><strong>Added support for Spark 2.0</strong> including symmetric aggregates and PDTs.</li> <li><strong>Spark 1.6.</strong> Added support for symmetric aggregates.</li> <li><i class="material-icons">flash_on</i> <strong>Removed support for Spark 1.4.</strong></li> </ul></li> <li><strong>Hive.</strong> Added full support for <code>datatype: date</code>.</li> </ul> <h2>General Tweaks & Bug Fixes</h2> <ul> <li><strong>Added Admin panel option to disable backups.</strong></li> <li><strong>Admins can now make any Space their default Space.</strong></li> <li><strong>Other Issues</strong> <ul> <li>Fixed an issue where the instant dashboards could not pull correctly from cache.</li> <li>Fixed an issue where Liquid templating constants did not work properly.</li> <li>Fixed an issue where not all values pasted into a filter would appear.</li> <li>Fixed an issue where visualizations containing Trend Lines did not properly render with data containing zeros.</li> <li>Fixed an issue where Admins were unable to view users who do not use email authentication.</li> <li>Fixed an issue where users would be removed from their personal Space after switching to a Closed System.</li> </ul></li> </ul> </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/20210801174332/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/20210801174332/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/20210801174332/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/20210801174332/https://looker.com/privacy">Privacy Policy</a> | <a href="https://web.archive.org/web/20210801174332/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/20210801174332js_/https://docs.looker.com/_themes/docs/js/article.js?v=1"></script> <!-- FILE ARCHIVED ON 17:43:32 Aug 01, 2021 AND RETRIEVED FROM THE INTERNET ARCHIVE ON 19:47:55 Mar 02, 2025. 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.498 exclusion.robots: 0.026 exclusion.robots.policy: 0.017 esindex: 0.009 cdx.remote: 14.519 LoadShardBlock: 146.957 (3) PetaboxLoader3.datanode: 122.908 (4) PetaboxLoader3.resolve: 270.174 (2) load_resource: 267.324 -->