CINXE.COM
Enhance Data Insights with Lightning Dashboards | Salesforce Trailhead
<!DOCTYPE html> <html lang='en'> <head> <script src="/packs/js/error-reporting-93d9ad36a41290793e78.js"></script> <script type="importmap" data-turbo-track="reload">{ "imports": { "application": "/assets/application-43e67554b65a3d71cb2cc4e0bfb000eab664a98f2dacc01d456aeb8c49e7aab2.js", "@hotwired/turbo-rails": "/assets/@hotwired--turbo-rails-adc29aa8f8a030ffa92ade5b553f89b1a4ae10676c3e4a0b01d9748c133b3942.js", "@hotwired/turbo": "/assets/@hotwired--turbo-b61d77ef2858c8bd38af6c8930b19807d2005934fb8ce48bc2446277639325bf.js", "@rails/actioncable/src": "/assets/@rails--actioncable--src-afd872b90019e6e7e78bc2dccb876c7cb89626d3f9bedc1c781579eae9b8a05b.js", "@hotwired/stimulus": "/assets/stimulus.min-d0cc09fde2fe26e659ee153c59c6838a8d8cbc9bb2ca9116a7d5c0cb6d8c2def.js", "@hotwired/stimulus-loading": "/assets/stimulus-loading-b3a1143d54e5e70612a391e9046013c47906eea23924a86ca6aaf46b77c383f9.js", "controllers/application": "/assets/controllers/application-412b06f3638c99a754e598dabb79f85f16c261c52f019b2f412934dc0bb86071.js", "controllers/button_link_controller": "/assets/controllers/button_link_controller-3c8b84956078dc6e943a3c0443fe75d00da028768915a81a8cb05125f2817415.js", "controllers": "/assets/controllers/index-b3f0ee67c2a150ddd7258bd94e78ae00fa1a134507f969aceb055bb08f678c6d.js", "controllers/modal_controller": "/assets/controllers/modal_controller-6c969d7c3248e7b6310fd85cc94377ad8fefa6475849d91ad3813c37ae3066cf.js", "controllers/sfdc_product_links_controller": "/assets/controllers/sfdc_product_links_controller-5ade6188fb30580b5b5484d21d63aa58bc009d2b5de269ccf181b97cb16faa27.js" } }</script> <link rel="modulepreload" href="/assets/application-43e67554b65a3d71cb2cc4e0bfb000eab664a98f2dacc01d456aeb8c49e7aab2.js"> <link rel="modulepreload" href="/assets/@hotwired--turbo-rails-adc29aa8f8a030ffa92ade5b553f89b1a4ae10676c3e4a0b01d9748c133b3942.js"> <link rel="modulepreload" href="/assets/@hotwired--turbo-b61d77ef2858c8bd38af6c8930b19807d2005934fb8ce48bc2446277639325bf.js"> <link rel="modulepreload" href="/assets/@rails--actioncable--src-afd872b90019e6e7e78bc2dccb876c7cb89626d3f9bedc1c781579eae9b8a05b.js"> <link rel="modulepreload" href="/assets/stimulus.min-d0cc09fde2fe26e659ee153c59c6838a8d8cbc9bb2ca9116a7d5c0cb6d8c2def.js"> <link rel="modulepreload" href="/assets/stimulus-loading-b3a1143d54e5e70612a391e9046013c47906eea23924a86ca6aaf46b77c383f9.js"> <link rel="modulepreload" href="/assets/controllers/application-412b06f3638c99a754e598dabb79f85f16c261c52f019b2f412934dc0bb86071.js"> <link rel="modulepreload" href="/assets/controllers/button_link_controller-3c8b84956078dc6e943a3c0443fe75d00da028768915a81a8cb05125f2817415.js"> <link rel="modulepreload" href="/assets/controllers/index-b3f0ee67c2a150ddd7258bd94e78ae00fa1a134507f969aceb055bb08f678c6d.js"> <link rel="modulepreload" href="/assets/controllers/modal_controller-6c969d7c3248e7b6310fd85cc94377ad8fefa6475849d91ad3813c37ae3066cf.js"> <link rel="modulepreload" href="/assets/controllers/sfdc_product_links_controller-5ade6188fb30580b5b5484d21d63aa58bc009d2b5de269ccf181b97cb16faa27.js"> <script type="module">import "application"</script> <!-- = OneTrust Cookies Consent Notice --> <script src="/assets/cookie_consent-8c8312a57ff2dee1287aa6cb165f161b18dfe6c37fbb3185b3d0075550244858.js"></script> <script src="https://a.sfdcstatic.com/digital/one-trust/core/stable/scripttemplates/otSDKStub.js" crossorigin="" data-domain-script="8e783e8c-0ad0-475d-8fca-4a03afa0a02a" async="async"></script> <meta content='#ffffff' name='msapplication-TileColor'> <meta content='browserconfig.xml' name='msapplication-config'> <meta content='#ffffff' name='theme-color'> <link href='/apple-touch-icon-57x57.png' rel='apple-touch-icon' sizes='57x57'> <link href='/apple-touch-icon-60x60.png' rel='apple-touch-icon' sizes='60x60'> <link href='/apple-touch-icon-72x72.png' rel='apple-touch-icon' sizes='72x72'> <link href='/apple-touch-icon-76x76.png' rel='apple-touch-icon' sizes='76x76'> <link href='/apple-touch-icon-114x114.png' rel='apple-touch-icon' sizes='114x114'> <link href='/apple-touch-icon-120x120.png' rel='apple-touch-icon' sizes='120x120'> <link href='/apple-touch-icon-144x144.png' rel='apple-touch-icon' sizes='144x144'> <link href='/apple-touch-icon-152x152.png' rel='apple-touch-icon' sizes='152x152'> <link href='/apple-touch-icon-180x180.png' rel='apple-touch-icon' sizes='180x180'> <link href='/android-chrome-192x192.png' rel='icon' sizes='192x192' type='image/png'> <link href='/site.webmanifest' rel='manifest'> <link color='#ffffff' href='/safari-pinned-tab.svg' rel='mask-icon'> <link href='/favicon-32x32.png' rel='icon' sizes='32x32' type='image/png'> <link href='/favicon-16x16.png' rel='icon' sizes='16x16' type='image/png'> <link href='/favicon.ico' rel='shortcut icon'> <title>Enhance Data Insights with Lightning Dashboards | Salesforce Trailhead</title> <meta name="description" content="Learn to create powerful Salesforce Lightning dashboards for better data visualization and informed business decisions. Build and customize with ease."> <meta name="twitter:card" content="summary"> <meta name="twitter:site" content="@trailhead"> <meta property="fb:app_id" content="140586622674265"> <meta property="og:site_name" content="Trailhead"> <meta property="og:title" content="Enhance Data Insights with Lightning Dashboards | Salesforce Trailhead"> <meta property="og:description" content="Learn to create powerful Salesforce Lightning dashboards for better data visualization and informed business decisions. Build and customize with ease."> <meta property="og:image" content="https://res.cloudinary.com/hy4kyit2a/f_auto,fl_lossy,q_70/learn/modules/lex_implementation_reports_dashboards/9dd7e1eb6612e9e04ec9e98ddb46e44c_badge.png"> <meta property="og:image:url" content="https://res.cloudinary.com/hy4kyit2a/f_auto,fl_lossy,q_70/learn/modules/lex_implementation_reports_dashboards/9dd7e1eb6612e9e04ec9e98ddb46e44c_badge.png"> <meta property="og:image:height" content="250"> <meta property="og:image:width" content="250"> <meta property="og:type" content="website"> <meta property="og:url" content="https://trailhead.salesforce.com/content/learn/modules/lex_implementation_reports_dashboards/lex_implementation_reports_dashboards_visualizing_data"> <meta name="url" content="https://trailhead.salesforce.com/content/learn/modules/lex_implementation_reports_dashboards/lex_implementation_reports_dashboards_visualizing_data"> <meta name="csrf-param" content="authenticity_token" /> <meta name="csrf-token" content="4xSTQbKbAHZt3cGsh-iMdqRKanH1D6ajwiOm0XqDNp99AwVzJyv2bptiq0lzXOl3jX0mE831Jx_GH-j0IGmo3g" /> <meta content='text/html; charset=UTF-8' http-equiv='Content-Type'> <script type="text/javascript">window.NREUM||(NREUM={});NREUM.info={"beacon":"bam.nr-data.net","errorBeacon":"bam.nr-data.net","licenseKey":"NRBR-b554e5db741e07abbb3","applicationID":"506536273","transactionName":"cFxaREcJCVsARk4TWFpHRx9GDgpA","queueTime":1,"applicationTime":203,"agent":""}</script> <script type="text/javascript">(window.NREUM||(NREUM={})).init={privacy:{cookies_enabled:true},ajax:{deny_list:["bam.nr-data.net"]},distributed_tracing:{enabled:true}};(window.NREUM||(NREUM={})).loader_config={agentID:"594513438",accountID:"533461",trustKey:"194015",xpid:"UQUEVVBSGwYAUlRRAQMAVQ==",licenseKey:"NRBR-b554e5db741e07abbb3",applicationID:"506536273"};;/*! For license information please see nr-loader-spa-1.274.0.min.js.LICENSE.txt */ (()=>{var e,t,r={8122:(e,t,r)=>{"use strict";r.d(t,{a:()=>i});var n=r(944);function i(e,t){try{if(!e||"object"!=typeof e)return(0,n.R)(3);if(!t||"object"!=typeof t)return(0,n.R)(4);const r=Object.create(Object.getPrototypeOf(t),Object.getOwnPropertyDescriptors(t)),o=0===Object.keys(r).length?e:r;for(let a in o)if(void 0!==e[a])try{if(null===e[a]){r[a]=null;continue}Array.isArray(e[a])&&Array.isArray(t[a])?r[a]=Array.from(new Set([...e[a],...t[a]])):"object"==typeof e[a]&&"object"==typeof t[a]?r[a]=i(e[a],t[a]):r[a]=e[a]}catch(e){(0,n.R)(1,e)}return r}catch(e){(0,n.R)(2,e)}}},2555:(e,t,r)=>{"use strict";r.d(t,{Vp:()=>c,fn:()=>s,x1:()=>u});var n=r(384),i=r(8122);const o={beacon:n.NT.beacon,errorBeacon:n.NT.errorBeacon,licenseKey:void 0,applicationID:void 0,sa:void 0,queueTime:void 0,applicationTime:void 0,ttGuid:void 0,user:void 0,account:void 0,product:void 0,extra:void 0,jsAttributes:{},userAttributes:void 0,atts:void 0,transactionName:void 0,tNamePlain:void 0},a={};function s(e){try{const t=c(e);return!!t.licenseKey&&!!t.errorBeacon&&!!t.applicationID}catch(e){return!1}}function c(e){if(!e)throw new Error("All info objects require an agent identifier!");if(!a[e])throw new Error("Info for ".concat(e," was never set"));return a[e]}function u(e,t){if(!e)throw new Error("All info objects require an agent identifier!");a[e]=(0,i.a)(t,o);const r=(0,n.nY)(e);r&&(r.info=a[e])}},9417:(e,t,r)=>{"use strict";r.d(t,{D0:()=>h,gD:()=>g,xN:()=>p});var n=r(993);const i=e=>{if(!e||"string"!=typeof e)return!1;try{document.createDocumentFragment().querySelector(e)}catch{return!1}return!0};var o=r(2614),a=r(944),s=r(384),c=r(8122);const u="[data-nr-mask]",d=()=>{const e={mask_selector:"*",block_selector:"[data-nr-block]",mask_input_options:{color:!1,date:!1,"datetime-local":!1,email:!1,month:!1,number:!1,range:!1,search:!1,tel:!1,text:!1,time:!1,url:!1,week:!1,textarea:!1,select:!1,password:!0}};return{ajax:{deny_list:void 0,block_internal:!0,enabled:!0,harvestTimeSeconds:10,autoStart:!0},distributed_tracing:{enabled:void 0,exclude_newrelic_header:void 0,cors_use_newrelic_header:void 0,cors_use_tracecontext_headers:void 0,allowed_origins:void 0},feature_flags:[],generic_events:{enabled:!0,harvestTimeSeconds:30,autoStart:!0},harvest:{tooManyRequestsDelay:60},jserrors:{enabled:!0,harvestTimeSeconds:10,autoStart:!0},logging:{enabled:!0,harvestTimeSeconds:10,autoStart:!0,level:n.p_.INFO},metrics:{enabled:!0,autoStart:!0},obfuscate:void 0,page_action:{enabled:!0},page_view_event:{enabled:!0,autoStart:!0},page_view_timing:{enabled:!0,harvestTimeSeconds:30,autoStart:!0},performance:{capture_marks:!1,capture_measures:!1},privacy:{cookies_enabled:!0},proxy:{assets:void 0,beacon:void 0},session:{expiresMs:o.wk,inactiveMs:o.BB},session_replay:{autoStart:!0,enabled:!1,harvestTimeSeconds:60,preload:!1,sampling_rate:10,error_sampling_rate:100,collect_fonts:!1,inline_images:!1,fix_stylesheets:!0,mask_all_inputs:!0,get mask_text_selector(){return e.mask_selector},set mask_text_selector(t){i(t)?e.mask_selector="".concat(t,",").concat(u):""===t||null===t?e.mask_selector=u:(0,a.R)(5,t)},get block_class(){return"nr-block"},get ignore_class(){return"nr-ignore"},get mask_text_class(){return"nr-mask"},get block_selector(){return e.block_selector},set block_selector(t){i(t)?e.block_selector+=",".concat(t):""!==t&&(0,a.R)(6,t)},get mask_input_options(){return e.mask_input_options},set mask_input_options(t){t&&"object"==typeof t?e.mask_input_options={...t,password:!0}:(0,a.R)(7,t)}},session_trace:{enabled:!0,harvestTimeSeconds:10,autoStart:!0},soft_navigations:{enabled:!0,harvestTimeSeconds:10,autoStart:!0},spa:{enabled:!0,harvestTimeSeconds:10,autoStart:!0},ssl:void 0,user_actions:{enabled:!0}}},l={},f="All configuration objects require an agent identifier!";function h(e){if(!e)throw new Error(f);if(!l[e])throw new Error("Configuration for ".concat(e," was never set"));return l[e]}function p(e,t){if(!e)throw new Error(f);l[e]=(0,c.a)(t,d());const r=(0,s.nY)(e);r&&(r.init=l[e])}function g(e,t){if(!e)throw new Error(f);var r=h(e);if(r){for(var n=t.split("."),i=0;i<n.length-1;i++)if("object"!=typeof(r=r[n[i]]))return;r=r[n[n.length-1]]}return r}},5603:(e,t,r)=>{"use strict";r.d(t,{a:()=>c,o:()=>s});var n=r(384),i=r(8122);const o={accountID:void 0,trustKey:void 0,agentID:void 0,licenseKey:void 0,applicationID:void 0,xpid:void 0},a={};function s(e){if(!e)throw new Error("All loader-config objects require an agent identifier!");if(!a[e])throw new Error("LoaderConfig for ".concat(e," was never set"));return a[e]}function c(e,t){if(!e)throw new Error("All loader-config objects require an agent identifier!");a[e]=(0,i.a)(t,o);const r=(0,n.nY)(e);r&&(r.loader_config=a[e])}},3371:(e,t,r)=>{"use strict";r.d(t,{V:()=>f,f:()=>l});var n=r(8122),i=r(384),o=r(6154),a=r(9324);let s=0;const c={buildEnv:a.F3,distMethod:a.Xs,version:a.xv,originTime:o.WN},u={customTransaction:void 0,disabled:!1,isolatedBacklog:!1,loaderType:void 0,maxBytes:3e4,onerror:void 0,ptid:void 0,releaseIds:{},appMetadata:{},session:void 0,denyList:void 0,timeKeeper:void 0,obfuscator:void 0},d={};function l(e){if(!e)throw new Error("All runtime objects require an agent identifier!");if(!d[e])throw new Error("Runtime for ".concat(e," was never set"));return d[e]}function f(e,t){if(!e)throw new Error("All runtime objects require an agent identifier!");d[e]={...(0,n.a)(t,u),...c},Object.hasOwnProperty.call(d[e],"harvestCount")||Object.defineProperty(d[e],"harvestCount",{get:()=>++s});const r=(0,i.nY)(e);r&&(r.runtime=d[e])}},9324:(e,t,r)=>{"use strict";r.d(t,{F3:()=>i,Xs:()=>o,Yq:()=>a,xv:()=>n});const n="1.274.0",i="PROD",o="CDN",a="^2.0.0-alpha.17"},6154:(e,t,r)=>{"use strict";r.d(t,{A4:()=>s,OF:()=>d,RI:()=>i,WN:()=>h,bv:()=>o,gm:()=>a,lR:()=>f,m:()=>u,mw:()=>c,sb:()=>l});var n=r(1863);const i="undefined"!=typeof window&&!!window.document,o="undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self.navigator instanceof WorkerNavigator||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis.navigator instanceof WorkerNavigator),a=i?window:"undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis),s="complete"===a?.document?.readyState,c=Boolean("hidden"===a?.document?.visibilityState),u=""+a?.location,d=/iPad|iPhone|iPod/.test(a.navigator?.userAgent),l=d&&"undefined"==typeof SharedWorker,f=(()=>{const e=a.navigator?.userAgent?.match(/Firefox[/\s](\d+\.\d+)/);return Array.isArray(e)&&e.length>=2?+e[1]:0})(),h=Date.now()-(0,n.t)()},7295:(e,t,r)=>{"use strict";r.d(t,{Xv:()=>a,gX:()=>i,iW:()=>o});var n=[];function i(e){if(!e||o(e))return!1;if(0===n.length)return!0;for(var t=0;t<n.length;t++){var r=n[t];if("*"===r.hostname)return!1;if(s(r.hostname,e.hostname)&&c(r.pathname,e.pathname))return!1}return!0}function o(e){return void 0===e.hostname}function a(e){if(n=[],e&&e.length)for(var t=0;t<e.length;t++){let r=e[t];if(!r)continue;0===r.indexOf("http://")?r=r.substring(7):0===r.indexOf("https://")&&(r=r.substring(8));const i=r.indexOf("/");let o,a;i>0?(o=r.substring(0,i),a=r.substring(i)):(o=r,a="");let[s]=o.split(":");n.push({hostname:s,pathname:a})}}function s(e,t){return!(e.length>t.length)&&t.indexOf(e)===t.length-e.length}function c(e,t){return 0===e.indexOf("/")&&(e=e.substring(1)),0===t.indexOf("/")&&(t=t.substring(1)),""===e||e===t}},1687:(e,t,r)=>{"use strict";r.d(t,{Ak:()=>c,Ze:()=>l,x3:()=>u});var n=r(7836),i=r(3606),o=r(860),a=r(2646);const s={};function c(e,t){const r={staged:!1,priority:o.P3[t]||0};d(e),s[e].get(t)||s[e].set(t,r)}function u(e,t){e&&s[e]&&(s[e].get(t)&&s[e].delete(t),h(e,t,!1),s[e].size&&f(e))}function d(e){if(!e)throw new Error("agentIdentifier required");s[e]||(s[e]=new Map)}function l(e="",t="feature",r=!1){if(d(e),!e||!s[e].get(t)||r)return h(e,t);s[e].get(t).staged=!0,f(e)}function f(e){const t=Array.from(s[e]);t.every((([e,t])=>t.staged))&&(t.sort(((e,t)=>e[1].priority-t[1].priority)),t.forEach((([t])=>{s[e].delete(t),h(e,t)})))}function h(e,t,r=!0){const o=e?n.ee.get(e):n.ee,s=i.i.handlers;if(!o.aborted&&o.backlog&&s){if(r){const e=o.backlog[t],r=s[t];if(r){for(let t=0;e&&t<e.length;++t)p(e[t],r);Object.entries(r).forEach((([e,t])=>{Object.values(t||{}).forEach((t=>{t[0]?.on&&t[0]?.context()instanceof a.y&&t[0].on(e,t[1])}))}))}}o.isolatedBacklog||delete s[t],o.backlog[t]=null,o.emit("drain-"+t,[])}}function p(e,t){var r=e[1];Object.values(t[r]||{}).forEach((t=>{var r=e[0];if(t[0]===r){var n=t[1],i=e[3],o=e[2];n.apply(i,o)}}))}},7836:(e,t,r)=>{"use strict";r.d(t,{P:()=>c,ee:()=>u});var n=r(384),i=r(8990),o=r(3371),a=r(2646),s=r(5607);const c="nr@context:".concat(s.W),u=function e(t,r){var n={},s={},d={},l=!1;try{l=16===r.length&&(0,o.f)(r).isolatedBacklog}catch(e){}var f={on:p,addEventListener:p,removeEventListener:function(e,t){var r=n[e];if(!r)return;for(var i=0;i<r.length;i++)r[i]===t&&r.splice(i,1)},emit:function(e,r,n,i,o){!1!==o&&(o=!0);if(u.aborted&&!i)return;t&&o&&t.emit(e,r,n);for(var a=h(n),c=g(e),d=c.length,l=0;l<d;l++)c[l].apply(a,r);var p=v()[s[e]];p&&p.push([f,e,r,a]);return a},get:m,listeners:g,context:h,buffer:function(e,t){const r=v();if(t=t||"feature",f.aborted)return;Object.entries(e||{}).forEach((([e,n])=>{s[n]=t,t in r||(r[t]=[])}))},abort:function(){f._aborted=!0,Object.keys(f.backlog).forEach((e=>{delete f.backlog[e]}))},isBuffering:function(e){return!!v()[s[e]]},debugId:r,backlog:l?{}:t&&"object"==typeof t.backlog?t.backlog:{},isolatedBacklog:l};return Object.defineProperty(f,"aborted",{get:()=>{let e=f._aborted||!1;return e||(t&&(e=t.aborted),e)}}),f;function h(e){return e&&e instanceof a.y?e:e?(0,i.I)(e,c,(()=>new a.y(c))):new a.y(c)}function p(e,t){n[e]=g(e).concat(t)}function g(e){return n[e]||[]}function m(t){return d[t]=d[t]||e(f,t)}function v(){return f.backlog}}(void 0,"globalEE"),d=(0,n.Zm)();d.ee||(d.ee=u)},2646:(e,t,r)=>{"use strict";r.d(t,{y:()=>n});class n{constructor(e){this.contextId=e}}},9908:(e,t,r)=>{"use strict";r.d(t,{d:()=>n,p:()=>i});var n=r(7836).ee.get("handle");function i(e,t,r,i,o){o?(o.buffer([e],i),o.emit(e,t,r)):(n.buffer([e],i),n.emit(e,t,r))}},3606:(e,t,r)=>{"use strict";r.d(t,{i:()=>o});var n=r(9908);o.on=a;var i=o.handlers={};function o(e,t,r,o){a(o||n.d,i,e,t,r)}function a(e,t,r,i,o){o||(o="feature"),e||(e=n.d);var a=t[o]=t[o]||{};(a[r]=a[r]||[]).push([e,i])}},3878:(e,t,r)=>{"use strict";function n(e,t){return{capture:e,passive:!1,signal:t}}function i(e,t,r=!1,i){window.addEventListener(e,t,n(r,i))}function o(e,t,r=!1,i){document.addEventListener(e,t,n(r,i))}r.d(t,{DD:()=>o,jT:()=>n,sp:()=>i})},5607:(e,t,r)=>{"use strict";r.d(t,{W:()=>n});const n=(0,r(9566).bz)()},9566:(e,t,r)=>{"use strict";r.d(t,{LA:()=>s,ZF:()=>c,bz:()=>a,el:()=>u});var n=r(6154);const i="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx";function o(e,t){return e?15&e[t]:16*Math.random()|0}function a(){const e=n.gm?.crypto||n.gm?.msCrypto;let t,r=0;return e&&e.getRandomValues&&(t=e.getRandomValues(new Uint8Array(30))),i.split("").map((e=>"x"===e?o(t,r++).toString(16):"y"===e?(3&o()|8).toString(16):e)).join("")}function s(e){const t=n.gm?.crypto||n.gm?.msCrypto;let r,i=0;t&&t.getRandomValues&&(r=t.getRandomValues(new Uint8Array(e)));const a=[];for(var s=0;s<e;s++)a.push(o(r,i++).toString(16));return a.join("")}function c(){return s(16)}function u(){return s(32)}},2614:(e,t,r)=>{"use strict";r.d(t,{BB:()=>a,H3:()=>n,g:()=>u,iL:()=>c,tS:()=>s,uh:()=>i,wk:()=>o});const n="NRBA",i="SESSION",o=144e5,a=18e5,s={STARTED:"session-started",PAUSE:"session-pause",RESET:"session-reset",RESUME:"session-resume",UPDATE:"session-update"},c={SAME_TAB:"same-tab",CROSS_TAB:"cross-tab"},u={OFF:0,FULL:1,ERROR:2}},1863:(e,t,r)=>{"use strict";function n(){return Math.floor(performance.now())}r.d(t,{t:()=>n})},7485:(e,t,r)=>{"use strict";r.d(t,{D:()=>i});var n=r(6154);function i(e){if(0===(e||"").indexOf("data:"))return{protocol:"data"};try{const t=new URL(e,location.href),r={port:t.port,hostname:t.hostname,pathname:t.pathname,search:t.search,protocol:t.protocol.slice(0,t.protocol.indexOf(":")),sameOrigin:t.protocol===n.gm?.location?.protocol&&t.host===n.gm?.location?.host};return r.port&&""!==r.port||("http:"===t.protocol&&(r.port="80"),"https:"===t.protocol&&(r.port="443")),r.pathname&&""!==r.pathname?r.pathname.startsWith("/")||(r.pathname="/".concat(r.pathname)):r.pathname="/",r}catch(e){return{}}}},944:(e,t,r)=>{"use strict";function n(e,t){"function"==typeof console.debug&&console.debug("New Relic Warning: https://github.com/newrelic/newrelic-browser-agent/blob/main/docs/warning-codes.md#".concat(e),t)}r.d(t,{R:()=>n})},5284:(e,t,r)=>{"use strict";r.d(t,{t:()=>c,B:()=>s});var n=r(7836),i=r(6154);const o="newrelic";const a=new Set,s={};function c(e,t){const r=n.ee.get(t);s[t]??={},e&&"object"==typeof e&&(a.has(t)||(r.emit("rumresp",[e]),s[t]=e,a.add(t),function(e={}){try{i.gm.dispatchEvent(new CustomEvent(o,{detail:e}))}catch(e){}}({loaded:!0})))}},8990:(e,t,r)=>{"use strict";r.d(t,{I:()=>i});var n=Object.prototype.hasOwnProperty;function i(e,t,r){if(n.call(e,t))return e[t];var i=r();if(Object.defineProperty&&Object.keys)try{return Object.defineProperty(e,t,{value:i,writable:!0,enumerable:!1}),i}catch(e){}return e[t]=i,i}},6389:(e,t,r)=>{"use strict";function n(e,t=500,r={}){const n=r?.leading||!1;let i;return(...r)=>{n&&void 0===i&&(e.apply(this,r),i=setTimeout((()=>{i=clearTimeout(i)}),t)),n||(clearTimeout(i),i=setTimeout((()=>{e.apply(this,r)}),t))}}function i(e){let t=!1;return(...r)=>{t||(t=!0,e.apply(this,r))}}r.d(t,{J:()=>i,s:()=>n})},3304:(e,t,r)=>{"use strict";r.d(t,{A:()=>o});var n=r(7836);const i=()=>{const e=new WeakSet;return(t,r)=>{if("object"==typeof r&&null!==r){if(e.has(r))return;e.add(r)}return r}};function o(e){try{return JSON.stringify(e,i())??""}catch(e){try{n.ee.emit("internal-error",[e])}catch(e){}return""}}},5289:(e,t,r)=>{"use strict";r.d(t,{GG:()=>o,sB:()=>a});var n=r(3878);function i(){return"undefined"==typeof document||"complete"===document.readyState}function o(e,t){if(i())return e();(0,n.sp)("load",e,t)}function a(e){if(i())return e();(0,n.DD)("DOMContentLoaded",e)}},384:(e,t,r)=>{"use strict";r.d(t,{NT:()=>o,US:()=>d,Zm:()=>a,bQ:()=>c,dV:()=>s,nY:()=>u,pV:()=>l});var n=r(6154),i=r(1863);const o={beacon:"bam.nr-data.net",errorBeacon:"bam.nr-data.net"};function a(){return n.gm.NREUM||(n.gm.NREUM={}),void 0===n.gm.newrelic&&(n.gm.newrelic=n.gm.NREUM),n.gm.NREUM}function s(){let e=a();return e.o||(e.o={ST:n.gm.setTimeout,SI:n.gm.setImmediate,CT:n.gm.clearTimeout,XHR:n.gm.XMLHttpRequest,REQ:n.gm.Request,EV:n.gm.Event,PR:n.gm.Promise,MO:n.gm.MutationObserver,FETCH:n.gm.fetch,WS:n.gm.WebSocket}),e}function c(e,t){let r=a();r.initializedAgents??={},t.initializedAt={ms:(0,i.t)(),date:new Date},r.initializedAgents[e]=t}function u(e){let t=a();return t.initializedAgents?.[e]}function d(e,t){a()[e]=t}function l(){return function(){let e=a();const t=e.info||{};e.info={beacon:o.beacon,errorBeacon:o.errorBeacon,...t}}(),function(){let e=a();const t=e.init||{};e.init={...t}}(),s(),function(){let e=a();const t=e.loader_config||{};e.loader_config={...t}}(),a()}},2843:(e,t,r)=>{"use strict";r.d(t,{u:()=>i});var n=r(3878);function i(e,t=!1,r,i){(0,n.DD)("visibilitychange",(function(){if(t)return void("hidden"===document.visibilityState&&e());e(document.visibilityState)}),r,i)}},8139:(e,t,r)=>{"use strict";r.d(t,{u:()=>f});var n=r(7836),i=r(3434),o=r(8990),a=r(6154);const s={},c=a.gm.XMLHttpRequest,u="addEventListener",d="removeEventListener",l="nr@wrapped:".concat(n.P);function f(e){var t=function(e){return(e||n.ee).get("events")}(e);if(s[t.debugId]++)return t;s[t.debugId]=1;var r=(0,i.YM)(t,!0);function f(e){r.inPlace(e,[u,d],"-",p)}function p(e,t){return e[1]}return"getPrototypeOf"in Object&&(a.RI&&h(document,f),h(a.gm,f),h(c.prototype,f)),t.on(u+"-start",(function(e,t){var n=e[1];if(null!==n&&("function"==typeof n||"object"==typeof n)){var i=(0,o.I)(n,l,(function(){var e={object:function(){if("function"!=typeof n.handleEvent)return;return n.handleEvent.apply(n,arguments)},function:n}[typeof n];return e?r(e,"fn-",null,e.name||"anonymous"):n}));this.wrapped=e[1]=i}})),t.on(d+"-start",(function(e){e[1]=this.wrapped||e[1]})),t}function h(e,t,...r){let n=e;for(;"object"==typeof n&&!Object.prototype.hasOwnProperty.call(n,u);)n=Object.getPrototypeOf(n);n&&t(n,...r)}},3434:(e,t,r)=>{"use strict";r.d(t,{Jt:()=>o,YM:()=>c});var n=r(7836),i=r(5607);const o="nr@original:".concat(i.W);var a=Object.prototype.hasOwnProperty,s=!1;function c(e,t){return e||(e=n.ee),r.inPlace=function(e,t,n,i,o){n||(n="");const a="-"===n.charAt(0);for(let s=0;s<t.length;s++){const c=t[s],u=e[c];d(u)||(e[c]=r(u,a?c+n:n,i,c,o))}},r.flag=o,r;function r(t,r,n,s,c){return d(t)?t:(r||(r=""),nrWrapper[o]=t,function(e,t,r){if(Object.defineProperty&&Object.keys)try{return Object.keys(e).forEach((function(r){Object.defineProperty(t,r,{get:function(){return e[r]},set:function(t){return e[r]=t,t}})})),t}catch(e){u([e],r)}for(var n in e)a.call(e,n)&&(t[n]=e[n])}(t,nrWrapper,e),nrWrapper);function nrWrapper(){var o,a,d,l;try{a=this,o=[...arguments],d="function"==typeof n?n(o,a):n||{}}catch(t){u([t,"",[o,a,s],d],e)}i(r+"start",[o,a,s],d,c);try{return l=t.apply(a,o)}catch(e){throw i(r+"err",[o,a,e],d,c),e}finally{i(r+"end",[o,a,l],d,c)}}}function i(r,n,i,o){if(!s||t){var a=s;s=!0;try{e.emit(r,n,i,t,o)}catch(t){u([t,r,n,i],e)}s=a}}}function u(e,t){t||(t=n.ee);try{t.emit("internal-error",e)}catch(e){}}function d(e){return!(e&&"function"==typeof e&&e.apply&&!e[o])}},9300:(e,t,r)=>{"use strict";r.d(t,{T:()=>n});const n=r(860).K7.ajax},3333:(e,t,r)=>{"use strict";r.d(t,{TZ:()=>n,Zp:()=>i,mq:()=>s,nf:()=>a,qN:()=>o});const n=r(860).K7.genericEvents,i=["auxclick","click","copy","keydown","paste","scrollend"],o=["focus","blur"],a=4,s=1e3},6774:(e,t,r)=>{"use strict";r.d(t,{T:()=>n});const n=r(860).K7.jserrors},993:(e,t,r)=>{"use strict";r.d(t,{ET:()=>o,TZ:()=>a,p_:()=>i});var n=r(860);const i={ERROR:"ERROR",WARN:"WARN",INFO:"INFO",DEBUG:"DEBUG",TRACE:"TRACE"},o="log",a=n.K7.logging},3785:(e,t,r)=>{"use strict";r.d(t,{R:()=>c,b:()=>u});var n=r(9908),i=r(1863),o=r(860),a=r(3969),s=r(993);function c(e,t,r={},c=s.p_.INFO){(0,n.p)(a.xV,["API/logging/".concat(c.toLowerCase(),"/called")],void 0,o.K7.metrics,e),(0,n.p)(s.ET,[(0,i.t)(),t,r,c],void 0,o.K7.logging,e)}function u(e){return"string"==typeof e&&Object.values(s.p_).some((t=>t===e.toUpperCase().trim()))}},3969:(e,t,r)=>{"use strict";r.d(t,{TZ:()=>n,XG:()=>s,rs:()=>i,xV:()=>a,z_:()=>o});const n=r(860).K7.metrics,i="sm",o="cm",a="storeSupportabilityMetrics",s="storeEventMetrics"},6630:(e,t,r)=>{"use strict";r.d(t,{T:()=>n});const n=r(860).K7.pageViewEvent},782:(e,t,r)=>{"use strict";r.d(t,{T:()=>n});const n=r(860).K7.pageViewTiming},6344:(e,t,r)=>{"use strict";r.d(t,{BB:()=>d,G4:()=>o,Qb:()=>l,TZ:()=>i,Ug:()=>a,_s:()=>s,bc:()=>u,yP:()=>c});var n=r(2614);const i=r(860).K7.sessionReplay,o={RECORD:"recordReplay",PAUSE:"pauseReplay",REPLAY_RUNNING:"replayRunning",ERROR_DURING_REPLAY:"errorDuringReplay"},a=.12,s={DomContentLoaded:0,Load:1,FullSnapshot:2,IncrementalSnapshot:3,Meta:4,Custom:5},c={[n.g.ERROR]:15e3,[n.g.FULL]:3e5,[n.g.OFF]:0},u={RESET:{message:"Session was reset",sm:"Reset"},IMPORT:{message:"Recorder failed to import",sm:"Import"},TOO_MANY:{message:"429: Too Many Requests",sm:"Too-Many"},TOO_BIG:{message:"Payload was too large",sm:"Too-Big"},CROSS_TAB:{message:"Session Entity was set to OFF on another tab",sm:"Cross-Tab"},ENTITLEMENTS:{message:"Session Replay is not allowed and will not be started",sm:"Entitlement"}},d=5e3,l={API:"api"}},5270:(e,t,r)=>{"use strict";r.d(t,{Aw:()=>c,CT:()=>u,SR:()=>s});var n=r(384),i=r(9417),o=r(7767),a=r(6154);function s(e){return!!(0,n.dV)().o.MO&&(0,o.V)(e)&&!0===(0,i.gD)(e,"session_trace.enabled")}function c(e){return!0===(0,i.gD)(e,"session_replay.preload")&&s(e)}function u(e,t){const r=t.correctAbsoluteTimestamp(e);return{originalTimestamp:e,correctedTimestamp:r,timestampDiff:e-r,originTime:a.WN,correctedOriginTime:t.correctedOriginTime,originTimeDiff:Math.floor(a.WN-t.correctedOriginTime)}}},3738:(e,t,r)=>{"use strict";r.d(t,{He:()=>i,Kp:()=>s,Lc:()=>u,Rz:()=>d,TZ:()=>n,bD:()=>o,d3:()=>a,jx:()=>l,uP:()=>c});const n=r(860).K7.sessionTrace,i="bstResource",o="resource",a="-start",s="-end",c="fn"+a,u="fn"+s,d="pushState",l=1e3},3962:(e,t,r)=>{"use strict";r.d(t,{AM:()=>o,O2:()=>s,Qu:()=>c,TZ:()=>a,ih:()=>u,tC:()=>i});var n=r(860);const i=["click","keydown","submit"],o="api",a=n.K7.softNav,s={INITIAL_PAGE_LOAD:"",ROUTE_CHANGE:1,UNSPECIFIED:2},c={INTERACTION:1,AJAX:2,CUSTOM_END:3,CUSTOM_TRACER:4},u={IP:"in progress",FIN:"finished",CAN:"cancelled"}},7378:(e,t,r)=>{"use strict";r.d(t,{$p:()=>x,BR:()=>b,Kp:()=>R,L3:()=>y,Lc:()=>c,NC:()=>o,SG:()=>d,TZ:()=>i,U6:()=>p,UT:()=>m,d3:()=>w,dT:()=>f,e5:()=>A,gx:()=>v,l9:()=>l,oW:()=>h,op:()=>g,rw:()=>u,tH:()=>E,uP:()=>s,wW:()=>T,xq:()=>a});var n=r(384);const i=r(860).K7.spa,o=["click","submit","keypress","keydown","keyup","change"],a=999,s="fn-start",c="fn-end",u="cb-start",d="api-ixn-",l="remaining",f="interaction",h="spaNode",p="jsonpNode",g="fetch-start",m="fetch-done",v="fetch-body-",b="jsonp-end",y=(0,n.dV)().o.ST,w="-start",R="-end",x="-body",T="cb"+R,A="jsTime",E="fetch"},4234:(e,t,r)=>{"use strict";r.d(t,{W:()=>o});var n=r(7836),i=r(1687);class o{constructor(e,t){this.agentIdentifier=e,this.ee=n.ee.get(e),this.featureName=t,this.blocked=!1}deregisterDrain(){(0,i.x3)(this.agentIdentifier,this.featureName)}}},7767:(e,t,r)=>{"use strict";r.d(t,{V:()=>o});var n=r(9417),i=r(6154);const o=e=>i.RI&&!0===(0,n.gD)(e,"privacy.cookies_enabled")},425:(e,t,r)=>{"use strict";r.d(t,{j:()=>j});var n=r(860),i=r(2555),o=r(3371),a=r(9908),s=r(7836),c=r(1687),u=r(5289),d=r(6154),l=r(944),f=r(3969),h=r(384),p=r(6344);const g=["setErrorHandler","finished","addToTrace","addRelease","addPageAction","setCurrentRouteName","setPageViewName","setCustomAttribute","interaction","noticeError","setUserId","setApplicationVersion","start",p.G4.RECORD,p.G4.PAUSE,"log","wrapLogger"],m=["setErrorHandler","finished","addToTrace","addRelease"];var v=r(1863),b=r(2614),y=r(993),w=r(3785),R=r(2646),x=r(3434);function T(e,t,r,n){if("object"!=typeof t||!t||"string"!=typeof r||!r||"function"!=typeof t[r])return(0,l.R)(29);const i=function(e){return(e||s.ee).get("logger")}(e),o=(0,x.YM)(i),a=new R.y(s.P);return a.level=n.level,a.customAttributes=n.customAttributes,o.inPlace(t,[r],"wrap-logger-",a),i}function A(){const e=(0,h.pV)();g.forEach((t=>{e[t]=(...r)=>function(t,...r){let n=[];return Object.values(e.initializedAgents).forEach((e=>{e&&e.api?e.exposed&&e.api[t]&&n.push(e.api[t](...r)):(0,l.R)(38,t)})),n.length>1?n:n[0]}(t,...r)}))}const E={};var S=r(9417),N=r(5603),O=r(5284);const _=e=>{const t=e.startsWith("http");e+="/",r.p=t?e:"https://"+e};let I=!1;function j(e,t={},g,R){let{init:x,info:j,loader_config:P,runtime:C={},exposed:k=!0}=t;C.loaderType=g;const L=(0,h.pV)();j||(x=L.init,j=L.info,P=L.loader_config),(0,S.xN)(e.agentIdentifier,x||{}),(0,N.a)(e.agentIdentifier,P||{}),j.jsAttributes??={},d.bv&&(j.jsAttributes.isWorker=!0),(0,i.x1)(e.agentIdentifier,j);const H=(0,S.D0)(e.agentIdentifier),D=[j.beacon,j.errorBeacon];I||(H.proxy.assets&&(_(H.proxy.assets),D.push(H.proxy.assets)),H.proxy.beacon&&D.push(H.proxy.beacon),A(),(0,h.US)("activatedFeatures",O.B),e.runSoftNavOverSpa&&=!0===H.soft_navigations.enabled&&H.feature_flags.includes("soft_nav")),C.denyList=[...H.ajax.deny_list||[],...H.ajax.block_internal?D:[]],C.ptid=e.agentIdentifier,(0,o.V)(e.agentIdentifier,C),e.ee=s.ee.get(e.agentIdentifier),void 0===e.api&&(e.api=function(e,t,h=!1){t||(0,c.Ak)(e,"api");const g={};var R=s.ee.get(e),x=R.get("tracer");E[e]=b.g.OFF,R.on(p.G4.REPLAY_RUNNING,(t=>{E[e]=t}));var A="api-",S=A+"ixn-";function N(t,r,n,o){const a=(0,i.Vp)(e);return null===r?delete a.jsAttributes[t]:(0,i.x1)(e,{...a,jsAttributes:{...a.jsAttributes,[t]:r}}),I(A,n,!0,o||null===r?"session":void 0)(t,r)}function O(){}g.log=function(e,{customAttributes:t={},level:r=y.p_.INFO}={}){(0,a.p)(f.xV,["API/log/called"],void 0,n.K7.metrics,R),(0,w.R)(R,e,t,r)},g.wrapLogger=(e,t,{customAttributes:r={},level:i=y.p_.INFO}={})=>{(0,a.p)(f.xV,["API/wrapLogger/called"],void 0,n.K7.metrics,R),T(R,e,t,{customAttributes:r,level:i})},m.forEach((e=>{g[e]=I(A,e,!0,"api")})),g.addPageAction=I(A,"addPageAction",!0,n.K7.genericEvents),g.setPageViewName=function(t,r){if("string"==typeof t)return"/"!==t.charAt(0)&&(t="/"+t),(0,o.f)(e).customTransaction=(r||"http://custom.transaction")+t,I(A,"setPageViewName",!0)()},g.setCustomAttribute=function(e,t,r=!1){if("string"==typeof e){if(["string","number","boolean"].includes(typeof t)||null===t)return N(e,t,"setCustomAttribute",r);(0,l.R)(40,typeof t)}else(0,l.R)(39,typeof e)},g.setUserId=function(e){if("string"==typeof e||null===e)return N("enduser.id",e,"setUserId",!0);(0,l.R)(41,typeof e)},g.setApplicationVersion=function(e){if("string"==typeof e||null===e)return N("application.version",e,"setApplicationVersion",!1);(0,l.R)(42,typeof e)},g.start=()=>{try{(0,a.p)(f.xV,["API/start/called"],void 0,n.K7.metrics,R),R.emit("manual-start-all")}catch(e){(0,l.R)(23,e)}},g[p.G4.RECORD]=function(){(0,a.p)(f.xV,["API/recordReplay/called"],void 0,n.K7.metrics,R),(0,a.p)(p.G4.RECORD,[],void 0,n.K7.sessionReplay,R)},g[p.G4.PAUSE]=function(){(0,a.p)(f.xV,["API/pauseReplay/called"],void 0,n.K7.metrics,R),(0,a.p)(p.G4.PAUSE,[],void 0,n.K7.sessionReplay,R)},g.interaction=function(e){return(new O).get("object"==typeof e?e:{})};const _=O.prototype={createTracer:function(e,t){var r={},i=this,o="function"==typeof t;return(0,a.p)(f.xV,["API/createTracer/called"],void 0,n.K7.metrics,R),h||(0,a.p)(S+"tracer",[(0,v.t)(),e,r],i,n.K7.spa,R),function(){if(x.emit((o?"":"no-")+"fn-start",[(0,v.t)(),i,o],r),o)try{return t.apply(this,arguments)}catch(e){const t="string"==typeof e?new Error(e):e;throw x.emit("fn-err",[arguments,this,t],r),t}finally{x.emit("fn-end",[(0,v.t)()],r)}}}};function I(e,t,r,i){return function(){return(0,a.p)(f.xV,["API/"+t+"/called"],void 0,n.K7.metrics,R),i&&(0,a.p)(e+t,[(0,v.t)(),...arguments],r?null:this,i,R),r?void 0:this}}function j(){r.e(478).then(r.bind(r,8778)).then((({setAPI:t})=>{t(e),(0,c.Ze)(e,"api")})).catch((e=>{(0,l.R)(27,e),R.abort()}))}return["actionText","setName","setAttribute","save","ignore","onEnd","getContext","end","get"].forEach((e=>{_[e]=I(S,e,void 0,h?n.K7.softNav:n.K7.spa)})),g.setCurrentRouteName=h?I(S,"routeName",void 0,n.K7.softNav):I(A,"routeName",!0,n.K7.spa),g.noticeError=function(t,r){"string"==typeof t&&(t=new Error(t)),(0,a.p)(f.xV,["API/noticeError/called"],void 0,n.K7.metrics,R),(0,a.p)("err",[t,(0,v.t)(),!1,r,!!E[e]],void 0,n.K7.jserrors,R)},d.RI?(0,u.GG)((()=>j()),!0):j(),g}(e.agentIdentifier,R,e.runSoftNavOverSpa)),void 0===e.exposed&&(e.exposed=k),I=!0}},8374:(e,t,r)=>{r.nc=(()=>{try{return document?.currentScript?.nonce}catch(e){}return""})()},860:(e,t,r)=>{"use strict";r.d(t,{$J:()=>o,K7:()=>n,P3:()=>i});const n={ajax:"ajax",genericEvents:"generic_events",jserrors:"jserrors",logging:"logging",metrics:"metrics",pageAction:"page_action",pageViewEvent:"page_view_event",pageViewTiming:"page_view_timing",sessionReplay:"session_replay",sessionTrace:"session_trace",softNav:"soft_navigations",spa:"spa"},i={[n.pageViewEvent]:1,[n.pageViewTiming]:2,[n.metrics]:3,[n.jserrors]:4,[n.spa]:5,[n.ajax]:6,[n.sessionTrace]:7,[n.softNav]:8,[n.sessionReplay]:9,[n.logging]:10,[n.genericEvents]:11},o={[n.pageViewTiming]:"events",[n.ajax]:"events",[n.spa]:"events",[n.softNav]:"events",[n.metrics]:"jserrors",[n.jserrors]:"jserrors",[n.sessionTrace]:"browser/blobs",[n.sessionReplay]:"browser/blobs",[n.logging]:"browser/logs",[n.genericEvents]:"ins"}}},n={};function i(e){var t=n[e];if(void 0!==t)return t.exports;var o=n[e]={exports:{}};return r[e](o,o.exports,i),o.exports}i.m=r,i.d=(e,t)=>{for(var r in t)i.o(t,r)&&!i.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},i.f={},i.e=e=>Promise.all(Object.keys(i.f).reduce(((t,r)=>(i.f[r](e,t),t)),[])),i.u=e=>({212:"nr-spa-compressor",249:"nr-spa-recorder",478:"nr-spa"}[e]+"-1.274.0.min.js"),i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),e={},t="NRBA-1.274.0.PROD:",i.l=(r,n,o,a)=>{if(e[r])e[r].push(n);else{var s,c;if(void 0!==o)for(var u=document.getElementsByTagName("script"),d=0;d<u.length;d++){var l=u[d];if(l.getAttribute("src")==r||l.getAttribute("data-webpack")==t+o){s=l;break}}if(!s){c=!0;var f={478:"sha512-1vUqEfJPB8Pihje9mv5CfYgkitO1FWcS+UQb84DbXqP8oYctRv4/lzl/MzNLPlRhcY1WVDBGL20I8vm6s2VV7g==",249:"sha512-Y/BeZAh6VSTmUtUNmS5XdyKxL92s30Fyyj8xVW76HSPxcKItL4+x2+kGMZc8pMJnUpZDz1L4eftZQAJh3D8NnA==",212:"sha512-Gn2tQ3qog5Yhrx/gRutkSTYPp+7nkKFt4/mIXg99LxcNpMDAYJZDBYmAACdoHNM86+iq1F3cBcQotFNzjIX8bw=="};(s=document.createElement("script")).charset="utf-8",s.timeout=120,i.nc&&s.setAttribute("nonce",i.nc),s.setAttribute("data-webpack",t+o),s.src=r,0!==s.src.indexOf(window.location.origin+"/")&&(s.crossOrigin="anonymous"),f[a]&&(s.integrity=f[a])}e[r]=[n];var h=(t,n)=>{s.onerror=s.onload=null,clearTimeout(p);var i=e[r];if(delete e[r],s.parentNode&&s.parentNode.removeChild(s),i&&i.forEach((e=>e(n))),t)return t(n)},p=setTimeout(h.bind(null,void 0,{type:"timeout",target:s}),12e4);s.onerror=h.bind(null,s.onerror),s.onload=h.bind(null,s.onload),c&&document.head.appendChild(s)}},i.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.p="https://js-agent.newrelic.com/",(()=>{var e={38:0,788:0};i.f.j=(t,r)=>{var n=i.o(e,t)?e[t]:void 0;if(0!==n)if(n)r.push(n[2]);else{var o=new Promise(((r,i)=>n=e[t]=[r,i]));r.push(n[2]=o);var a=i.p+i.u(t),s=new Error;i.l(a,(r=>{if(i.o(e,t)&&(0!==(n=e[t])&&(e[t]=void 0),n)){var o=r&&("load"===r.type?"missing":r.type),a=r&&r.target&&r.target.src;s.message="Loading chunk "+t+" failed.\n("+o+": "+a+")",s.name="ChunkLoadError",s.type=o,s.request=a,n[1](s)}}),"chunk-"+t,t)}};var t=(t,r)=>{var n,o,[a,s,c]=r,u=0;if(a.some((t=>0!==e[t]))){for(n in s)i.o(s,n)&&(i.m[n]=s[n]);if(c)c(i)}for(t&&t(r);u<a.length;u++)o=a[u],i.o(e,o)&&e[o]&&e[o][0](),e[o]=0},r=self["webpackChunk:NRBA-1.274.0.PROD"]=self["webpackChunk:NRBA-1.274.0.PROD"]||[];r.forEach(t.bind(null,0)),r.push=t.bind(null,r.push.bind(r))})(),(()=>{"use strict";i(8374);var e=i(944),t=i(6344),r=i(9566);class n{agentIdentifier;constructor(e=(0,r.LA)(16)){this.agentIdentifier=e}#e(t,...r){if("function"==typeof this.api?.[t])return this.api[t](...r);(0,e.R)(35,t)}addPageAction(e,t){return this.#e("addPageAction",e,t)}setPageViewName(e,t){return this.#e("setPageViewName",e,t)}setCustomAttribute(e,t,r){return this.#e("setCustomAttribute",e,t,r)}noticeError(e,t){return this.#e("noticeError",e,t)}setUserId(e){return this.#e("setUserId",e)}setApplicationVersion(e){return this.#e("setApplicationVersion",e)}setErrorHandler(e){return this.#e("setErrorHandler",e)}addRelease(e,t){return this.#e("addRelease",e,t)}log(e,t){return this.#e("log",e,t)}}class o extends n{#e(t,...r){if("function"==typeof this.api?.[t])return this.api[t](...r);(0,e.R)(35,t)}start(){return this.#e("start")}finished(e){return this.#e("finished",e)}recordReplay(){return this.#e(t.G4.RECORD)}pauseReplay(){return this.#e(t.G4.PAUSE)}addToTrace(e){return this.#e("addToTrace",e)}setCurrentRouteName(e){return this.#e("setCurrentRouteName",e)}interaction(){return this.#e("interaction")}wrapLogger(e,t,r){return this.#e("wrapLogger",e,t,r)}}var a=i(860),s=i(9417);const c=Object.values(a.K7);function u(e){const t={};return c.forEach((r=>{t[r]=function(e,t){return!0===(0,s.gD)(t,"".concat(e,".enabled"))}(r,e)})),t}var d=i(425);var l=i(1687),f=i(4234),h=i(5289),p=i(6154),g=i(5270),m=i(7767),v=i(6389);class b extends f.W{constructor(e,t,r=!0){super(e.agentIdentifier,t),this.auto=r,this.abortHandler=void 0,this.featAggregate=void 0,this.onAggregateImported=void 0,!1===e.init[this.featureName].autoStart&&(this.auto=!1),this.auto?(0,l.Ak)(e.agentIdentifier,t):this.ee.on("manual-start-all",(0,v.J)((()=>{(0,l.Ak)(e.agentIdentifier,this.featureName),this.auto=!0,this.importAggregator(e)})))}importAggregator(t,r={}){if(this.featAggregate||!this.auto)return;let n;this.onAggregateImported=new Promise((e=>{n=e}));const o=async()=>{let o;try{if((0,m.V)(this.agentIdentifier)){const{setupAgentSession:e}=await i.e(478).then(i.bind(i,6526));o=e(t)}}catch(t){(0,e.R)(20,t),this.ee.emit("internal-error",[t]),this.featureName===a.K7.sessionReplay&&this.abortHandler?.()}try{if(t.sharedAggregator)await t.sharedAggregator;else{t.sharedAggregator=i.e(478).then(i.bind(i,9337));const{EventAggregator:e}=await t.sharedAggregator;t.sharedAggregator=new e}if(!this.#t(this.featureName,o))return(0,l.Ze)(this.agentIdentifier,this.featureName),void n(!1);const{lazyFeatureLoader:e}=await i.e(478).then(i.bind(i,6103)),{Aggregate:a}=await e(this.featureName,"aggregate");this.featAggregate=new a(t,r),n(!0)}catch(t){(0,e.R)(34,t),this.abortHandler?.(),(0,l.Ze)(this.agentIdentifier,this.featureName,!0),n(!1),this.ee&&this.ee.abort()}};p.RI?(0,h.GG)((()=>o()),!0):o()}#t(e,t){switch(e){case a.K7.sessionReplay:return(0,g.SR)(this.agentIdentifier)&&!!t;case a.K7.sessionTrace:return!!t;default:return!0}}}var y=i(6630);class w extends b{static featureName=y.T;constructor(e,t=!0){super(e,y.T,t),this.importAggregator(e)}}var R=i(384);var x=i(9908),T=i(2843),A=i(3878),E=i(782),S=i(1863);class N extends b{static featureName=E.T;constructor(e,t=!0){super(e,E.T,t),p.RI&&((0,T.u)((()=>(0,x.p)("docHidden",[(0,S.t)()],void 0,E.T,this.ee)),!0),(0,A.sp)("pagehide",(()=>(0,x.p)("winPagehide",[(0,S.t)()],void 0,E.T,this.ee))),this.importAggregator(e))}}var O=i(3969);class _ extends b{static featureName=O.TZ;constructor(e,t=!0){super(e,O.TZ,t),this.importAggregator(e)}}var I=i(6774),j=i(3304);class P{constructor(e,t,r,n,i){this.name="UncaughtError",this.message="string"==typeof e?e:(0,j.A)(e),this.sourceURL=t,this.line=r,this.column=n,this.__newrelic=i}}function C(e){return H(e)?e:new P(void 0!==e?.message?e.message:e,e?.filename||e?.sourceURL,e?.lineno||e?.line,e?.colno||e?.col,e?.__newrelic)}function k(e){const t="Unhandled Promise Rejection";if(!e?.reason)return;if(H(e.reason))try{return e.reason.message=t+": "+e.reason.message,C(e.reason)}catch(t){return C(e.reason)}const r=C(e.reason);return r.message=t+": "+r?.message,r}function L(e){if(e.error instanceof SyntaxError&&!/:\d+$/.test(e.error.stack?.trim())){const t=new P(e.message,e.filename,e.lineno,e.colno,e.error.__newrelic);return t.name=SyntaxError.name,t}return H(e.error)?e.error:C(e)}function H(e){return e instanceof Error&&!!e.stack}class D extends b{static featureName=I.T;#r=!1;constructor(e,r=!0){super(e,I.T,r);try{this.removeOnAbort=new AbortController}catch(e){}this.ee.on("internal-error",(e=>{this.abortHandler&&(0,x.p)("ierr",[C(e),(0,S.t)(),!0,{},this.#r],void 0,this.featureName,this.ee)})),this.ee.on(t.G4.REPLAY_RUNNING,(e=>{this.#r=e})),p.gm.addEventListener("unhandledrejection",(e=>{this.abortHandler&&(0,x.p)("err",[k(e),(0,S.t)(),!1,{unhandledPromiseRejection:1},this.#r],void 0,this.featureName,this.ee)}),(0,A.jT)(!1,this.removeOnAbort?.signal)),p.gm.addEventListener("error",(e=>{this.abortHandler&&(0,x.p)("err",[L(e),(0,S.t)(),!1,{},this.#r],void 0,this.featureName,this.ee)}),(0,A.jT)(!1,this.removeOnAbort?.signal)),this.abortHandler=this.#n,this.importAggregator(e)}#n(){this.removeOnAbort?.abort(),this.abortHandler=void 0}}var M=i(8990);let K=1;const U="nr@id";function V(e){const t=typeof e;return!e||"object"!==t&&"function"!==t?-1:e===p.gm?0:(0,M.I)(e,U,(function(){return K++}))}function G(e){if("string"==typeof e&&e.length)return e.length;if("object"==typeof e){if("undefined"!=typeof ArrayBuffer&&e instanceof ArrayBuffer&&e.byteLength)return e.byteLength;if("undefined"!=typeof Blob&&e instanceof Blob&&e.size)return e.size;if(!("undefined"!=typeof FormData&&e instanceof FormData))try{return(0,j.A)(e).length}catch(e){return}}}var F=i(8139),B=i(7836),W=i(3434);const z={},q=["open","send"];function Z(t){var r=t||B.ee;const n=function(e){return(e||B.ee).get("xhr")}(r);if(z[n.debugId]++)return n;z[n.debugId]=1,(0,F.u)(r);var i=(0,W.YM)(n),o=p.gm.XMLHttpRequest,a=p.gm.MutationObserver,s=p.gm.Promise,c=p.gm.setInterval,u="readystatechange",d=["onload","onerror","onabort","onloadstart","onloadend","onprogress","ontimeout"],l=[],f=p.gm.XMLHttpRequest=function(t){const r=new o(t),a=n.context(r);try{n.emit("new-xhr",[r],a),r.addEventListener(u,(s=a,function(){var e=this;e.readyState>3&&!s.resolved&&(s.resolved=!0,n.emit("xhr-resolved",[],e)),i.inPlace(e,d,"fn-",y)}),(0,A.jT)(!1))}catch(t){(0,e.R)(15,t);try{n.emit("internal-error",[t])}catch(e){}}var s;return r};function h(e,t){i.inPlace(t,["onreadystatechange"],"fn-",y)}if(function(e,t){for(var r in e)t[r]=e[r]}(o,f),f.prototype=o.prototype,i.inPlace(f.prototype,q,"-xhr-",y),n.on("send-xhr-start",(function(e,t){h(e,t),function(e){l.push(e),a&&(g?g.then(b):c?c(b):(m=-m,v.data=m))}(t)})),n.on("open-xhr-start",h),a){var g=s&&s.resolve();if(!c&&!s){var m=1,v=document.createTextNode(m);new a(b).observe(v,{characterData:!0})}}else r.on("fn-end",(function(e){e[0]&&e[0].type===u||b()}));function b(){for(var e=0;e<l.length;e++)h(0,l[e]);l.length&&(l=[])}function y(e,t){return t}return n}var Y="fetch-",X=Y+"body-",J=["arrayBuffer","blob","json","text","formData"],Q=p.gm.Request,ee=p.gm.Response,te="prototype";const re={};function ne(e){const t=function(e){return(e||B.ee).get("fetch")}(e);if(!(Q&&ee&&p.gm.fetch))return t;if(re[t.debugId]++)return t;function r(e,r,n){var i=e[r];"function"==typeof i&&(e[r]=function(){var e,r=[...arguments],o={};t.emit(n+"before-start",[r],o),o[B.P]&&o[B.P].dt&&(e=o[B.P].dt);var a=i.apply(this,r);return t.emit(n+"start",[r,e],a),a.then((function(e){return t.emit(n+"end",[null,e],a),e}),(function(e){throw t.emit(n+"end",[e],a),e}))})}return re[t.debugId]=1,J.forEach((e=>{r(Q[te],e,X),r(ee[te],e,X)})),r(p.gm,"fetch",Y),t.on(Y+"end",(function(e,r){var n=this;if(r){var i=r.headers.get("content-length");null!==i&&(n.rxSize=i),t.emit(Y+"done",[null,r],n)}else t.emit(Y+"done",[e],n)})),t}var ie=i(7485),oe=i(5603);class ae{constructor(e){this.agentIdentifier=e}generateTracePayload(e){if(!this.shouldGenerateTrace(e))return null;var t=(0,oe.o)(this.agentIdentifier);if(!t)return null;var n=(t.accountID||"").toString()||null,i=(t.agentID||"").toString()||null,o=(t.trustKey||"").toString()||null;if(!n||!i)return null;var a=(0,r.ZF)(),s=(0,r.el)(),c=Date.now(),u={spanId:a,traceId:s,timestamp:c};return(e.sameOrigin||this.isAllowedOrigin(e)&&this.useTraceContextHeadersForCors())&&(u.traceContextParentHeader=this.generateTraceContextParentHeader(a,s),u.traceContextStateHeader=this.generateTraceContextStateHeader(a,c,n,i,o)),(e.sameOrigin&&!this.excludeNewrelicHeader()||!e.sameOrigin&&this.isAllowedOrigin(e)&&this.useNewrelicHeaderForCors())&&(u.newrelicHeader=this.generateTraceHeader(a,s,c,n,i,o)),u}generateTraceContextParentHeader(e,t){return"00-"+t+"-"+e+"-01"}generateTraceContextStateHeader(e,t,r,n,i){return i+"@nr=0-1-"+r+"-"+n+"-"+e+"----"+t}generateTraceHeader(e,t,r,n,i,o){if(!("function"==typeof p.gm?.btoa))return null;var a={v:[0,1],d:{ty:"Browser",ac:n,ap:i,id:e,tr:t,ti:r}};return o&&n!==o&&(a.d.tk=o),btoa((0,j.A)(a))}shouldGenerateTrace(e){return this.isDtEnabled()&&this.isAllowedOrigin(e)}isAllowedOrigin(e){var t=!1,r={};if((0,s.gD)(this.agentIdentifier,"distributed_tracing")&&(r=(0,s.D0)(this.agentIdentifier).distributed_tracing),e.sameOrigin)t=!0;else if(r.allowed_origins instanceof Array)for(var n=0;n<r.allowed_origins.length;n++){var i=(0,ie.D)(r.allowed_origins[n]);if(e.hostname===i.hostname&&e.protocol===i.protocol&&e.port===i.port){t=!0;break}}return t}isDtEnabled(){var e=(0,s.gD)(this.agentIdentifier,"distributed_tracing");return!!e&&!!e.enabled}excludeNewrelicHeader(){var e=(0,s.gD)(this.agentIdentifier,"distributed_tracing");return!!e&&!!e.exclude_newrelic_header}useNewrelicHeaderForCors(){var e=(0,s.gD)(this.agentIdentifier,"distributed_tracing");return!!e&&!1!==e.cors_use_newrelic_header}useTraceContextHeadersForCors(){var e=(0,s.gD)(this.agentIdentifier,"distributed_tracing");return!!e&&!!e.cors_use_tracecontext_headers}}var se=i(9300),ce=i(7295),ue=["load","error","abort","timeout"],de=ue.length,le=(0,R.dV)().o.REQ,fe=(0,R.dV)().o.XHR;class he extends b{static featureName=se.T;constructor(e,t=!0){super(e,se.T,t),this.dt=new ae(e.agentIdentifier),this.handler=(e,t,r,n)=>(0,x.p)(e,t,r,n,this.ee);try{const e={xmlhttprequest:"xhr",fetch:"fetch",beacon:"beacon"};p.gm?.performance?.getEntriesByType("resource").forEach((t=>{if(t.initiatorType in e&&0!==t.responseStatus){const r={status:t.responseStatus},n={rxSize:t.transferSize,duration:Math.floor(t.duration),cbTime:0};pe(r,t.name),this.handler("xhr",[r,n,t.startTime,t.responseEnd,e[t.initiatorType]],void 0,a.K7.ajax)}}))}catch(e){}ne(this.ee),Z(this.ee),function(e,t,r,n){function i(e){var t=this;t.totalCbs=0,t.called=0,t.cbTime=0,t.end=R,t.ended=!1,t.xhrGuids={},t.lastSize=null,t.loadCaptureCalled=!1,t.params=this.params||{},t.metrics=this.metrics||{},e.addEventListener("load",(function(r){T(t,e)}),(0,A.jT)(!1)),p.lR||e.addEventListener("progress",(function(e){t.lastSize=e.loaded}),(0,A.jT)(!1))}function o(e){this.params={method:e[0]},pe(this,e[1]),this.metrics={}}function s(t,r){e.loader_config.xpid&&this.sameOrigin&&r.setRequestHeader("X-NewRelic-ID",e.loader_config.xpid);var i=n.generateTracePayload(this.parsedOrigin);if(i){var o=!1;i.newrelicHeader&&(r.setRequestHeader("newrelic",i.newrelicHeader),o=!0),i.traceContextParentHeader&&(r.setRequestHeader("traceparent",i.traceContextParentHeader),i.traceContextStateHeader&&r.setRequestHeader("tracestate",i.traceContextStateHeader),o=!0),o&&(this.dt=i)}}function c(e,r){var n=this.metrics,i=e[0],o=this;if(n&&i){var a=G(i);a&&(n.txSize=a)}this.startTime=(0,S.t)(),this.body=i,this.listener=function(e){try{"abort"!==e.type||o.loadCaptureCalled||(o.params.aborted=!0),("load"!==e.type||o.called===o.totalCbs&&(o.onloadCalled||"function"!=typeof r.onload)&&"function"==typeof o.end)&&o.end(r)}catch(e){try{t.emit("internal-error",[e])}catch(e){}}};for(var s=0;s<de;s++)r.addEventListener(ue[s],this.listener,(0,A.jT)(!1))}function u(e,t,r){this.cbTime+=e,t?this.onloadCalled=!0:this.called+=1,this.called!==this.totalCbs||!this.onloadCalled&&"function"==typeof r.onload||"function"!=typeof this.end||this.end(r)}function d(e,t){var r=""+V(e)+!!t;this.xhrGuids&&!this.xhrGuids[r]&&(this.xhrGuids[r]=!0,this.totalCbs+=1)}function l(e,t){var r=""+V(e)+!!t;this.xhrGuids&&this.xhrGuids[r]&&(delete this.xhrGuids[r],this.totalCbs-=1)}function f(){this.endTime=(0,S.t)()}function h(e,r){r instanceof fe&&"load"===e[0]&&t.emit("xhr-load-added",[e[1],e[2]],r)}function g(e,r){r instanceof fe&&"load"===e[0]&&t.emit("xhr-load-removed",[e[1],e[2]],r)}function m(e,t,r){t instanceof fe&&("onload"===r&&(this.onload=!0),("load"===(e[0]&&e[0].type)||this.onload)&&(this.xhrCbStart=(0,S.t)()))}function v(e,r){this.xhrCbStart&&t.emit("xhr-cb-time",[(0,S.t)()-this.xhrCbStart,this.onload,r],r)}function b(e){var t,r=e[1]||{};if("string"==typeof e[0]?0===(t=e[0]).length&&p.RI&&(t=""+p.gm.location.href):e[0]&&e[0].url?t=e[0].url:p.gm?.URL&&e[0]&&e[0]instanceof URL?t=e[0].href:"function"==typeof e[0].toString&&(t=e[0].toString()),"string"==typeof t&&0!==t.length){t&&(this.parsedOrigin=(0,ie.D)(t),this.sameOrigin=this.parsedOrigin.sameOrigin);var i=n.generateTracePayload(this.parsedOrigin);if(i&&(i.newrelicHeader||i.traceContextParentHeader))if(e[0]&&e[0].headers)s(e[0].headers,i)&&(this.dt=i);else{var o={};for(var a in r)o[a]=r[a];o.headers=new Headers(r.headers||{}),s(o.headers,i)&&(this.dt=i),e.length>1?e[1]=o:e.push(o)}}function s(e,t){var r=!1;return t.newrelicHeader&&(e.set("newrelic",t.newrelicHeader),r=!0),t.traceContextParentHeader&&(e.set("traceparent",t.traceContextParentHeader),t.traceContextStateHeader&&e.set("tracestate",t.traceContextStateHeader),r=!0),r}}function y(e,t){this.params={},this.metrics={},this.startTime=(0,S.t)(),this.dt=t,e.length>=1&&(this.target=e[0]),e.length>=2&&(this.opts=e[1]);var r,n=this.opts||{},i=this.target;"string"==typeof i?r=i:"object"==typeof i&&i instanceof le?r=i.url:p.gm?.URL&&"object"==typeof i&&i instanceof URL&&(r=i.href),pe(this,r);var o=(""+(i&&i instanceof le&&i.method||n.method||"GET")).toUpperCase();this.params.method=o,this.body=n.body,this.txSize=G(n.body)||0}function w(e,t){if(this.endTime=(0,S.t)(),this.params||(this.params={}),(0,ce.iW)(this.params))return;let n;this.params.status=t?t.status:0,"string"==typeof this.rxSize&&this.rxSize.length>0&&(n=+this.rxSize);const i={txSize:this.txSize,rxSize:n,duration:(0,S.t)()-this.startTime};r("xhr",[this.params,i,this.startTime,this.endTime,"fetch"],this,a.K7.ajax)}function R(e){const t=this.params,n=this.metrics;if(!this.ended){this.ended=!0;for(let t=0;t<de;t++)e.removeEventListener(ue[t],this.listener,!1);t.aborted||(0,ce.iW)(t)||(n.duration=(0,S.t)()-this.startTime,this.loadCazptureCalled||4!==e.readyState?null==t.status&&(t.status=0):T(this,e),n.cbTime=this.cbTime,r("xhr",[t,n,this.startTime,this.endTime,"xhr"],this,a.K7.ajax))}}function T(e,r){e.params.status=r.status;var n=function(e,t){var r=e.responseType;return"json"===r&&null!==t?t:"arraybuffer"===r||"blob"===r||"json"===r?G(e.response):"text"===r||""===r||void 0===r?G(e.responseText):void 0}(r,e.lastSize);if(n&&(e.metrics.rxSize=n),e.sameOrigin){var i=r.getResponseHeader("X-NewRelic-App-Data");i&&((0,x.p)(O.rs,["Ajax/CrossApplicationTracing/Header/Seen"],void 0,a.K7.metrics,t),e.params.cat=i.split(", ").pop())}e.loadCaptureCalled=!0}t.on("new-xhr",i),t.on("open-xhr-start",o),t.on("open-xhr-end",s),t.on("send-xhr-start",c),t.on("xhr-cb-time",u),t.on("xhr-load-added",d),t.on("xhr-load-removed",l),t.on("xhr-resolved",f),t.on("addEventListener-end",h),t.on("removeEventListener-end",g),t.on("fn-end",v),t.on("fetch-before-start",b),t.on("fetch-start",y),t.on("fn-start",m),t.on("fetch-done",w)}(e,this.ee,this.handler,this.dt),this.importAggregator(e)}}function pe(e,t){var r=(0,ie.D)(t),n=e.params||e;n.hostname=r.hostname,n.port=r.port,n.protocol=r.protocol,n.host=r.hostname+":"+r.port,n.pathname=r.pathname,e.parsedOrigin=r,e.sameOrigin=r.sameOrigin}const ge={},me=["pushState","replaceState"];function ve(e){const t=function(e){return(e||B.ee).get("history")}(e);return!p.RI||ge[t.debugId]++||(ge[t.debugId]=1,(0,W.YM)(t).inPlace(window.history,me,"-")),t}var be=i(3738);const{He:ye,bD:we,d3:Re,Kp:xe,TZ:Te,Lc:Ae,uP:Ee,Rz:Se}=be;class Ne extends b{static featureName=Te;constructor(e,t=!0){super(e,Te,t);if(!(0,m.V)(this.agentIdentifier))return void this.deregisterDrain();const r=this.ee;let n;ve(r),this.eventsEE=(0,F.u)(r),this.eventsEE.on(Ee,(function(e,t){this.bstStart=(0,S.t)()})),this.eventsEE.on(Ae,(function(e,t){(0,x.p)("bst",[e[0],t,this.bstStart,(0,S.t)()],void 0,a.K7.sessionTrace,r)})),r.on(Se+Re,(function(e){this.time=(0,S.t)(),this.startPath=location.pathname+location.hash})),r.on(Se+xe,(function(e){(0,x.p)("bstHist",[location.pathname+location.hash,this.startPath,this.time],void 0,a.K7.sessionTrace,r)}));try{n=new PerformanceObserver((e=>{const t=e.getEntries();(0,x.p)(ye,[t],void 0,a.K7.sessionTrace,r)})),n.observe({type:we,buffered:!0})}catch(e){}this.importAggregator(e,{resourceObserver:n})}}var Oe=i(2614);class _e extends b{static featureName=t.TZ;#i;#o;constructor(e,r=!0){let n;super(e,t.TZ,r),this.replayRunning=!1,this.#o=e;try{n=JSON.parse(localStorage.getItem("".concat(Oe.H3,"_").concat(Oe.uh)))}catch(e){}(0,g.SR)(e.agentIdentifier)&&this.ee.on(t.G4.RECORD,(()=>this.#a())),this.#s(n)?(this.#i=n?.sessionReplayMode,this.#c()):this.importAggregator(e),this.ee.on("err",(e=>{this.replayRunning&&(this.errorNoticed=!0,(0,x.p)(t.G4.ERROR_DURING_REPLAY,[e],void 0,this.featureName,this.ee))})),this.ee.on(t.G4.REPLAY_RUNNING,(e=>{this.replayRunning=e}))}#s(e){return e&&(e.sessionReplayMode===Oe.g.FULL||e.sessionReplayMode===Oe.g.ERROR)||(0,g.Aw)(this.agentIdentifier)}#u=!1;async#c(e){if(!this.#u){this.#u=!0;try{const{Recorder:t}=await Promise.all([i.e(478),i.e(249)]).then(i.bind(i,8589));this.recorder??=new t({mode:this.#i,agentIdentifier:this.agentIdentifier,trigger:e,ee:this.ee}),this.recorder.startRecording(),this.abortHandler=this.recorder.stopRecording}catch(e){}this.importAggregator(this.#o,{recorder:this.recorder,errorNoticed:this.errorNoticed})}}#a(){this.featAggregate?this.featAggregate.mode!==Oe.g.FULL&&this.featAggregate.initializeRecording(Oe.g.FULL,!0):(this.#i=Oe.g.FULL,this.#c(t.Qb.API),this.recorder&&this.recorder.parent.mode!==Oe.g.FULL&&(this.recorder.parent.mode=Oe.g.FULL,this.recorder.stopRecording(),this.recorder.startRecording(),this.abortHandler=this.recorder.stopRecording))}}var Ie=i(3962);class je extends b{static featureName=Ie.TZ;constructor(e,t=!0){if(super(e,Ie.TZ,t),!p.RI||!(0,R.dV)().o.MO)return;const r=ve(this.ee);Ie.tC.forEach((e=>{(0,A.sp)(e,(e=>{a(e)}),!0)}));const n=()=>(0,x.p)("newURL",[(0,S.t)(),""+window.location],void 0,this.featureName,this.ee);r.on("pushState-end",n),r.on("replaceState-end",n);try{this.removeOnAbort=new AbortController}catch(e){}(0,A.sp)("popstate",(e=>(0,x.p)("newURL",[e.timeStamp,""+window.location],void 0,this.featureName,this.ee)),!0,this.removeOnAbort?.signal);let i=!1;const o=new((0,R.dV)().o.MO)(((e,t)=>{i||(i=!0,requestAnimationFrame((()=>{(0,x.p)("newDom",[(0,S.t)()],void 0,this.featureName,this.ee),i=!1})))})),a=(0,v.s)((e=>{(0,x.p)("newUIEvent",[e],void 0,this.featureName,this.ee),o.observe(document.body,{attributes:!0,childList:!0,subtree:!0,characterData:!0})}),100,{leading:!0});this.abortHandler=function(){this.removeOnAbort?.abort(),o.disconnect(),this.abortHandler=void 0},this.importAggregator(e,{domObserver:o})}}var Pe=i(7378);const Ce={},ke=["appendChild","insertBefore","replaceChild"];function Le(e){const t=function(e){return(e||B.ee).get("jsonp")}(e);if(!p.RI||Ce[t.debugId])return t;Ce[t.debugId]=!0;var r=(0,W.YM)(t),n=/[?&](?:callback|cb)=([^&#]+)/,i=/(.*)\.([^.]+)/,o=/^(\w+)(\.|$)(.*)$/;function a(e,t){if(!e)return t;const r=e.match(o),n=r[1];return a(r[3],t[n])}return r.inPlace(Node.prototype,ke,"dom-"),t.on("dom-start",(function(e){!function(e){if(!e||"string"!=typeof e.nodeName||"script"!==e.nodeName.toLowerCase())return;if("function"!=typeof e.addEventListener)return;var o=(s=e.src,c=s.match(n),c?c[1]:null);var s,c;if(!o)return;var u=function(e){var t=e.match(i);if(t&&t.length>=3)return{key:t[2],parent:a(t[1],window)};return{key:e,parent:window}}(o);if("function"!=typeof u.parent[u.key])return;var d={};function l(){t.emit("jsonp-end",[],d),e.removeEventListener("load",l,(0,A.jT)(!1)),e.removeEventListener("error",f,(0,A.jT)(!1))}function f(){t.emit("jsonp-error",[],d),t.emit("jsonp-end",[],d),e.removeEventListener("load",l,(0,A.jT)(!1)),e.removeEventListener("error",f,(0,A.jT)(!1))}r.inPlace(u.parent,[u.key],"cb-",d),e.addEventListener("load",l,(0,A.jT)(!1)),e.addEventListener("error",f,(0,A.jT)(!1)),t.emit("new-jsonp",[e.src],d)}(e[0])})),t}const He={};function De(e){const t=function(e){return(e||B.ee).get("promise")}(e);if(He[t.debugId])return t;He[t.debugId]=!0;var r=t.context,n=(0,W.YM)(t),i=p.gm.Promise;return i&&function(){function e(r){var o=t.context(),a=n(r,"executor-",o,null,!1);const s=Reflect.construct(i,[a],e);return t.context(s).getCtx=function(){return o},s}p.gm.Promise=e,Object.defineProperty(e,"name",{value:"Promise"}),e.toString=function(){return i.toString()},Object.setPrototypeOf(e,i),["all","race"].forEach((function(r){const n=i[r];e[r]=function(e){let i=!1;[...e||[]].forEach((e=>{this.resolve(e).then(a("all"===r),a(!1))}));const o=n.apply(this,arguments);return o;function a(e){return function(){t.emit("propagate",[null,!i],o,!1,!1),i=i||!e}}}})),["resolve","reject"].forEach((function(r){const n=i[r];e[r]=function(e){const r=n.apply(this,arguments);return e!==r&&t.emit("propagate",[e,!0],r,!1,!1),r}})),e.prototype=i.prototype;const o=i.prototype.then;i.prototype.then=function(...e){var i=this,a=r(i);a.promise=i,e[0]=n(e[0],"cb-",a,null,!1),e[1]=n(e[1],"cb-",a,null,!1);const s=o.apply(this,e);return a.nextPromise=s,t.emit("propagate",[i,!0],s,!1,!1),s},i.prototype.then[W.Jt]=o,t.on("executor-start",(function(e){e[0]=n(e[0],"resolve-",this,null,!1),e[1]=n(e[1],"resolve-",this,null,!1)})),t.on("executor-err",(function(e,t,r){e[1](r)})),t.on("cb-end",(function(e,r,n){t.emit("propagate",[n,!0],this.nextPromise,!1,!1)})),t.on("propagate",(function(e,r,n){this.getCtx&&!r||(this.getCtx=function(){if(e instanceof Promise)var r=t.context(e);return r&&r.getCtx?r.getCtx():this})}))}(),t}const Me={},Ke="setTimeout",Ue="setInterval",Ve="clearTimeout",Ge="-start",Fe=[Ke,"setImmediate",Ue,Ve,"clearImmediate"];function Be(e){const t=function(e){return(e||B.ee).get("timer")}(e);if(Me[t.debugId]++)return t;Me[t.debugId]=1;var r=(0,W.YM)(t);return r.inPlace(p.gm,Fe.slice(0,2),Ke+"-"),r.inPlace(p.gm,Fe.slice(2,3),Ue+"-"),r.inPlace(p.gm,Fe.slice(3),Ve+"-"),t.on(Ue+Ge,(function(e,t,n){e[0]=r(e[0],"fn-",null,n)})),t.on(Ke+Ge,(function(e,t,n){this.method=n,this.timerDuration=isNaN(e[1])?0:+e[1],e[0]=r(e[0],"fn-",this,n)})),t}const We={};function ze(e){const t=function(e){return(e||B.ee).get("mutation")}(e);if(!p.RI||We[t.debugId])return t;We[t.debugId]=!0;var r=(0,W.YM)(t),n=p.gm.MutationObserver;return n&&(window.MutationObserver=function(e){return this instanceof n?new n(r(e,"fn-")):n.apply(this,arguments)},MutationObserver.prototype=n.prototype),t}const{TZ:qe,d3:Ze,Kp:Ye,$p:Xe,wW:Je,e5:Qe,tH:$e,uP:et,rw:tt,Lc:rt}=Pe;class nt extends b{static featureName=qe;constructor(e,t=!0){if(super(e,qe,t),!p.RI)return;try{this.removeOnAbort=new AbortController}catch(e){}let r,n=0;const i=this.ee.get("tracer"),o=Le(this.ee),a=De(this.ee),s=Be(this.ee),c=Z(this.ee),u=this.ee.get("events"),d=ne(this.ee),l=ve(this.ee),f=ze(this.ee);function h(e,t){l.emit("newURL",[""+window.location,t])}function g(){n++,r=window.location.hash,this[et]=(0,S.t)()}function m(){n--,window.location.hash!==r&&h(0,!0);var e=(0,S.t)();this[Qe]=~~this[Qe]+e-this[et],this[rt]=e}function v(e,t){e.on(t,(function(){this[t]=(0,S.t)()}))}this.ee.on(et,g),a.on(tt,g),o.on(tt,g),this.ee.on(rt,m),a.on(Je,m),o.on(Je,m),this.ee.on("fn-err",((...t)=>{t[2]?.__newrelic?.[e.agentIdentifier]||(0,x.p)("function-err",[...t],void 0,this.featureName,this.ee)})),this.ee.buffer([et,rt,"xhr-resolved"],this.featureName),u.buffer([et],this.featureName),s.buffer(["setTimeout"+Ye,"clearTimeout"+Ze,et],this.featureName),c.buffer([et,"new-xhr","send-xhr"+Ze],this.featureName),d.buffer([$e+Ze,$e+"-done",$e+Xe+Ze,$e+Xe+Ye],this.featureName),l.buffer(["newURL"],this.featureName),f.buffer([et],this.featureName),a.buffer(["propagate",tt,Je,"executor-err","resolve"+Ze],this.featureName),i.buffer([et,"no-"+et],this.featureName),o.buffer(["new-jsonp","cb-start","jsonp-error","jsonp-end"],this.featureName),v(d,$e+Ze),v(d,$e+"-done"),v(o,"new-jsonp"),v(o,"jsonp-end"),v(o,"cb-start"),l.on("pushState-end",h),l.on("replaceState-end",h),window.addEventListener("hashchange",h,(0,A.jT)(!0,this.removeOnAbort?.signal)),window.addEventListener("load",h,(0,A.jT)(!0,this.removeOnAbort?.signal)),window.addEventListener("popstate",(function(){h(0,n>1)}),(0,A.jT)(!0,this.removeOnAbort?.signal)),this.abortHandler=this.#n,this.importAggregator(e)}#n(){this.removeOnAbort?.abort(),this.abortHandler=void 0}}var it=i(3333);class ot extends b{static featureName=it.TZ;constructor(e,t=!0){super(e,it.TZ,t);const r=[e.init.page_action.enabled,e.init.performance.capture_marks,e.init.performance.capture_measures,e.init.user_actions.enabled];p.RI&&e.init.user_actions.enabled&&(it.Zp.forEach((e=>(0,A.sp)(e,(e=>(0,x.p)("ua",[e],void 0,this.featureName,this.ee)),!0))),it.qN.forEach((e=>(0,A.sp)(e,(e=>(0,x.p)("ua",[e],void 0,this.featureName,this.ee)))))),r.some((e=>e))?this.importAggregator(e):this.deregisterDrain()}}var at=i(993),st=i(3785);class ct extends b{static featureName=at.TZ;constructor(e,t=!0){super(e,at.TZ,t);const r=this.ee;this.ee.on("wrap-logger-end",(function([e]){const{level:t,customAttributes:n}=this;(0,st.R)(r,e,n,t)})),this.importAggregator(e)}}new class extends o{constructor(t,r){super(r),p.gm?(this.features={},(0,R.bQ)(this.agentIdentifier,this),this.desiredFeatures=new Set(t.features||[]),this.desiredFeatures.add(w),this.runSoftNavOverSpa=[...this.desiredFeatures].some((e=>e.featureName===a.K7.softNav)),(0,d.j)(this,t,t.loaderType||"agent"),this.run()):(0,e.R)(21)}get config(){return{info:this.info,init:this.init,loader_config:this.loader_config,runtime:this.runtime}}run(){try{const t=u(this.agentIdentifier),r=[...this.desiredFeatures];r.sort(((e,t)=>a.P3[e.featureName]-a.P3[t.featureName])),r.forEach((r=>{if(!t[r.featureName]&&r.featureName!==a.K7.pageViewEvent)return;if(this.runSoftNavOverSpa&&r.featureName===a.K7.spa)return;if(!this.runSoftNavOverSpa&&r.featureName===a.K7.softNav)return;const n=function(e){switch(e){case a.K7.ajax:return[a.K7.jserrors];case a.K7.sessionTrace:return[a.K7.ajax,a.K7.pageViewEvent];case a.K7.sessionReplay:return[a.K7.sessionTrace];case a.K7.pageViewTiming:return[a.K7.pageViewEvent];default:return[]}}(r.featureName).filter((e=>!(e in this.features)));n.length>0&&(0,e.R)(36,{targetFeature:r.featureName,missingDependencies:n}),this.features[r.featureName]=new r(this)}))}catch(t){(0,e.R)(22,t);for(const e in this.features)this.features[e].abortHandler?.();const r=(0,R.Zm)();delete r.initializedAgents[this.agentIdentifier]?.api,delete r.initializedAgents[this.agentIdentifier]?.features,delete this.sharedAggregator;return r.ee.get(this.agentIdentifier).abort(),!1}}}({features:[he,w,N,Ne,_e,_,D,ot,ct,je,nt],loaderType:"spa"})})()})();</script> <meta content='width=device-width, initial-scale=1.0, user-scalable=yes, maximum-scale=5.0' name='viewport'> <meta content='en-us' http-equiv='content-language'> <link href='https://trailhead.salesforce.com/content/learn/modules/lex_implementation_reports_dashboards/lex_implementation_reports_dashboards_visualizing_data' hreflang='en' rel='alternate'> <link href='https://trailhead.salesforce.com/de/content/learn/modules/lex_implementation_reports_dashboards/lex_implementation_reports_dashboards_visualizing_data' hreflang='de' rel='alternate'> <link href='https://trailhead.salesforce.com/it/content/learn/modules/lex_implementation_reports_dashboards/lex_implementation_reports_dashboards_visualizing_data' hreflang='it' rel='alternate'> <link href='https://trailhead.salesforce.com/fr/content/learn/modules/lex_implementation_reports_dashboards/lex_implementation_reports_dashboards_visualizing_data' hreflang='fr' rel='alternate'> <link href='https://trailhead.salesforce.com/es/content/learn/modules/lex_implementation_reports_dashboards/lex_implementation_reports_dashboards_visualizing_data' hreflang='es' rel='alternate'> <link href='https://trailhead.salesforce.com/es-MX/content/learn/modules/lex_implementation_reports_dashboards/lex_implementation_reports_dashboards_visualizing_data' hreflang='es-mx' rel='alternate'> <link href='https://trailhead.salesforce.com/pt-BR/content/learn/modules/lex_implementation_reports_dashboards/lex_implementation_reports_dashboards_visualizing_data' hreflang='pt-br' rel='alternate'> <link href='https://trailhead.salesforce.com/ja/content/learn/modules/lex_implementation_reports_dashboards/lex_implementation_reports_dashboards_visualizing_data' hreflang='ja' rel='alternate'> <link href='https://trailhead.salesforce.com/ko/content/learn/modules/lex_implementation_reports_dashboards/lex_implementation_reports_dashboards_visualizing_data' hreflang='ko' rel='alternate'> <link href='https://trailhead.salesforce.com/zh-CN/content/learn/modules/lex_implementation_reports_dashboards/lex_implementation_reports_dashboards_visualizing_data' hreflang='zh-cn' rel='alternate'> <link href='https://trailhead.salesforce.com/content/learn/modules/lex_implementation_reports_dashboards/lex_implementation_reports_dashboards_visualizing_data' hreflang='x-default' rel='alternate'> <link rel="canonical" href="https://trailhead.salesforce.com/content/learn/modules/lex_implementation_reports_dashboards/lex_implementation_reports_dashboards_visualizing_data"> <meta name="apple-itunes-app" content="app-id=1478801670"></meta> <meta name="slack-app-id" content="A02CBL2KKDE"></meta> <link rel="stylesheet" href="/assets/application-d9753863bcb1d39042340bde087a4fa8876f6c5d62f6f637f38ddd247161d197.css" media="all" /> <script type='application/ld+json'> { "@context": "https://schema.org", "@type": ["Course", "CreativeWork"], "name": "Visualize Your Data with the Lightning Dashboard Builder", "description": "Visualize key business metrics in real-time using Lightning Experience.", "isAccessibleForFree": "False", "hasPart": { "@type": "WebPageElement", "isAccessibleForFree": "False", "cssSelector" : ".th-unit-hidden-content" }, "offers": { "@type": "Offer", "category": "Free" }, "hasCourseInstance": { "@type": "CourseInstance", "courseMode": "Online", "courseWorkload": "PT25M" }, "provider": { "@type": "Organization", "@id": "https://trailhead.salesforce.com/#organization", "name": "Trailhead", "url": "https://trailhead.salesforce.com/#organization" } } </script> <link rel="stylesheet" href="/packs/css/libs-37c1918f.css" media="screen" /> <link rel="stylesheet" href="/packs/css/styles-f0f881eb.css" media="screen" /> <link rel="stylesheet" href="/packs/css/atomic-6dbb6162.css" media="screen" /> <link rel="stylesheet" href="/assets/print-291a9c148552af775ae0646e7d4bfb87ac4f0e77f40cbd214234e7aa0eb39509.css" media="print" /> <script type='module'> import { set } from "https://ui.trailhead.com/components/v6.1.26/modules/trailhead-client-env.js"; import { setLocale } from "https://ui.trailhead.com/components/v6.1.26/modules/trailhead-client-locale.js"; set("DEBUG", false); setLocale("en"); </script> <script type='module'> import { set } from "https://ui.trailhead.com/components/v6.1.26/modules/trailhead-client-env.js"; set("API_HOST", "https://trailhead.salesforce.com"); </script> <script type='module'> import { set } from "https://ui.trailhead.com/components/v6.1.26/modules/trailhead-client-env.js"; set("EXPERIENCE_API_HOST", "https://mobile.api.trailhead.com/graphql"); </script> <script type='module'> import { set } from "https://ui.trailhead.com/components/v6.1.26/modules/trailhead-client-env.js"; set("TBID_COMMUNITY_URL", "https://trailblazer.me"); </script> <script type='module'> import { set } from "https://ui.trailhead.com/components/v6.1.26/modules/trailhead-client-env.js"; set("TBID_PROFILE_URL", "https://www.salesforce.com/trailblazer/"); </script> <script id="sf_access_token_script"> try { window.localStorage.removeItem("sf_access_token"); } catch (e) { console.error('Error setting/removing access token:', e); } document.getElementById("sf_access_token_script").remove(); </script> <script> window.thComponentsUrl = function(path) { return "https://ui.trailhead.com/components/v6.1.26" + path; } </script> <div id='https://ui.trailhead.com/lx-components/v1.13.16'></div> <link href='https://ui.trailhead.com/components/v6.1.26/css/tds.css' rel='stylesheet'> <link href='https://ui.trailhead.com/components/v6.1.26/css/tds-theme-provider.css' rel='stylesheet'> <script src='https://ui.trailhead.com/components/v6.1.26/modules/th-org-picker.js' type='module'></script> <script src='https://ui.trailhead.com/components/v6.1.26/modules/tds-button-link.js' type='module'></script> <script src='https://ui.trailhead.com/components/v6.1.26/modules/tds-modal.js' type='module'></script> <script src='https://ui.trailhead.com/components/v6.1.26/modules/tds-button.js' type='module'></script> <script src='https://ui.trailhead.com/components/v6.1.26/modules/th-badge-rating.js' type='module'></script> <script src='https://ui.trailhead.com/components/v6.1.26/modules/tds-button-icon-link.js' type='module'></script> <script src='https://ui.trailhead.com/components/v6.1.26/modules/tds-icon.js' type='module'></script> <script src='https://ui.trailhead.com/components/v6.1.26/modules/th-alert.js' type='module'></script> <script src='https://ui.trailhead.com/components/v6.1.26/modules/th-footer.js' type='module'></script> <style> :root { --tds-z-index-tooltip: 90000; --tds-z-index-overlay: 29998; --tds-z-index-modal: 29999; } </style> <script> window.locale = "en" </script> <script src='/api/v1/ui/auth.js'></script> <script src="/packs/js/vendorCommon-ce932c64a8567a4b936f.chunk.js"></script> <script src="/packs/js/vendor-f1ccea3a00759de47d6f.chunk.js"></script> <script src="/packs/js/client-side-66853363a2e1887567ec.js"></script> <script src="/packs/js/locales-688bbb4b06a6250901b2.chunk.js"></script> <script src="/packs/js/components-1f4226c281121aae4fcf.js"></script> <script src="/packs/js/ua-tracking-1c064f74489c3213af6c.js"></script> <script src="/packs/js/visitor-cookies-83d87780f0c0731eb501.js"></script> <script src="/packs/js/cookie-consent-callbacks-a8e48c63e50e8f6e9901.js"></script> <script src="/packs/js/mobile-a11y-db9aaa1f6a01461d0042.js"></script> <script src="/packs/js/unit-adjustments-2440f5967b5a2ff2ff93.js"></script> <script src="/packs/js/vendors~unitPageDigital-fd838ffe3993d0e03aaf.chunk.js"></script> <script src="/packs/js/unitPageDigital-9d68fd5e7979ec475f5f.js"></script> <script src="/packs/js/highlightSyntax-49e1b0edde015a37a32b.js"></script> <meta content='a68cbc02-06c4-44b9-b44e-b79c3571a559' name='ua:temp_visitor_id'> <meta content='unit_viewed' name='ua:event_name'> <meta content='{"lang":"en","unit_id":2216024,"unit_api_name":"lex_implementation_reports_dashboards_visualizing_data","unit_uid":"0260fdbe-a025-e304-0db0-53813840afa6","namespace_api_name":"learn"}' name='ua:event_properties'> <script id="tbid_script"> try { window.localStorage.removeItem("tbid"); } catch (e) { console.error('Error setting/removing tbid:', e); } document.getElementById("tbid_script").remove(); </script> <script type='application/ld+json'> { "@context": "https://schema.org", "@type": "Organization", "name": "Trailhead", "alternateName": "Trailhead by Salesforce", "logo": "https://trailhead.salesforce.com/logo.png", "url": "https://trailhead.salesforce.com", "description": "Everyone can learn Salesforce. Whether you are an admin, user, or developer, there is a trail for you.", "telephone": "1-800-664-9073", "address": { "@type": "PostalAddress", "streetAddress": "Salesforce Tower, 415 Mission Street, 3rd Floor", "addressLocality": "San Francisco", "addressCountry": "US", "addressRegion": "CA", "postalCode": "94105" } } </script> </head> <body class='theme--trailhead trailhead-locale-en' id='atomic'> <div id='main-wrapper'> <style> .th-branding__border-color { border-color: #00a1df !important; } .th-branding__background-color--primary-light { background-color: rgba(0, 161, 223, 0.05) !important; } .th-branding__background-color--secondary { background-color: #00407e !important; } </style> <script src="/packs/js/digital-nav-8d9459a6328a5401c449.js"></script> <a class="skip-nav" href="#main">Skip to main content</a> <div id="global-nav-container"> </div> <script src="https://a.sfdcstatic.com/digital/xsf/components/v1-stable/navs.js" type="module"></script> <script src="/assets/digital_header-e886c8498fb58f554ada02cb6e441974f6a941ba88f0ba9d6368321298f321e3.js" async="async" data-property-name="trailhead" data-community-uri="https://trailblazer.me" data-community-api-url="https://community.api.trailhead.com" data-context-nav-config="{"ID":1,"newWindowAlt":"link opens in new window","isLogoEnabled":false,"variation":"static","propertyTitle":{"ID":2,"label":"Trailhead","url":"/"},"propertyLogo":{"ID":3,"alt":"Trailhead"},"menuGroup":{"ID":4,"menuItems":[{"ID":5,"link":{"ID":6,"label":"Home","url":"/"}},{"ID":7,"title":"Learn","submenu":[{"ID":8,"menuItems":[{"ID":9,"link":{"ID":10,"label":"Trails","url":"/trails"},"description":"Follow guided learning paths"},{"ID":11,"link":{"ID":12,"label":"Modules","url":"/modules"},"description":"Learn new skills in bite-sized units"},{"ID":13,"link":{"ID":14,"label":"Projects","url":"/projects"},"description":"Get hands-on with step-by-step instructions"},{"ID":15,"link":{"ID":16,"label":"Trailmixes","url":"/trailmixes"},"description":"Create and follow custom learning playlists"}],"eyebrowHeading":"Grow your Salesforce expertise","hasSeparator":true},{"ID":17,"menuItems":[{"ID":18,"link":{"ID":19,"label":"Trailblazer Quests","url":"/quests"},"description":"Learn new skills and win fun prizes"},{"ID":20,"link":{"ID":21,"label":"Trailhead Mobile App","url":"/trailhead-go"},"description":"Skill up anytime, anywhere"},{"ID":22,"link":{"ID":23,"label":"Instructor-led Training","url":"https://trailheadacademy.salesforce.com/","target":"_blank"},"description":"Learn directly from experts"}],"eyebrowHeading":"Other learning tools","hasSeparator":true}]},{"ID":24,"title":"Community","submenu":[{"ID":25,"menuItems":[{"ID":26,"link":{"ID":27,"label":"Feed","url":"/trailblazer-community/feed"},"description":"Ask and answer questions to build your skills"},{"ID":28,"link":{"ID":29,"label":"Groups","url":"/trailblazer-community/groups"},"description":"Meet and collaborate with Trailblazers to grow your network"},{"ID":30,"link":{"ID":31,"label":"Topics","url":"/trailblazer-community/topics"},"description":"Discover featured and trending topics"},{"ID":32,"link":{"ID":33,"label":"Group Meetings","url":"/trailblazer-community/meetings","target":""},"description":"Join local community group meetings"},{"ID":34,"link":{"ID":35,"label":"360 Blog","url":"https://www.salesforce.com/blog/category/trailblazer/","target":"_blank"},"description":"Learn about new Salesforce innovations"}],"eyebrowHeading":"Connect with the Trailblazer Community"}]},{"ID":36,"title":"Career Growth","submenu":[{"ID":37,"menuItems":[{"ID":38,"link":{"ID":39,"label":"Trailblazer Career Marketplace","url":"/careers/overview"},"description":"Showcase your Salesforce expertise, connect with employers, and browse resources to grow your career"}],"eyebrowHeading":"Build your Salesforce career","hasSeparator":true},{"ID":40,"menuItems":[{"ID":41,"link":{"ID":42,"label":"Role-Based Career Paths","url":"/career-path"},"description":"Explore which career is right for you and learn role-based skills"}],"eyebrowHeading":"Career resources","hasSeparator":true}]},{"ID":43,"title":"Credentials","submenu":[{"ID":44,"menuItems":[{"ID":45,"link":{"ID":46,"label":"Certifications","url":"/credentials/administratoroverview"},"description":"Prove your product expertise with globally recognized credentials"},{"ID":47,"link":{"ID":48,"label":"Superbadges \u0026 Super Sets","url":"/superbadges"},"description":"Prove your skills with real world business challenges"}],"eyebrowHeading":"Earn resume-worthy credentials","hasSeparator":true},{"ID":49,"menuItems":[{"ID":50,"link":{"ID":51,"label":"Maintain Certifications","url":"/content/learn/trails/maintain-your-salesforce-certifications"},"description":"Annual renewal of your certifications"},{"ID":52,"link":{"ID":53,"label":"Verify Certifications","url":"/credentials/verification"},"description":"Confirm certification status"},{"ID":54,"link":{"ID":55,"label":"Certification-focused Trails","url":"/search/learning?sort=RELEVANCE\u0026tab=LEARNING\u0026intent=earn-a-certification"},"description":"Prepare for your certification"}],"eyebrowHeading":"Trailblazer resources"}]},{"ID":56,"title":"Help","submenu":[{"ID":57,"menuItems":[{"ID":58,"link":{"ID":59,"label":"Salesforce Help","url":"https://help.salesforce.com/services/auth/sso/trailheadlogincommunity?startURL=/s","target":"_blank"},"description":"Get help with Trailhead, Instructor-led Training, Certifications, Salesforce products, and more"},{"ID":60,"link":{"ID":61,"label":"My Cases","url":"https://help.salesforce.com/services/auth/sso/trailheadlogincommunity?startURL=/s/cases","target":"_blank"},"description":"Review and receive updates about submitted cases"},{"ID":62,"link":{"ID":63,"label":"Hands-On Challenge Help","url":"/trailblazer-community/topics/trailheadchallenges?sort=LAST_MODIFIED_DATE_DESC\u0026ref=nav"},"description":"Get guidance from experts in the Trailblazer Community"},{"ID":64,"link":{"ID":65,"label":"Trailhead Knowledge Articles","url":"/search/learning?sort=RELEVANCE\u0026tab=DOCUMENTATION\u0026object_type=trailhead_knowledge_articles"},"description":"Search knowledge articles and troubleshoot issues"}],"eyebrowHeading":"All support","hasSeparator":true},{"ID":66,"menuItems":[{"ID":67,"link":{"ID":68,"label":"IdeaExchange","url":"https://ideas.salesforce.com/","target":"_blank"},"description":"Share and vote on ideas for improving Salesforce products"},{"ID":69,"link":{"ID":70,"label":"Be A Trailblazer","url":"https://www.salesforce.com/company/be-a-trailblazer/?sfdc-redirect=387","target":"_blank"},"description":"Learn what it means to be a Trailblazer"}],"eyebrowHeading":"Trailblazer resources"}]}]},"utilityNavigation":{"ID":71,"ctamain":{"ID":72,"cta":{"ID":73,"label":"Sign Up","ariaLabel":"Sign Up","url":"/sessions/users/new?type=tbidsignup","variant":"primary","target":"_blank"},"inMobileHeader":false}}}" data-global-nav-config="{"id":"global-nav","hideContent":"false","origin":"https://wp.sfdcdigital.com/en-US/wp-json","tbidModuleOverride":"https://trailhead.salesforce.com/assets/iis-tbid-45ca03ad5930d87d209d07efe9321ed3e51325405a9b6e795e29e923ef4f08b0.js","contextNavEnabled":"true","contextMenuOverride":"true","search":"true","searchOrganizationId":"org62salesforce","searchAccessToken":"xx358122e7-f516-40e1-8467-8837d29c6998","searchPlaceholder":"Search Trailhead","searchSiteUrl":"https://trailhead.salesforce.com/search/learning?tab=LEARNING","searchSite":"th","searchHub":"TrailheadUnified","searchPipeline":"Trailhead","locale":"","searchWithQuickLinks":"false","searchLocale":"en","contactMenuOverride":"true","contactLinksOverride":"[{\"label\":\"Contact Sales\",\"url\":\"https://www.salesforce.com/company/contact-us/?d=cta-header-9\",\"target\":\"_self\"},{\"label\":\"Contact Support\",\"url\":\"https://help.salesforce.com/s/support\",\"target\":\"_self\"},{\"label\":\"Contact Trailhead\",\"url\":\"https://trailhead.salesforce.com/help?support=home\",\"target\":\"_self\"}]","loginTrailblazerLabel":"Trailhead"}" data-subnav-present="false"></script> <div class='th-sticky-breadcrumb'> <div class='th-sticky-breadcrumb__content th-bg--white'> <div class='slds-container_x-large slds-container_center slds-p-horizontal_medium th-text--small slds-p-vertical_medium'> <nav aria-label='Breadcrumbs' role='navigation'> <ol class='th-breadcrumb slds-breadcrumb slds-list_horizontal slds-wrap'> <li class='th-breadcrumb__item slds-breadcrumb__item'> <a class="th-breadcrumb__link" href="/content/learn/modules/lex_implementation_reports_dashboards">Reports & Dashboards for Lightning Experience</a> <div class='th-breadcrumb__item__icon'> <span class='slds-icon_container slds-icon-utility-chevronright' title=''> <svg aria-hidden='true' class='slds-icon_xx-small'> <use xlink:href='/assets/icons/utility-sprite/svg/symbols-e6382c2038036b01b4230804b934660723c3fa4f23aab0ef6bfce6541ad19590.svg#chevronright' xmlns:xlink='http://www.w3.org/1999/xlink'></use> </svg> </span> </div> </li> <li class='th-breadcrumb__item slds-breadcrumb__item'> <div data-react-class="units/UnitsBreadcrumbPopover" data-react-props="{"popover":true,"headingTitle":"Reports \u0026 Dashboards for Lightning Experience","headingImgUrl":"https://res.cloudinary.com/hy4kyit2a/f_auto,fl_lossy,q_70/learn/modules/lex_implementation_reports_dashboards/9dd7e1eb6612e9e04ec9e98ddb46e44c_badge.png","contentTypeLabel":"unit","contentPath":"/content/learn/modules/lex_implementation_reports_dashboards","units":[{"title":"Get to Know Lightning Reports and Dashboards","path":"/content/learn/modules/lex_implementation_reports_dashboards/lex_implementation_reports_dashboards_overview","time":10,"isComplete":false,"is_current_page":false},{"title":"Create Reports with the Report Builder","path":"/content/learn/modules/lex_implementation_reports_dashboards/lex_implementation_reports_dashboards_using_report_builder","time":25,"isComplete":false,"is_current_page":false},{"title":"Filter Your Report","path":"/content/learn/modules/lex_implementation_reports_dashboards/lex_implementation_reports_dashboards_filter_your_report","time":25,"isComplete":false,"is_current_page":false},{"title":"Format Your Report","path":"/content/learn/modules/lex_implementation_reports_dashboards/lex_implementation_reports_dashboards_report_formats","time":25,"isComplete":false,"is_current_page":false},{"title":"Visualize Your Data with the Lightning Dashboard Builder","path":"/content/learn/modules/lex_implementation_reports_dashboards/lex_implementation_reports_dashboards_visualizing_data","time":25,"isComplete":false,"is_current_page":true}],"label":"Visualize Your Data with the Lightning Dashboard Builder"}" data-react-cache-id="units/UnitsBreadcrumbPopover-0"></div> </li> </ol> </nav> </div> </div> </div> <script> window.Trailhead = window.Trailhead || {}; window.Trailhead.ContentService = window.Trailhead.ContentService || {}; window.Trailhead.ContentService.inPreview = false </script> <main id='main'> <div class='th-bg--light' style='position: relative;'> <div class='slds-container_x-large slds-container_center slds-p-around_x-large' id='th-unit-content'> <div class='slds-grid'> <div class='slds-size_3-of-12 slds-col slds-order_2 slds-show_large slds-p-left_x-large unit-sidebar slds-is-relative'> <div class='slds-m-bottom_medium' id='unit-sidebar'> <div class='th-text--small th-text--bold'> Time Estimate </div> <div class='sidebar-content'> <p class='slds-text-body_small'> <span class='slds-icon_container slds-icon-utility-clock' title=''> <svg aria-hidden='true' class='slds-icon slds-icon_x-small slds-icon-text-default'> <use xlink:href='/assets/icons/utility-sprite/svg/symbols-e6382c2038036b01b4230804b934660723c3fa4f23aab0ef6bfce6541ad19590.svg#clock' xmlns:xlink='http://www.w3.org/1999/xlink'></use> </svg> </span> About <b>25</b> mins </p> </div> <div class='slds-m-top_x-large'> <div class='th-text--small th-text--bold'> Topics </div> <div class='topic-list-nav slds-m-bottom_large slds-m-top_x-small'> <ul class='slds-text-body_small'> <li><a href="#learning-objectives">Learning Objectives</a></li><li><a href="#create-dashboards">Create Dashboards</a></li><li><a href="#dashboard-builder">Dashboard Builder</a></li><li><a href="#create-a-dashboard">Create a Dashboard</a></li><li><a href="#use-dynamic-dashboards">Use Dynamic Dashboards</a></li><li><a href="#report-charts">Report Charts</a></li><li><a href="#conclusion">Conclusion</a></li><li><a href="#resources">Resources</a></li> <li class='divider'></li> <li class='topic-challenge slds-p-vertical_x-small slds-m-vertical_small'> <a class="slds-grid slds-grid_align-spread slds-grid_vertical-align-center slds-p-vertical_x-small" href="#challenge"><span> Challenge </span> <span class='slds-badge th-badge--primary'> +500 points </span> </a></li> <li class='divider'></li> </ul> </div> <h2 class="help-link-heading">Looking for Help?</h2> <div style="margin-bottom: 16px;"> <a data-controller="button-link" class="button-link button-link--has-subtext button-link--flex" href="/trailblazer-community/topics/trailheadchallenges?sort=LAST_MODIFIED_DATE_DESC&search=Visualize+Your+Data+with+the+Lightning+Dashboard+Builder&ref=unit" target="_blank" data-cta_type="hoc_help_link" data-unit_name="lex_implementation_reports_dashboards_visualizing_data" > <tds-icon symbol="question" class="button-link__icon"></tds-icon> <span class="button-link__text">Ask the Community</span> </a> <p class="button-link__subtext">Expect a response within <strong>24-48</strong> hours from Help or the community.</p> </div> <div style="margin-bottom: 16px;"> <a data-controller="button-link" class="button-link button-link--flex" href="https://help.salesforce.com/services/auth/sso/trailheadlogincommunity?startURL=%2Fs%2Fcase-submission%3FtopicId%3Da6CAE0000003qPO2AY_en_US_P%26badgeName%3Dlex_implementation_reports_dashboards_visualizing_data" target="_blank" data-trigger_evt_name="toggleModalfeedback_modal" data-prevent_default="true" data-cta_type="help_feedback_link" data-unit_name="lex_implementation_reports_dashboards_visualizing_data" data-page_location="sidebar" data-locale="en" > <tds-icon symbol="answer" class="button-link__icon"></tds-icon> <span class="button-link__text">Share Your Feedback</span> </a> </div> <article class="th-sfdc-product-links_container" data-controller="sfdc-product-links"> <h4 class="th-sfdc-product-links_heading"> Discover More </h4> <aside class="th-sfdc-product-links_link-container"> <a target="_blank" data-lang="en" data-api-name="lex_implementation_reports_dashboards_visualizing_data" data-assessment-type="hoc" data-content-uid="0260fdbe-a025-e304-0db0-53813840afa6" data-content-type="Th::Unit" data-cta-type="demo" data-cta-url="https://salesforce.vidyard.com/watch/y5M3io1fZBdsMS5kd1uTTb/?d=701ed000001S6ujAAC" data-title="See Salesforce Platform in action" data-product-name="Salesforce Platform" data-product-filter="a4973f7d-37fb-4570-b8a7-a2c55cf49b46" href="https://salesforce.vidyard.com/watch/y5M3io1fZBdsMS5kd1uTTb/?d=701ed000001S6ujAAC">See Salesforce Platform in action</a> </aside> <aside class="th-sfdc-product-links_link-container"> <a target="_blank" data-lang="en" data-api-name="lex_implementation_reports_dashboards_visualizing_data" data-assessment-type="hoc" data-content-uid="0260fdbe-a025-e304-0db0-53813840afa6" data-content-type="Th::Unit" data-cta-type="product" data-cta-url="https://salesforce.com/platform?d=701ed000001SBEVAA4" data-title="Learn more about Salesforce Platform" data-product-name="Salesforce Platform" data-product-filter="a4973f7d-37fb-4570-b8a7-a2c55cf49b46" href="https://salesforce.com/platform?d=701ed000001SBEVAA4">Learn more about Salesforce Platform</a> </aside> <aside class="th-sfdc-product-links_link-container"> <a target="_blank" data-lang="en" data-api-name="lex_implementation_reports_dashboards_visualizing_data" data-assessment-type="hoc" data-content-uid="0260fdbe-a025-e304-0db0-53813840afa6" data-content-type="Th::Unit" data-cta-type="trial" data-cta-url="https://www.salesforce.com/form/signup/freetrial-platform?d=701ed000001R1doAAC" data-title="Start a free Salesforce Platform trial today" data-product-name="Salesforce Platform" data-product-filter="a4973f7d-37fb-4570-b8a7-a2c55cf49b46" href="https://www.salesforce.com/form/signup/freetrial-platform?d=701ed000001R1doAAC">Start a free Salesforce Platform trial today</a> </aside> </article> </div> </div> </div> <article class='slds-large-size_9-of-12 slds-size_12-of-12 slds-col slds-order_1'> <h1 class='slds-p-top_small slds-text-heading_large'> Visualize Your Data with the Lightning Dashboard Builder </h1> <div class='unit-content'> <p><strong> </strong></p><p><strong> </strong></p><h2 id="learning-objectives"><span>Learning Objectives</span></h2><p><strong> </strong></p><p><strong> </strong></p><p style="text-align: START;">After completing this unit, you'll be able to: </p><ul style="list-style: disc;"> <li style="list-style-type: inherit;">Explain the difference between report charts and dashboards. <br> </li> <li style="list-style-type: inherit;">Create a dashboard and underlying report. <br> </li> </ul><div class="box message info" style="margin-left: 0.0px"><div class="inner"><div class="bd"><div class="media"> <img src="https://res.cloudinary.com/hy4kyit2a/image/upload/doc/trailhead/en-usb473bb5ea1b7e61dfb07e6a7e547de6b.gif" alt="Note" role="presentation" class="img mtm"><div class="mediaBd"><div class="message-media-content"> <h3>Accessibility</h3> <p>This unit requires some additional instructions for screen reader users. To access a detailed screen reader version of this unit, click the link below: </p> <p><a href="https://developer.salesforce.com/files/accessibility/lex_implementation_reports_dashboards/lex_implementation_reports_dashboards_visualizing_data/index.html" rel="noreferrer noopener" target="_blank">Open Trailhead screen reader instructions</a>. </p> </div></div> </div></div></div></div><h2 id="create-dashboards"><span>Create Dashboards</span></h2><p>Employees at Ursa Major Solar rely on great reports to help them make decisions and take action, like who to call today. But sometimes they need to see the significant picture. Enter the dashboard, unmatched in its ability to summarize and display Salesforce data in a graphical layout. </p><p>Salesforce dashboards present multiple reports side-by-side using dashboard widgets on a single dashboard page layout. Dashboard widgets come in various chart types, tables, metrics, and gauges, and you can customize how data is grouped, summarized, and displayed for each widget. The dashboard builder is an intuitive interface for building dashboards from source reports you’ve created in Salesforce. </p><p>In addition to dashboards, you also have options to add charts to reports and record page layouts. Read on to learn how to visualize data with report charts and dashboard widgets. </p><h2 id="dashboard-builder"><span>Dashboard Builder</span></h2><p>Dashboard builder is your way to visualize your data for easy consumption at-a-glance. Launch the dashboard builder from the Dashboards tab by clicking <strong>New Dashboard</strong>. Enter a name for your dashboard, and click <strong>Create</strong>. </p><p>Insert a widget onto your dashboard by clicking <strong>+ Widget</strong>, or add a filter by clicking <strong>+ Filter</strong><strong>[1]</strong>. When prompted, select the type of content for your new widget, or a field and criteria for a filter. Each widget shows rich text, an image, or data from one report. After you’ve added a widget, click it to resize it, delete it, or change its data-supplying source report ( <img src="https://res.cloudinary.com/hy4kyit2a/f_auto,fl_lossy,q_70/learn/modules/lex_implementation_reports_dashboards/lex_implementation_reports_dashboards_visualizing_data/images/c345a8c61bf68466134d2afd2e65b60a_i.28.png" alt="Edit pencil" width="16.0" class="image">) <strong>[2]</strong>. Position your widgets by dragging them <strong>[3]</strong>. A responsive grid layout supports widgets of different sizes in diverse arrangements <strong>[4]</strong>. </p><p><img src="https://res.cloudinary.com/hy4kyit2a/f_auto,fl_lossy,q_70/learn/modules/lex_implementation_reports_dashboards/lex_implementation_reports_dashboards_visualizing_data/images/1d6a9d5c24d51d537fe99f177a5408e3_i.29.jpg" alt="Dashboard editor" width="774.0" class="image"></p><p>When selecting the widget type, consider the following. </p><table class="featureTable"> <thead class="thead"><tr> <th scope="col" rowspan="1" colspan="1" style="vertical-align:TOP;"><p>Widget Type </p></th> <th scope="col" rowspan="1" colspan="1" style="vertical-align:TOP;"><p>When to Use It </p></th> </tr></thead> <tbody class="tbody"> <tr> <td scope="" rowspan="1" colspan="1" style="vertical-align:TOP;"><p><img src="https://res.cloudinary.com/hy4kyit2a/f_auto,fl_lossy,q_70/learn/modules/lex_implementation_reports_dashboards/lex_implementation_reports_dashboards_visualizing_data/images/e0822e768a44d769ff00e4436a267cea_i.30.jpg" alt="horizontal bar chart" width="40.0" class="image"><img src="https://res.cloudinary.com/hy4kyit2a/f_auto,fl_lossy,q_70/learn/modules/lex_implementation_reports_dashboards/lex_implementation_reports_dashboards_visualizing_data/images/a4eac941fc1e3d6653ef0af86fad02ce_i.31.jpg" alt="vertical bar chart" width="40.0" class="image"><img src="https://res.cloudinary.com/hy4kyit2a/f_auto,fl_lossy,q_70/learn/modules/lex_implementation_reports_dashboards/lex_implementation_reports_dashboards_visualizing_data/images/798a6fe59c87c19627878ad19d331f78_i.32.jpg" alt="stacked horiztonal bar chart" width="40.0" class="image"><img src="https://res.cloudinary.com/hy4kyit2a/f_auto,fl_lossy,q_70/learn/modules/lex_implementation_reports_dashboards/lex_implementation_reports_dashboards_visualizing_data/images/15c32a2083e010f42d71b7c545f67058_i.33.jpg" alt="stacked horizontal bar chart" width="40.0" class="image"><img src="https://res.cloudinary.com/hy4kyit2a/f_auto,fl_lossy,q_70/learn/modules/lex_implementation_reports_dashboards/lex_implementation_reports_dashboards_visualizing_data/images/430fdcdd09fe5b6f3cca915d9eaf2391_i.34.jpg" alt="line chart" width="40.0" class="image"><img src="https://res.cloudinary.com/hy4kyit2a/f_auto,fl_lossy,q_70/learn/modules/lex_implementation_reports_dashboards/lex_implementation_reports_dashboards_visualizing_data/images/0b3eae3fc50edd30e95be8f2b28c02b5_i.35.jpg" alt="donut chart" width="40.0" class="image"><img src="https://res.cloudinary.com/hy4kyit2a/f_auto,fl_lossy,q_70/learn/modules/lex_implementation_reports_dashboards/lex_implementation_reports_dashboards_visualizing_data/images/1a68defda2a94d8c7dcde5fe9a1b3954_i.36.jpg" alt="funnel chart" width="40.0" class="image"><img src="https://res.cloudinary.com/hy4kyit2a/f_auto,fl_lossy,q_70/learn/modules/lex_implementation_reports_dashboards/lex_implementation_reports_dashboards_visualizing_data/images/57f9a47b18e7b9962bf112b8d5afb748_i.37.jpg" alt="scatter chart" width="40.0" class="image"></p></td> <td scope="" rowspan="1" colspan="1" style="vertical-align:TOP;"><p>Use a chart when you want to show data graphically. You can choose from various chart types. </p></td> </tr> <tr> <td scope="" rowspan="1" colspan="1" style="vertical-align:TOP;"><p><img src="https://res.cloudinary.com/hy4kyit2a/f_auto,fl_lossy,q_70/learn/modules/lex_implementation_reports_dashboards/lex_implementation_reports_dashboards_visualizing_data/images/c8ba9bb46a349ec89855b44fef6c9d05_i.38.jpg" alt="gauge" width="40.0" class="image"></p></td> <td scope="" rowspan="1" colspan="1" style="vertical-align:TOP;"><p>Use a gauge when you have a single value that you want to show within a range of custom values. </p></td> </tr> <tr> <td scope="" rowspan="1" colspan="1" style="vertical-align:TOP;"><p><img src="https://res.cloudinary.com/hy4kyit2a/f_auto,fl_lossy,q_70/learn/modules/lex_implementation_reports_dashboards/lex_implementation_reports_dashboards_visualizing_data/images/b5afadc3d34563c5e8adad64355898bb_i.39.jpg" alt="metric" width="40.0" class="image"></p></td> <td scope="" rowspan="1" colspan="1" style="vertical-align:TOP;"><p>Use a metric when you have one key value to display. </p></td> </tr> <tr> <td scope="" rowspan="1" colspan="1" style="vertical-align:TOP;"><p><img src="https://res.cloudinary.com/hy4kyit2a/f_auto,fl_lossy,q_70/learn/modules/lex_implementation_reports_dashboards/lex_implementation_reports_dashboards_visualizing_data/images/d956f918e91fb7e94dccc744a68dc126_i.40.jpg" alt="Lightning table" width="40.0" class="image"><img src="https://res.cloudinary.com/hy4kyit2a/f_auto,fl_lossy,q_70/learn/modules/lex_implementation_reports_dashboards/lex_implementation_reports_dashboards_visualizing_data/images/b32b084c027f2a4c87048dc4893ec5f0_i.41.jpg" alt="legacy table" width="40.0" class="image"></p></td> <td scope="" rowspan="1" colspan="1" style="vertical-align:TOP;"><p>Use a table to show a set of report data in column form. </p></td> </tr> </tbody> </table><p>Finally, when selecting a source report for use in a dashboard widget, keep in mind that you can’t choose joined reports or historical trend reports. </p><h2 id="create-a-dashboard"><span>Create a Dashboard</span></h2><p>Roberto mentioned Maria on Chatter to ask for a comprehensive overview of Ursa Major Solar’s sales pipeline. Let’s help Maria create a dashboard for Roberto. First, you’ll create the source report you use in the dashboard. Let’s make a simple Leads report. </p><ol style="list-style: decimal;"> <li style="list-style-type: inherit;">Click the Reports tab, click <strong>New Report</strong> and select Leads as the report type. Click <strong>Start Report</strong>. <br> </li> <li style="list-style-type: inherit;">Click <strong>Filters </strong>and edit these standard filters: <br> </li> </ol><ul style="list-style: disc;"><ul style="list-style: disc;"> <li style="list-style-type: inherit;">For the Show Me standard filter, select <strong>All Leads</strong>. Click <strong>Apply</strong>. <br> </li> <li style="list-style-type: inherit;">For the Date Field standard filter, select <strong>Create Date</strong>. For Range, select <strong>All Time</strong>. Click <strong>Apply</strong>. <br> </li> </ul></ul><ol style="list-style: decimal;" start="3"> <li style="list-style-type: inherit;">Click <strong>Outline</strong> and group rows by Lead Source. From the <strong>Add group</strong> lookup, select <strong>Lead Source</strong>. <br> </li> <li style="list-style-type: inherit;">Ensure that these columns are included in your report: Lead Owner, First Name, Last Name, Title, Company/Account, Rating, Street, Email. <br> </li> <li style="list-style-type: inherit;">Click <strong>Save</strong>, name your report <span><code>Leads by Lead Source</code></span>, and accept the auto-generated unique name. Click <strong>Save</strong>. <br> </li> <li style="list-style-type: inherit;">Click <strong>Run</strong>. The report should look something like this: <br> </li> </ol><p><img src="https://res.cloudinary.com/hy4kyit2a/f_auto,fl_lossy,q_70/learn/modules/lex_implementation_reports_dashboards/lex_implementation_reports_dashboards_visualizing_data/images/5d89482137af64284172bb2bf07ad58e_i.42.jpg" alt="Leads by source report" width="887.5" class="image"></p><div class="box message info" style="margin-left: 0.0px"><div class="inner"><div class="bd"><div class="media"> <img src="https://res.cloudinary.com/hy4kyit2a/image/upload/doc/trailhead/en-usb473bb5ea1b7e61dfb07e6a7e547de6b.gif" alt="Note" role="presentation" class="img mtm"><div class="mediaBd"><div class="message-media-content"><p>Depending on which org you’re using to practice these steps, you may or may not see data in your report at runtime. </p></div></div> </div></div></div></div><p>Now that your report is created, let’s visualize it using a dashboard widget. </p><ol style="list-style: decimal;"> <li style="list-style-type: inherit;">From the Dashboards tab, click <strong>New Dashboard</strong>. <br> </li> <li style="list-style-type: inherit;">Name your dashboard <span><code>Leads Dashboard</code></span> and, optionally, enter a description. <br> </li> <li style="list-style-type: inherit;">Click <strong>Create</strong>. <br> </li> <li style="list-style-type: inherit;">To insert a widget, click <strong>+ Widget</strong>. <br> </li> <li style="list-style-type: inherit;">Choose <strong>Chart or Table</strong>. <br> </li> <li style="list-style-type: inherit;">From Select Report, choose the Leads report you created earlier, <strong>Leads by Lead Source</strong>, and click <strong>Select</strong>. From Add Component, select the donut chart. <br> </li> </ol><p><img src="https://res.cloudinary.com/hy4kyit2a/f_auto,fl_lossy,q_70/learn/modules/lex_implementation_reports_dashboards/lex_implementation_reports_dashboards_visualizing_data/images/9fbbeda90d5716ee95a7754d129e456b_i.43.jpg" alt="Adding a dashboard component" width="745.0" class="image"></p><ol style="list-style: decimal;" start="7"> <li style="list-style-type: inherit;">Confirm that your widget is titled <span><code>Leads by Lead Source</code></span>. <br> </li> <li style="list-style-type: inherit;">Optionally give your widget a subtitle and footer. <br> </li> <li style="list-style-type: inherit;">Click <strong>Add</strong>. Your new widget appears on the dashboard. <br> </li> <li style="list-style-type: inherit;">Optionally, resize your dashboard widget by clicking it, then dragging the corners and sides. <br> </li> <li style="list-style-type: inherit;">Click <strong>Save</strong> and then click <strong>Done</strong>. Your dashboard should look something like this. <br> </li> </ol><p><img src="https://res.cloudinary.com/hy4kyit2a/f_auto,fl_lossy,q_70/learn/modules/lex_implementation_reports_dashboards/lex_implementation_reports_dashboards_visualizing_data/images/9ae251caa9e1be6f5afd4eb422127819_i.44.jpg" alt="Leads dashboard example" width="663.0" class="image"></p><p>Great job! You just built a simple report and dashboard for visualizing leads by source. </p><h2 id="use-dynamic-dashboards"><span>Use Dynamic Dashboards</span></h2><p>With dynamic dashboards, each user sees the data they have access to without needing to create separate dashboards for each user. </p><p>This means a single powerful dashboard can be used for multiple users in your company, because the logged-in user viewing the dashboard sees the data they should see, based on their security and sharing settings. </p><p>Let's look at an example over at Ursa Major Solar. Say that the sales team consists of one vice president, four sales managers, and 40 sales reps—ten reps per manager. Maria needs to create dashboards that display the following metrics, restricted by role and hierarchy: </p><table class="featureTable"> <thead class="thead"><tr> <th scope="col" rowspan="1" colspan="1" style="vertical-align:TOP;"><p>Role </p></th> <th scope="col" rowspan="1" colspan="1" style="vertical-align:TOP;"><p>Total Bookings </p></th> <th scope="col" rowspan="1" colspan="1" style="vertical-align:TOP;"><p>Close Rates by Competitor </p></th> <th scope="col" rowspan="1" colspan="1" style="vertical-align:TOP;"><p>Number of Activities by Meeting Type </p></th> </tr></thead> <tbody class="tbody"> <tr> <td scope="" rowspan="1" colspan="1" style="vertical-align:TOP;"><p>Sales Rep </p></td> <td scope="" rowspan="1" colspan="1" style="vertical-align:TOP;"><p><img src="https://res.cloudinary.com/hy4kyit2a/f_auto,fl_lossy,q_70/learn/modules/lex_implementation_reports_dashboards/lex_implementation_reports_dashboards_visualizing_data/images/cb83a3c539577659f236dacb7c7bce5e_i.45.png" alt="Check icon indicating true" width="21.0" class="image"></p></td> <td scope="" rowspan="1" colspan="1" style="vertical-align:TOP;"></td> <td scope="" rowspan="1" colspan="1" style="vertical-align:TOP;"><p><img src="https://res.cloudinary.com/hy4kyit2a/f_auto,fl_lossy,q_70/learn/modules/lex_implementation_reports_dashboards/lex_implementation_reports_dashboards_visualizing_data/images/c479626eb1f6200e489e066428b14654_i.46.png" alt="Check icon indicating true" width="21.0" class="image"></p></td> </tr> <tr> <td scope="" rowspan="1" colspan="1" style="vertical-align:TOP;"><p>Sales Manager </p></td> <td scope="" rowspan="1" colspan="1" style="vertical-align:TOP;"><p><img src="https://res.cloudinary.com/hy4kyit2a/f_auto,fl_lossy,q_70/learn/modules/lex_implementation_reports_dashboards/lex_implementation_reports_dashboards_visualizing_data/images/c479626eb1f6200e489e066428b14654_i.47.png" alt="Check icon indicating true" width="21.0" class="image"></p></td> <td scope="" rowspan="1" colspan="1" style="vertical-align:TOP;"><p><img src="https://res.cloudinary.com/hy4kyit2a/f_auto,fl_lossy,q_70/learn/modules/lex_implementation_reports_dashboards/lex_implementation_reports_dashboards_visualizing_data/images/c479626eb1f6200e489e066428b14654_i.48.png" alt="Check icon indicating true" width="21.0" class="image"></p></td> <td scope="" rowspan="1" colspan="1" style="vertical-align:TOP;"></td> </tr> <tr> <td scope="" rowspan="1" colspan="1" style="vertical-align:TOP;"><p>VP of Sales </p></td> <td scope="" rowspan="1" colspan="1" style="vertical-align:TOP;"><p><img src="https://res.cloudinary.com/hy4kyit2a/f_auto,fl_lossy,q_70/learn/modules/lex_implementation_reports_dashboards/lex_implementation_reports_dashboards_visualizing_data/images/c479626eb1f6200e489e066428b14654_i.49.png" alt="Check icon indicating true" width="21.0" class="image"></p></td> <td scope="" rowspan="1" colspan="1" style="vertical-align:TOP;"><p><img src="https://res.cloudinary.com/hy4kyit2a/f_auto,fl_lossy,q_70/learn/modules/lex_implementation_reports_dashboards/lex_implementation_reports_dashboards_visualizing_data/images/c479626eb1f6200e489e066428b14654_i.50.png" alt="Check icon indicating true" width="21.0" class="image"></p></td> <td scope="" rowspan="1" colspan="1" style="vertical-align:TOP;"></td> </tr> </tbody> </table><p>Sales reps should only see their own data; managers should only see data for the reps they manage; and the VP should see data across the entire team. In this scenario, Maria typically would have to create 45 different dashboards—one for every single person. She’d also have to create multiple folders to manage access rights. </p><p>With dynamic dashboards, Maria can create just two dashboards and store them in a single folder. All she needs is a: </p><ul style="list-style: disc;"><li style="list-style-type: inherit;">Dynamic dashboard for sales reps with the following widgets: <br> </li></ul><ul style="list-style: disc;"><ul style="list-style: disc;"> <li style="list-style-type: inherit;">A gauge of total bookings <br> </li> <li style="list-style-type: inherit;">A table of activities by meeting type <br> </li> </ul></ul><ul style="list-style: disc;"><li style="list-style-type: inherit;">Dynamic dashboard for managers and the VP with the following widgets: <br> </li></ul><ul style="list-style: disc;"><ul style="list-style: disc;"> <li style="list-style-type: inherit;">A gauge of total bookings <br> </li> <li style="list-style-type: inherit;">A column chart of close rates by competitor <br> </li> </ul></ul><p>All users see only data that they can access. Sales reps see their own bookings and activities. Managers see bookings and close rates for the reps they manage. The VP sees bookings and close rates for the whole team. Because the metrics are the same for managers and the VP, you can use the same dynamic dashboard for both roles. The dynamic dashboards feature reduces the number of required dashboards from 45 to two! </p><p>Managers with the “View My Team's Dashboards” or “View All Data” permission can set an option to preview the dashboard from the point of view of users under them in the role hierarchy. </p><div class="box message info" style="margin-left: 0.0px"><div class="inner"><div class="bd"><div class="media"> <img src="https://res.cloudinary.com/hy4kyit2a/image/upload/doc/trailhead/en-usb473bb5ea1b7e61dfb07e6a7e547de6b.gif" alt="Note" role="presentation" class="img mtm"><div class="mediaBd"><div class="message-media-content"><p>You can’t save a dynamic dashboard in a private folder. </p></div></div> </div></div></div></div><p><strong>Set up a Dynamic Dashboard </strong></p><p><strong> </strong></p><ol style="list-style: decimal;"> <li style="list-style-type: inherit;">To store the dynamic dashboard and corresponding source reports, create a dashboard folder and a report folder from the Dashboards, Reports, or Analytics tabs. Share these folders with the intended audience. <br> </li> <li style="list-style-type: inherit;">On the Analytics or Dashboards tab, create a dashboard or edit an existing one. <br> </li> <li style="list-style-type: inherit;">Open the properties menu by clicking <img src="https://res.cloudinary.com/hy4kyit2a/f_auto,fl_lossy,q_70/learn/modules/lex_implementation_reports_dashboards/lex_implementation_reports_dashboards_visualizing_data/images/2fa7382fcee0b81b7f55272d936d9a22_i.51.jpg" alt="Edit Dashboard Properties" width="18.0" class="image">. <br> </li> <li style="list-style-type: inherit;">Under View Dashboard As, select <strong>The dashboard viewer</strong>. <br> </li> <li style="list-style-type: inherit;">To let users change the dashboard’s running user, select <strong>Let dashboard viewers choose whom they view the dashboard as</strong>. <br> </li> <li style="list-style-type: inherit;">From the Properties window, click <strong>Save</strong>. Then, from the Dashboard Builder, click <strong>Save</strong> again. <br> </li> </ol><p>When people open your dashboard, they see data as the person that you specified. </p><h2 id="report-charts"><span>Report Charts</span></h2><p><strong> </strong></p><p>If you don’t want to create a dashboard, but just want to add a chart to your report, then report charts may be right for you. Report charts allow you to place a single chart right at the top of your report, so that when you view the report, you can see the chart and the report results in one view. </p><p>Here’s how you add a report chart: </p><ol style="list-style: decimal;"> <li style="list-style-type: inherit;">From the Reports tab, open the report you made earlier, Leads by Lead Source. <br> </li> <li style="list-style-type: inherit;">A chart may already appear at the top of your report. If not, click the add chart button <img src="https://res.cloudinary.com/hy4kyit2a/f_auto,fl_lossy,q_70/learn/modules/lex_implementation_reports_dashboards/lex_implementation_reports_dashboards_visualizing_data/images/6b8652b1e15572965e8f76e26c1e2765_i.52.jpg" alt="Add Chart button" width="111.0" class="image">. You can show or hide the chart at any time by clicking the icon <img src="https://res.cloudinary.com/hy4kyit2a/f_auto,fl_lossy,q_70/learn/modules/lex_implementation_reports_dashboards/lex_implementation_reports_dashboards_visualizing_data/images/0df5f7aec3133fe6b6dc410cd835409b_i.53.jpg" alt="Chart button" width="18.0" class="image">. <br> </li> </ol><p>Presto! Your report now has a chart. </p><h2 id="conclusion"><span>Conclusion</span></h2><p>Now that you know the basics of reports and dashboards, you can start exploring and visualizing the data that’s most helpful to your business. To get more practice applying what you’ve learned, complete the <a href="https://trailhead.salesforce.com/content/learn/projects/create-reports-and-dashboards-for-sales-and-marketing-managers" rel="noreferrer noopener" target="_blank">Create Reports and Dashboards for Sales and Marketing Managers</a> module. Or to learn about advanced visualization and business analytics in Salesforce, complete the <a href="https://trailhead.salesforce.com/content/learn/trails/discover-tableau-crm" rel="noreferrer noopener" target="_blank">Discover CRM Analytics</a> trail and the <a href="https://trailhead.salesforce.com/content/learn/modules/wave_analytics_basics" rel="noreferrer noopener" target="_blank">CRM Analytics Basics</a> module. The sky’s the limit! </p><h2 id="resources"><span>Resources</span></h2><ul style="list-style: disc;"> <li style="list-style-type: inherit;"> <a href="https://help.salesforce.com/articleView?id=dashboards_create_lex.htm&language=en_US" rel="noreferrer noopener" target="_blank"><em>Salesforce Help</em>: Build a Lightning Experience Dashboard</a> </li> <li style="list-style-type: inherit;"> <a href="https://help.salesforce.com/articleView?id=dashboards_components_edit_lex.htm&language=en_US" rel="noreferrer noopener" target="_blank"><em>Salesforce Help</em>: Edit and Customize Lightning Experience Dashboard Components</a> </li> <li style="list-style-type: inherit;"> <a href="https://help.salesforce.com/articleView?id=dashboards_view_as.htm&language=en_US" rel="noreferrer noopener" target="_blank"><em>Dynamic Dashboards</em>: Choose Who People View a Dashboard as in Lightning Experience</a> </li> <li style="list-style-type: inherit;"> <a href="https://trailhead.salesforce.com/content/learn/projects/rd-embed-reports-dashboards" rel="noreferrer noopener" target="_blank"><em>Trailhead</em>: Embed Dashboards and Report Charts on Lightning Pages</a> </li> </ul><p><u> </u></p> </div> <div id='challenge'> <div data-react-class="challenge/Challenge" data-react-props="{"authenticated":false,"msa_signed":false,"challenge":{"unit_uid":"02e358e6-9c02-ac12-0799-5cac7dd721d1","api_name":"lex_implementation_reports_dashboards_visualizing_data","content_uid":"0260fdbe-a025-e304-0db0-53813840afa6","module_uid":"0260fdbd-eb21-540d-b993-d8a411601613","module_api_name":"lex_implementation_reports_dashboards","questions":[],"points_earned":null,"points":500.0,"points_next":250.0,"completed":false,"attempts":0,"type":"assessment","description":"Lincoln Ulrich, the top salesperson at Ursa Major Solar, wants a dashboard that shows all the company’s deals. He wants to see quickly how many opportunities his team has at each stage of the pipeline. Create the underlying opportunities report, then create a dashboard. Add a widget that displays the report as a donut chart on the dashboard.","requirements":["Create a report:\r\n\u003cul\u003e\r\n \u003cli\u003eType: \u003cstrong\u003eOpportunities\u003c/strong\u003e\u003c/li\u003e\r\n \u003cli\u003eStandard Filter:\r\n \u003cul\u003e\r\n \u003cli\u003eDate: \u003cstrong\u003eClose Date\u003c/strong\u003e\u003c/li\u003e\r\n \u003cli\u003eRange: \u003cstrong\u003eAll Time\u003c/strong\u003e\u003c/li\u003e\r\n \u003c/ul\u003e\r\n \u003c/li\u003e\r\n \u003cli\u003eFields:\r\n \u003cul\u003e\r\n \u003cli\u003e\u003cstrong\u003eOpportunity Name\u003c/strong\u003e\u003c/li\u003e\r\n \u003cli\u003e\u003cstrong\u003eOpportunity Owner\u003c/strong\u003e\u003c/li\u003e\r\n \u003c/ul\u003e\r\n \u003c/li\u003e\r\n \u003cli\u003eGroup: \u003cstrong\u003eStage\u003c/strong\u003e\u003c/li\u003e\r\n \u003cli\u003eReport name: \u003ccode\u003eOpportunities in Stages\u003c/code\u003e\u003c/li\u003e\r\n\u003c/ul\u003e\r\n","Create a dashboard:\r\n\u003cul\u003e\r\n \u003cli\u003eName: \u003ccode\u003eBig Deals\u003c/code\u003e\u003c/li\u003e\r\n \u003cli\u003eAdd a widget:\r\n \u003cul\u003e\r\n \u003cli\u003eSelect \u003cstrong\u003eChart or Table\u003c/strong\u003e\u003c/li\u003e\r\n \u003cli\u003eReport: \u003cstrong\u003eOpportunities in Stages\u003c/strong\u003e\u003c/li\u003e\r\n \u003cli\u003eTitle: \u003ccode\u003eOpportunities in Stages\u003c/code\u003e\u003c/li\u003e\r\n \u003cli\u003eDisplay As: \u003cstrong\u003eDonut Chart\u003c/strong\u003e\u003c/li\u003e\r\n \u003c/ul\u003e\r\n \u003c/li\u003e\r\n \u003cli\u003eSave the dashboard\u003c/li\u003e\r\n\u003c/ul\u003e"],"title":"Create an Opportunities Report and Add It to a Dashboard","unit_type":"unit","show_recommendations_on_complete":null,"hide_org_picker":false,"badge_ratings":{"show_badge_ratings":true,"api_name":"lex_implementation_reports_dashboards","trackable":true},"preview_mode":false,"assessment_evaluation_context":{"type":"hoc","title":"Create an Opportunities Report and Add It to a Dashboard","description":"Lincoln Ulrich, the top salesperson at Ursa Major Solar, wants a dashboard that shows all the company’s deals. He wants to see quickly how many opportunities his team has at each stage of the pipeline. Create the underlying opportunities report, then create a dashboard. Add a widget that displays the report as a donut chart on the dashboard.","requirements":["Create a report:\r\n\u003cul\u003e\r\n \u003cli\u003eType: \u003cstrong\u003eOpportunities\u003c/strong\u003e\u003c/li\u003e\r\n \u003cli\u003eStandard Filter:\r\n \u003cul\u003e\r\n \u003cli\u003eDate: \u003cstrong\u003eClose Date\u003c/strong\u003e\u003c/li\u003e\r\n \u003cli\u003eRange: \u003cstrong\u003eAll Time\u003c/strong\u003e\u003c/li\u003e\r\n \u003c/ul\u003e\r\n \u003c/li\u003e\r\n \u003cli\u003eFields:\r\n \u003cul\u003e\r\n \u003cli\u003e\u003cstrong\u003eOpportunity Name\u003c/strong\u003e\u003c/li\u003e\r\n \u003cli\u003e\u003cstrong\u003eOpportunity Owner\u003c/strong\u003e\u003c/li\u003e\r\n \u003c/ul\u003e\r\n \u003c/li\u003e\r\n \u003cli\u003eGroup: \u003cstrong\u003eStage\u003c/strong\u003e\u003c/li\u003e\r\n \u003cli\u003eReport name: \u003ccode\u003eOpportunities in Stages\u003c/code\u003e\u003c/li\u003e\r\n\u003c/ul\u003e\r\n","Create a dashboard:\r\n\u003cul\u003e\r\n \u003cli\u003eName: \u003ccode\u003eBig Deals\u003c/code\u003e\u003c/li\u003e\r\n \u003cli\u003eAdd a widget:\r\n \u003cul\u003e\r\n \u003cli\u003eSelect \u003cstrong\u003eChart or Table\u003c/strong\u003e\u003c/li\u003e\r\n \u003cli\u003eReport: \u003cstrong\u003eOpportunities in Stages\u003c/strong\u003e\u003c/li\u003e\r\n \u003cli\u003eTitle: \u003ccode\u003eOpportunities in Stages\u003c/code\u003e\u003c/li\u003e\r\n \u003cli\u003eDisplay As: \u003cstrong\u003eDonut Chart\u003c/strong\u003e\u003c/li\u003e\r\n \u003c/ul\u003e\r\n \u003c/li\u003e\r\n \u003cli\u003eSave the dashboard\u003c/li\u003e\r\n\u003c/ul\u003e"],"uuid":"37b42ff3-5b95-44c5-bd1a-82713d22c50a","assessment_engine_support":true,"metadata":{"authorization_requirements":{"account_type":"salesforce_org"}},"authorized_account_type":"salesforce_org","authorized_accounts":[],"https_endpoint_supported":null},"disconnect_mulesoft_anypoint_account_path":"/auth/mulesoft_anypoint/delete","trial_cta":null},"next_challenge":{"next_challenge":{"title":"Get to Know Lightning Reports and Dashboards","url":"/content/learn/modules/lex_implementation_reports_dashboards/lex_implementation_reports_dashboards_overview"},"next_parent":false,"next_trailmix_item":false,"all_parents":{"url":"/modules","type":"module"},"parent_trailmix":{}},"sharing":{"app_id":140586622674265,"content":{"title":"Reports \u0026 Dashboards for Lightning Experience","description":"Visualize key business metrics in real-time using Lightning Experience."},"public":true},"rewards":null,"tp_help_link":"\u003ca rel=\"noopener noreferrer\" target=\"_blank\" href=\"//trailhead.salesforce.com/content/learn/modules/trailhead_playground_management\"\u003eTrailhead Playground Management\u003c/a\u003e","namespace_id":"learn","from_learning_path":false}" data-react-cache-id="challenge/Challenge-0"></div> </div> </article> </div> </div> <script type='application/ld+json'> { "@context": "https://schema.org", "@type": "BreadcrumbList", "itemListElement": [{"@type":"ListItem","position":1,"name":"Learn","item":"https://trailhead.salesforce.com"},{"@type":"ListItem","position":2,"name":"Reports \u0026 Dashboards for Lightning Experience","item":"https://trailhead.salesforce.com/content/learn/modules/lex_implementation_reports_dashboards"},{"@type":"ListItem","position":3,"name":"Visualize Your Data with the Lightning Dashboard Builder"}] } </script> </div> </main> <th-footer api-path="/api/v1/ui/footer.js" locale=""></th-footer> </div> <tds-modal data-modal-name-value="feedback_modal" data-modal-cookie-value="true" data-controller="modal" size="" open="false" assistive-text="assistive text" > <div slot="heading"> Share your Trailhead feedback over on Salesforce Help. </div> <div slot="content"> <p>We'd love to hear about your experience with Trailhead - you can now access the new feedback form anytime from the Salesforce Help site.</p> </div> <div slot="footer"> <div style="display: flex; justify-content: right;"> <a data-controller="button-link" class="button-link " href="/help?article=Trailhead-Help-Merge-with-Salesforce-Help-FAQ" target="_blank" data-cta_type="help_feedback_learn_more_link" data-unit_name="lex_implementation_reports_dashboards_visualizing_data" data-page_location="feedback_modal" data-locale="en" > <span class="button-link__text">Learn More</span> </a> <a data-controller="button-link" class="button-link button-link--brand" href="https://help.salesforce.com/services/auth/sso/trailheadlogincommunity?startURL=%2Fs%2Fcase-submission%3FtopicId%3Da6CAE0000003qPO2AY_en_US_P%26badgeName%3Dlex_implementation_reports_dashboards_visualizing_data" target="_blank" data-trigger_evt_name="toggleModalfeedback_modal" data-cta_type="help_feedback_continue_link" data-unit_name="lex_implementation_reports_dashboards_visualizing_data" data-page_location="feedback_modal" data-locale="en" > <span class="button-link__text">Continue to Share Feedback</span> </a> </div> </div> </tds-modal> <script> if (typeof dataLayer === 'undefined') { dataLayer = []; } </script> <noscript> <iframe height='0' src='//www.googletagmanager.com/ns.html?id=GTM-KJPMZK' style='display:none;visibility:hidden' width='0'></iframe> </noscript> <script type="text/plain" class="optanon-category-1" charset="UTF-8">(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= '//www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-KJPMZK'); </script> <script> (function(global) { if(!global.Trailhead) { global.Trailhead = {}; } global.Trailhead.gtmDebugging = false; })(window); </script> <script src="/assets/metrics/interaction_tracking-855ada6c1cb4b23a59e6f2b594bd51edf698d582656ea18eb52c1f57c75f2152.js"></script> <script type='module'> import { setTbidUserInfoResolver } from "https://www.salesforce.com/c/public/app/mjs/identity.js"; setTbidUserInfoResolver( async () => { const tbid = window.localStorage.getItem('tbid'); return { id: tbid }; }); </script> <div id='interaction-studio-placeholder'></div> <script type="text/plain" class="optanon-category-4" charset="UTF-8">let addInteractionStudioBeacon = () => { let isTagSrc = "//cdn.evgnet.com/beacon/salesforce/sf_shared_prod/scripts/evergage.min.js"; let isPlaceholder = document.getElementById("interaction-studio-placeholder"); let isTag = document.createElement("script"); isTag.setAttribute("src", isTagSrc); isTag.setAttribute("defer", true); isPlaceholder.replaceWith(isTag); } let checkIfGaLoaded = () => { return new Promise((resolve, reject) => { let timeStart = Date.now(); const TIMEOUT = 5000; let _isLoaded = function() { if (Date.now() - timeStart > TIMEOUT) { reject('Timeout. Google analytics expected but not loaded'); return; } if (window.ga && ga.create) { resolve(); return; } else { setTimeout(_isLoaded, 500); } }; _isLoaded(); }); } checkIfGaLoaded().then(addInteractionStudioBeacon, console.error); </script> <style> :root { --tds-z-index-toast: 90000; --tds-toaster-offset-top: 150px; } </style> <tds-toaster></tds-toaster> <script src="/packs/js/toaster-109aaa37855de161c671.js" defer="defer"></script> <script> var Trailhead = Trailhead || {}; </script> </body> </html>