{"id":708,"date":"2023-05-26T09:36:50","date_gmt":"2023-05-26T15:06:50","guid":{"rendered":"https:\/\/snakconsultancy.com\/blog\/?p=708"},"modified":"2023-08-18T04:23:09","modified_gmt":"2023-08-18T09:53:09","slug":"query-parameters-use-in-power-bi","status":"publish","type":"post","link":"https:\/\/snakconsultancy.com\/blog\/query-parameters-use-in-power-bi\/","title":{"rendered":"Using Query Parameters to Improve Report Interactivity in Power BI"},"content":{"rendered":"\r\n\r\n\t<p><a href=\"https:\/\/snakconsultancy.com\/blog\"> Back to Blogs <\/a><\/p>\r\n\t<p>May 26, 2023 \u00a0 | SNAK Consultancy <\/p>\r\n\t<p><em>Share on<\/em> :\u00a0 \u00a0 \u00a0<div class='maxsocial maxsocial-1 horizontal' data-collection='1' data-nonce='f7f384938c''> \t\t\t\t\t   <span class='mb-item item-0'> \t\t\t\t\t\t\t\t<a href='https:\/\/www.facebook.com\/sharer.php?u=https:\/\/snakconsultancy.com\/blog\/query-parameters-use-in-power-bi\/' class='mb-social' data-popup=\"{&quot;width&quot;:550,&quot;height&quot;:320}\" rel=\"noopener nofollow\"> \t\t\t\t\t\t<span class='mb-icon-wrapper'> \t\t\t\t\t\t\t\t\t\t\t <span class='mb-icon'><svg class=\"svg-mbp-fa\" width=\"15\" height=\"15\" aria-hidden=\"true\" role=\"img\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewbox=\"0 0 320 512\"><path fill=\"currentColor\" d=\"M279.14 288l14.22-92.66h-88.91v-60.13c0-25.35 12.42-50.06 52.24-50.06h40.42V6.26S260.43 0 225.36 0c-73.22 0-121.08 44.38-121.08 124.72v70.62H22.89V288h81.39v224h100.17V288z\"><\/path><\/svg><\/span> <\/span><span class=\"mb-label\">Share<\/span><\/a><\/span><span class='mb-item item-1'> \t\t\t\t\t\t\t\t<a href='https:\/\/www.linkedin.com\/shareArticle?mini=true&url=https:\/\/snakconsultancy.com\/blog\/query-parameters-use-in-power-bi\/' class='mb-social' data-popup=\"{&quot;width&quot;:700,&quot;height&quot;:500}\" rel=\"noopener nofollow\"> \t\t\t\t\t\t<span class='mb-icon-wrapper'> \t\t\t\t\t\t\t\t\t\t\t <span class='mb-icon'><svg class=\"svg-mbp-fa\" width=\"15\" height=\"15\" aria-hidden=\"true\" role=\"img\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewbox=\"0 0 448 512\"><path fill=\"currentColor\" d=\"M100.28 448H7.4V148.9h92.88zM53.79 108.1C24.09 108.1 0 83.5 0 53.8a53.79 53.79 0 0 1 107.58 0c0 29.7-24.1 54.3-53.79 54.3zM447.9 448h-92.68V302.4c0-34.7-.7-79.2-48.29-79.2-48.29 0-55.69 37.7-55.69 76.7V448h-92.78V148.9h89.08v40.8h1.3c12.4-23.5 42.69-48.3 87.88-48.3 94 0 111.28 61.9 111.28 142.3V448z\"><\/path><\/svg><\/span> <\/span><span class=\"mb-label\">Share<\/span><\/a><\/span><span class='mb-item item-2'> \t\t\t\t\t\t\t\t<a href='https:\/\/twitter.com\/intent\/tweet\/?url=https%3A%2F%2Fsnakconsultancy.com%2Fblog%2Fquery-parameters-use-in-power-bi%2F&text=Using+Query+Parameters+to+Improve+Report+Interactivity+in+Power+BI' class='mb-social' data-popup=\"{&quot;width&quot;:550,&quot;height&quot;:320}\" rel=\"noopener nofollow\"> \t\t\t\t\t\t<span class='mb-icon-wrapper'> \t\t\t\t\t\t\t\t\t\t\t <span class='mb-icon'><svg class=\"svg-mbp-fa\" width=\"15\" height=\"15\" aria-hidden=\"true\" role=\"img\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewbox=\"0 0 512 512\"><path fill=\"currentColor\" d=\"M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.675 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.273 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.253z\"><\/path><\/svg><\/span> <\/span><span class=\"mb-label\">Tweet<\/span><\/a><\/span><\/div><\/p>\r\n<h1>\r\n\t\tUsing Query Parameters to Improve Report Interactivity in Power BI\r\n\t<\/h1>\r\n\t\t\t\t<img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/snakconsultancy.com\/blog\/wp-content\/uploads\/2023\/05\/power_BI_parameter-2.jpg\" alt=\"Power BI Query parameters\" itemprop=\"image\" height=\"560\" width=\"1085\" title=\"Power BI Query parameters\" onerror=\"this.style.display='none'\"  \/>\r\n<p>Query parameters are a powerful feature in Power BI that allow report authors to create interactive reports with dynamic filtering and sorting capabilities. In this blog post, we will explore how query parameters can be used to improve report interactivity in Power BI.<\/p>\r\n<p>Query parameters are user-defined variables that can be used to filter and sort data in a report. They can be created in the Power Query Editor, and then referenced in the report design to provide interactive filtering capabilities. For example, a query parameter can be created to allow users to filter a sales report by region or date range.<\/p>\r\n\t<h2><strong>Here are the steps to use query parameters in Power BI<\/strong><\/h2>\r\n<p>Create the query parameter: Open the Power Query Editor, and create a new query parameter by going to the &#8220;Manage Parameters&#8221; option in the &#8220;Home&#8221; tab. Give the parameter a name, data type, and default value<\/p>\r\n<p>Reference the query parameter in a query: Go to the query where the parameter needs to be used, and reference the query parameter using the &#8220;@&#8221; symbol. For example, to filter a sales table by region, use the following formula: Sales[Region] = @RegionParameter<\/p>\r\n<p>Use the parameter in the report: Add a visual to the report, such as a slicer or dropdown list, that allows users to select a value for the query parameter. Then, reference the query parameter in the visual&#8217;s filter settings to dynamically filter the data based on the user&#8217;s selection.<\/p>\r\n\t<h4>Questionnaire<\/h4>\r\n\t<h5><strong>Ques.1) What are Query Parameters?<\/strong><\/h5>\r\n<p>Ans.\u00a0Query parameters are dynamic values that allow users to interact with a report. These parameters can be used to filter, sort, and group data in real-time. Query parameters can be added to a report by using the Power Query Editor.<\/p>\r\n<h5><strong>Ques.2) How to Use Query Parameters in Power BI?<\/strong><\/h5>\r\n<p>Ans.\u00a0There are several steps involved in using query parameters in Power BI. Here are the steps to follow:<\/p>\r\n<p>Step 1\u00a0&#8211; Create a Parameter The first step in using query parameters in Power BI is to create a parameter. To do this, go to the Home tab and click on the Manage Parameters button. This will open the Manage Parameters dialog box. In this dialog box, click on the New button to create a new parameter.<\/p>\r\n<p>Step 2\u00a0&#8211; Define the Parameter After creating a new parameter, you need to define the parameter. You can do this by selecting the parameter and entering the parameter name, data type, and default value.<\/p>\r\n<p>Step 3\u00a0&#8211; Use the Parameter in a Query After defining the parameter, you can use the parameter in a query. To do this, go to the Power Query Editor and select the query you want to modify. In the formula bar, replace the static value with the parameter. This will create a dynamic query that allows users to interact with the data in real-time.<\/p>\r\n<p>Step 4\u00a0&#8211; Use the Parameter in a Visual Once you have created a dynamic query, you can use the parameter in a visual. To do this, add a visual to the report and select the parameter as the filter.<\/p>\r\n<p><strong>Ques.3)What is the use of query parameters in Power BI?<\/strong><\/p>\r\n<p>Ans.\u00a0A parameter serves as a way to easily store and manage a value that can be reused. Parameters give you the flexibility to dynamically change the output of your queries depending on their value, and can be used for: Changing the argument values for particular transforms and data source functions<\/p>\r\n<h5><strong>Ques.4 What is the main purpose of a query parameter?<\/strong><\/h5>\r\n<p>Ans.\u00a0Query parameters are a defined set of parameters attached to the end of a url. They are extensions of the URL that are used to help define specific content or actions based on the data being passed.<\/p>\r\n\t<h3>Conclusion<\/h3>\r\n\t<p>By using query parameters in Power BI, report authors can create interactive reports that allow users to filter and sort data based on their preferences. This can lead to improved insights and better decision making.<\/p>\r\n<h3><strong>Related Articles:<\/strong><\/h3>\r\n<p><a title=\"Comparison chart between Power BI and Qlik Sense\" href=\"https:\/\/www.snakconsultancy.com\/power-bi-and-qlik-sense-comparison.php\">Comparison chart between Power BI and Qlik Sense<\/a><\/p>\r\n<p><a title=\"Salesforce Tablue Vs Microsoft Power BI\" href=\"https:\/\/www.snakconsultancy.com\/salesforce-tablue-vs-microsoft-power-bi.php\">Salesforce Tablue Vs Microsoft Power BI<\/a><\/p>\r\n<p><a title=\"Get Deep Insight Using Power BI Solutions\" href=\"https:\/\/www.snakconsultancy.com\/power-bi-solutions.php\">Get Deep Insight Using Power BI Solutions<\/a><\/p>\r\n\r\n","protected":false},"excerpt":{"rendered":"<p>Query parameters are a powerful feature in Power BI that allow report authors to&#8230;<br \/>\n<span>[maxsocial id=\"1\"]<\/span><\/p>\n","protected":false},"author":2,"featured_media":1031,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"tpl-full-width.php","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[119,122],"tags":[32,130,148,149],"class_list":["post-708","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-data-and-analytics","category-ms-power-bi","tag-microsoft-power-bi","tag-power-bi","tag-power-bi-query-parameters","tag-query-parameters"],"acf":[],"yoast_head":"\n<title>Using Query Parameters to Improve Report Interactivity in Power BI<\/title>\n<meta name=\"description\" content=\"Using Query Parameters to Improve Report Interactivity in Power BI to create interactive reports with dynamic filtering&amp; sorting capabilities\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/snakconsultancy.com\/blog\/query-parameters-use-in-power-bi\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Using Query Parameters to Improve Report Interactivity in Power BI\" \/>\n<meta property=\"og:description\" content=\"Using Query Parameters to Improve Report Interactivity in Power BI to create interactive reports with dynamic filtering&amp; sorting capabilities\" \/>\n<meta property=\"og:url\" content=\"https:\/\/snakconsultancy.com\/blog\/query-parameters-use-in-power-bi\/\" \/>\n<meta property=\"og:site_name\" content=\"Top global IT service,consulting, and outsourcing company\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/snakindiaconsultancy\" \/>\n<meta property=\"article:published_time\" content=\"2023-05-26T15:06:50+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-08-18T09:53:09+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/snakconsultancy.com\/blog\/wp-content\/uploads\/2023\/05\/power_BI_parameter-2.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1085\" \/>\n\t<meta property=\"og:image:height\" content=\"560\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Gaurav Bansal\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:title\" content=\"Using Query Parameters to Improve Report Interactivity in Power BI\" \/>\n<meta name=\"twitter:description\" content=\"Using Query Parameters to Improve Report Interactivity in Power BI to create interactive reports with dynamic filtering&amp; sorting capabilities\" \/>\n<meta name=\"twitter:creator\" content=\"@SNAK_INDIA\" \/>\n<meta name=\"twitter:site\" content=\"@SNAK_INDIA\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Gaurav Bansal\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/snakconsultancy.com\\\/blog\\\/query-parameters-use-in-power-bi\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/snakconsultancy.com\\\/blog\\\/query-parameters-use-in-power-bi\\\/\"},\"author\":{\"name\":\"Gaurav Bansal\",\"@id\":\"https:\\\/\\\/snakconsultancy.com\\\/blog\\\/#\\\/schema\\\/person\\\/160d5fe10e7e983eaa321f7102870af4\"},\"headline\":\"Using Query Parameters to Improve Report Interactivity in Power BI\",\"datePublished\":\"2023-05-26T15:06:50+00:00\",\"dateModified\":\"2023-08-18T09:53:09+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/snakconsultancy.com\\\/blog\\\/query-parameters-use-in-power-bi\\\/\"},\"wordCount\":710,\"publisher\":{\"@id\":\"https:\\\/\\\/snakconsultancy.com\\\/blog\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/snakconsultancy.com\\\/blog\\\/query-parameters-use-in-power-bi\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/snakconsultancy.com\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/05\\\/power_BI_parameter-2.jpg\",\"keywords\":[\"Microsoft Power BI\",\"Power BI\",\"Power BI Query parameters\",\"Query Parameters\"],\"articleSection\":[\"Data and Analytics\",\"MS Power BI\"],\"inLanguage\":\"en\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/snakconsultancy.com\\\/blog\\\/query-parameters-use-in-power-bi\\\/\",\"url\":\"https:\\\/\\\/snakconsultancy.com\\\/blog\\\/query-parameters-use-in-power-bi\\\/\",\"name\":\"Using Query Parameters to Improve Report Interactivity in Power BI\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/snakconsultancy.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/snakconsultancy.com\\\/blog\\\/query-parameters-use-in-power-bi\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/snakconsultancy.com\\\/blog\\\/query-parameters-use-in-power-bi\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/snakconsultancy.com\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/05\\\/power_BI_parameter-2.jpg\",\"datePublished\":\"2023-05-26T15:06:50+00:00\",\"dateModified\":\"2023-08-18T09:53:09+00:00\",\"description\":\"Using Query Parameters to Improve Report Interactivity in Power BI to create interactive reports with dynamic filtering& sorting capabilities\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/snakconsultancy.com\\\/blog\\\/query-parameters-use-in-power-bi\\\/#breadcrumb\"},\"inLanguage\":\"en\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/snakconsultancy.com\\\/blog\\\/query-parameters-use-in-power-bi\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en\",\"@id\":\"https:\\\/\\\/snakconsultancy.com\\\/blog\\\/query-parameters-use-in-power-bi\\\/#primaryimage\",\"url\":\"https:\\\/\\\/snakconsultancy.com\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/05\\\/power_BI_parameter-2.jpg\",\"contentUrl\":\"https:\\\/\\\/snakconsultancy.com\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/05\\\/power_BI_parameter-2.jpg\",\"width\":1085,\"height\":560,\"caption\":\"Power BI Query parameters\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/snakconsultancy.com\\\/blog\\\/query-parameters-use-in-power-bi\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/snakconsultancy.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Power BI Query parameters\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/snakconsultancy.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/snakconsultancy.com\\\/blog\\\/\",\"name\":\"Top global IT service,consulting, and outsourcing company\",\"description\":\"SNAK Consultancy Service\",\"publisher\":{\"@id\":\"https:\\\/\\\/snakconsultancy.com\\\/blog\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/snakconsultancy.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/snakconsultancy.com\\\/blog\\\/#organization\",\"name\":\"Top global IT service,consulting, and outsourcing company\",\"url\":\"https:\\\/\\\/snakconsultancy.com\\\/blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en\",\"@id\":\"https:\\\/\\\/snakconsultancy.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/snakconsultancy.com\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/05\\\/logo.png\",\"contentUrl\":\"https:\\\/\\\/snakconsultancy.com\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/05\\\/logo.png\",\"width\":96,\"height\":44,\"caption\":\"Top global IT service,consulting, and outsourcing company\"},\"image\":{\"@id\":\"https:\\\/\\\/snakconsultancy.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/snakindiaconsultancy\",\"https:\\\/\\\/x.com\\\/SNAK_INDIA\",\"https:\\\/\\\/www.instagram.com\\\/snak_consultancy_services\\\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/snakconsultancy.com\\\/blog\\\/#\\\/schema\\\/person\\\/160d5fe10e7e983eaa321f7102870af4\",\"name\":\"Gaurav Bansal\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/4cce67550e73d5600b53a68158607db937d50ff56a9468269e0ac0233da2bf52?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/4cce67550e73d5600b53a68158607db937d50ff56a9468269e0ac0233da2bf52?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/4cce67550e73d5600b53a68158607db937d50ff56a9468269e0ac0233da2bf52?s=96&d=mm&r=g\",\"caption\":\"Gaurav Bansal\"},\"url\":\"https:\\\/\\\/snakconsultancy.com\\\/blog\\\/author\\\/gaurav-bansal\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Using Query Parameters to Improve Report Interactivity in Power BI","description":"Using Query Parameters to Improve Report Interactivity in Power BI to create interactive reports with dynamic filtering& sorting capabilities","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/snakconsultancy.com\/blog\/query-parameters-use-in-power-bi\/","og_locale":"en_US","og_type":"article","og_title":"Using Query Parameters to Improve Report Interactivity in Power BI","og_description":"Using Query Parameters to Improve Report Interactivity in Power BI to create interactive reports with dynamic filtering& sorting capabilities","og_url":"https:\/\/snakconsultancy.com\/blog\/query-parameters-use-in-power-bi\/","og_site_name":"Top global IT service,consulting, and outsourcing company","article_publisher":"https:\/\/www.facebook.com\/snakindiaconsultancy","article_published_time":"2023-05-26T15:06:50+00:00","article_modified_time":"2023-08-18T09:53:09+00:00","og_image":[{"width":1085,"height":560,"url":"https:\/\/snakconsultancy.com\/blog\/wp-content\/uploads\/2023\/05\/power_BI_parameter-2.jpg","type":"image\/jpeg"}],"author":"Gaurav Bansal","twitter_card":"summary_large_image","twitter_title":"Using Query Parameters to Improve Report Interactivity in Power BI","twitter_description":"Using Query Parameters to Improve Report Interactivity in Power BI to create interactive reports with dynamic filtering& sorting capabilities","twitter_creator":"@SNAK_INDIA","twitter_site":"@SNAK_INDIA","twitter_misc":{"Written by":"Gaurav Bansal","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/snakconsultancy.com\/blog\/query-parameters-use-in-power-bi\/#article","isPartOf":{"@id":"https:\/\/snakconsultancy.com\/blog\/query-parameters-use-in-power-bi\/"},"author":{"name":"Gaurav Bansal","@id":"https:\/\/snakconsultancy.com\/blog\/#\/schema\/person\/160d5fe10e7e983eaa321f7102870af4"},"headline":"Using Query Parameters to Improve Report Interactivity in Power BI","datePublished":"2023-05-26T15:06:50+00:00","dateModified":"2023-08-18T09:53:09+00:00","mainEntityOfPage":{"@id":"https:\/\/snakconsultancy.com\/blog\/query-parameters-use-in-power-bi\/"},"wordCount":710,"publisher":{"@id":"https:\/\/snakconsultancy.com\/blog\/#organization"},"image":{"@id":"https:\/\/snakconsultancy.com\/blog\/query-parameters-use-in-power-bi\/#primaryimage"},"thumbnailUrl":"https:\/\/snakconsultancy.com\/blog\/wp-content\/uploads\/2023\/05\/power_BI_parameter-2.jpg","keywords":["Microsoft Power BI","Power BI","Power BI Query parameters","Query Parameters"],"articleSection":["Data and Analytics","MS Power BI"],"inLanguage":"en"},{"@type":"WebPage","@id":"https:\/\/snakconsultancy.com\/blog\/query-parameters-use-in-power-bi\/","url":"https:\/\/snakconsultancy.com\/blog\/query-parameters-use-in-power-bi\/","name":"Using Query Parameters to Improve Report Interactivity in Power BI","isPartOf":{"@id":"https:\/\/snakconsultancy.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/snakconsultancy.com\/blog\/query-parameters-use-in-power-bi\/#primaryimage"},"image":{"@id":"https:\/\/snakconsultancy.com\/blog\/query-parameters-use-in-power-bi\/#primaryimage"},"thumbnailUrl":"https:\/\/snakconsultancy.com\/blog\/wp-content\/uploads\/2023\/05\/power_BI_parameter-2.jpg","datePublished":"2023-05-26T15:06:50+00:00","dateModified":"2023-08-18T09:53:09+00:00","description":"Using Query Parameters to Improve Report Interactivity in Power BI to create interactive reports with dynamic filtering& sorting capabilities","breadcrumb":{"@id":"https:\/\/snakconsultancy.com\/blog\/query-parameters-use-in-power-bi\/#breadcrumb"},"inLanguage":"en","potentialAction":[{"@type":"ReadAction","target":["https:\/\/snakconsultancy.com\/blog\/query-parameters-use-in-power-bi\/"]}]},{"@type":"ImageObject","inLanguage":"en","@id":"https:\/\/snakconsultancy.com\/blog\/query-parameters-use-in-power-bi\/#primaryimage","url":"https:\/\/snakconsultancy.com\/blog\/wp-content\/uploads\/2023\/05\/power_BI_parameter-2.jpg","contentUrl":"https:\/\/snakconsultancy.com\/blog\/wp-content\/uploads\/2023\/05\/power_BI_parameter-2.jpg","width":1085,"height":560,"caption":"Power BI Query parameters"},{"@type":"BreadcrumbList","@id":"https:\/\/snakconsultancy.com\/blog\/query-parameters-use-in-power-bi\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/snakconsultancy.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Power BI Query parameters"}]},{"@type":"WebSite","@id":"https:\/\/snakconsultancy.com\/blog\/#website","url":"https:\/\/snakconsultancy.com\/blog\/","name":"Top global IT service,consulting, and outsourcing company","description":"SNAK Consultancy Service","publisher":{"@id":"https:\/\/snakconsultancy.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/snakconsultancy.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en"},{"@type":"Organization","@id":"https:\/\/snakconsultancy.com\/blog\/#organization","name":"Top global IT service,consulting, and outsourcing company","url":"https:\/\/snakconsultancy.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en","@id":"https:\/\/snakconsultancy.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/snakconsultancy.com\/blog\/wp-content\/uploads\/2023\/05\/logo.png","contentUrl":"https:\/\/snakconsultancy.com\/blog\/wp-content\/uploads\/2023\/05\/logo.png","width":96,"height":44,"caption":"Top global IT service,consulting, and outsourcing company"},"image":{"@id":"https:\/\/snakconsultancy.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/snakindiaconsultancy","https:\/\/x.com\/SNAK_INDIA","https:\/\/www.instagram.com\/snak_consultancy_services\/"]},{"@type":"Person","@id":"https:\/\/snakconsultancy.com\/blog\/#\/schema\/person\/160d5fe10e7e983eaa321f7102870af4","name":"Gaurav Bansal","image":{"@type":"ImageObject","inLanguage":"en","@id":"https:\/\/secure.gravatar.com\/avatar\/4cce67550e73d5600b53a68158607db937d50ff56a9468269e0ac0233da2bf52?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/4cce67550e73d5600b53a68158607db937d50ff56a9468269e0ac0233da2bf52?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/4cce67550e73d5600b53a68158607db937d50ff56a9468269e0ac0233da2bf52?s=96&d=mm&r=g","caption":"Gaurav Bansal"},"url":"https:\/\/snakconsultancy.com\/blog\/author\/gaurav-bansal\/"}]}},"_links":{"self":[{"href":"https:\/\/snakconsultancy.com\/blog\/wp-json\/wp\/v2\/posts\/708","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/snakconsultancy.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/snakconsultancy.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/snakconsultancy.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/snakconsultancy.com\/blog\/wp-json\/wp\/v2\/comments?post=708"}],"version-history":[{"count":6,"href":"https:\/\/snakconsultancy.com\/blog\/wp-json\/wp\/v2\/posts\/708\/revisions"}],"predecessor-version":[{"id":1204,"href":"https:\/\/snakconsultancy.com\/blog\/wp-json\/wp\/v2\/posts\/708\/revisions\/1204"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/snakconsultancy.com\/blog\/wp-json\/wp\/v2\/media\/1031"}],"wp:attachment":[{"href":"https:\/\/snakconsultancy.com\/blog\/wp-json\/wp\/v2\/media?parent=708"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/snakconsultancy.com\/blog\/wp-json\/wp\/v2\/categories?post=708"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/snakconsultancy.com\/blog\/wp-json\/wp\/v2\/tags?post=708"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}<script id="bv-override-listeners">var __defProp=Object.defineProperty;var __name=(target,value)=>__defProp(target,"name",{value,configurable:!0});var bvPartialDelayJsUrlPatterns=JSON.parse(atob("W10=")),bvPartialDelayJsInlinePatterns=JSON.parse(atob("W10=")),BV_DEBUG_MODE=!1;function bvDebugLog(...args){BV_DEBUG_MODE&&console.log(...args)}__name(bvDebugLog,"bvDebugLog");var bv_partial_delay_js_url_patterns=typeof bvPartialDelayJsUrlPatterns<"u"&&Array.isArray(bvPartialDelayJsUrlPatterns)?bvPartialDelayJsUrlPatterns:[],bv_partial_delay_js_inline_patterns=typeof bvPartialDelayJsInlinePatterns<"u"&&Array.isArray(bvPartialDelayJsInlinePatterns)?bvPartialDelayJsInlinePatterns:[];function bv_is_script_excluded(scriptElement){if(!scriptElement)return!1;if(scriptElement.hasAttribute("bv-exclude"))return!0;var source=scriptElement.getAttribute("src")||scriptElement.src||"";if(source)return bv_partial_delay_js_url_patterns.some(function(pattern){return pattern&&source.indexOf(pattern)!==-1});var content=scriptElement.textContent||"";return bv_partial_delay_js_inline_patterns.some(function(pattern){return pattern&&content.indexOf(pattern)!==-1})}__name(bv_is_script_excluded,"bv_is_script_excluded");function bv_override_browser_listener(target){var bv_og_add_event_listener=target.addEventListener,bv_og_remove_event_listener=target.removeEventListener;function bv_handle_event_listeners(type,listener,options){var handledEvents=["readystatechange","DOMContentLoaded","load","pageshow"],eventName=type;bv_is_script_excluded(document.currentScript)||(eventName=handledEvents.indexOf(type)!==-1?"Airlift"+type:type),arguments[0]=eventName,bv_og_add_event_listener.apply(target,arguments)}__name(bv_handle_event_listeners,"bv_handle_event_listeners");function bv_handle_remove_event_listener(type,listener,options){var handledEvents=["readystatechange","DOMContentLoaded","load","pageshow"],eventName=type;bv_is_script_excluded(document.currentScript)||(eventName=handledEvents.indexOf(type)!==-1?"Airlift"+type:type),arguments[0]=eventName,bv_og_remove_event_listener.apply(target,arguments)}__name(bv_handle_remove_event_listener,"bv_handle_remove_event_listener"),target.addEventListener=function(type,listener,options){bv_handle_event_listeners(type,listener,options)},target.removeEventListener=function(type,listener,options){bv_handle_remove_event_listener(type,listener,options)}}__name(bv_override_browser_listener,"bv_override_browser_listener"),bv_override_browser_listener(window),bv_override_browser_listener(document);function bv_override_property_listeners(target,eventType){if(!target||typeof target!="object"){console.error("bv_override_property_listeners: Invalid target",target);return}var airliftPropertyName="on"+eventType,existingDescriptor=Object.getOwnPropertyDescriptor(target,airliftPropertyName);if(existingDescriptor&&!existingDescriptor.configurable){console.warn("Cannot override "+airliftPropertyName+": property is not configurable");return}var bv_internalHandler=null,airliftEventName="Airlift"+eventType,bvWrapperFunction=__name(function(e){if(bv_internalHandler)try{bv_internalHandler(e)}catch(error){console.error("Error in "+airliftPropertyName+" handler:",error)}},"bvWrapperFunction");try{Object.defineProperty(target,airliftPropertyName,{get:__name(function(){return bv_internalHandler},"get"),set:__name(function(handler){if(handler!=null&&typeof handler!="function"){console.warn("Invalid handler for "+airliftPropertyName+", ignoring");return}handler?(bv_internalHandler||target.addEventListener(airliftEventName,bvWrapperFunction),bv_internalHandler=handler):(bv_internalHandler=null,target.removeEventListener(airliftEventName,bvWrapperFunction))},"set"),enumerable:!0,configurable:!0})}catch(error){console.error("Failed to override "+airliftPropertyName+":",error)}}__name(bv_override_property_listeners,"bv_override_property_listeners"),bv_override_property_listeners(window,"load"),bv_override_property_listeners(window,"pageshow"),bv_override_property_listeners(document,"DOMContentLoaded"),bv_override_property_listeners(document,"readystatechange");function bv_override_document_write(){var bv_original_write=document.write,bv_original_writeln=document.writeln;function bv_handle_document_write(scriptElement,content){try{if(content==null)return;if(content=String(content),bv_is_script_excluded(scriptElement))return bv_original_write.call(document,content);var container=null;scriptElement&&scriptElement.documentWriteContainer?container=scriptElement.documentWriteContainer:(container=document.createElement("span"),scriptElement&&(scriptElement.documentWriteContainer=container)),container.innerHTML+=content;var insertPoint=scriptElement||document.currentScript;if(!container.parentNode)if(insertPoint&&insertPoint.parentNode)insertPoint.parentNode.insertBefore(container,insertPoint.nextSibling);else if(document.body)document.body.appendChild(container);else{console.warn("document.body not ready for document.write, deferring"),typeof window<"u"&&window.addEventListener("DOMContentLoaded",function(){document.body&&!container.parentNode&&document.body.appendChild(container)});return}var tempDiv=document.createElement("span");tempDiv.innerHTML=content;var scriptsInContent=tempDiv.querySelectorAll("script");scriptsInContent.length>0&&scriptsInContent.forEach(function(oldScript){try{var newScript=document.createElement("script"),attributes=oldScript.getAttributeNames();attributes.forEach(function(attr){try{newScript.setAttribute(attr,oldScript.getAttribute(attr))}catch{bvDebugLog("Not able to set Attribute:")}}),newScript.async=!1,!oldScript.src&&oldScript.textContent&&(newScript.textContent=oldScript.textContent),newScript.setAttribute("bv-document-write",""),setTimeout(function(){try{insertPoint&&insertPoint.parentNode?insertPoint.parentNode.insertBefore(newScript,insertPoint.nextSibling):document.head&&document.head.appendChild(newScript)}catch(error){console.error("Error inserting document.write script:",error)}},0)}catch(error){console.error("Error processing document.write script:",error)}})}catch(error){console.error("Error in document.write handler:",error);try{bv_original_write.call(document,content)}catch(e){console.error("Fallback document.write also failed:",e)}}}__name(bv_handle_document_write,"bv_handle_document_write"),document.write=function(content){bv_handle_document_write(document.currentScript,content)},document.writeln=function(content){bv_handle_document_write(document.currentScript,content+`
`)}}__name(bv_override_document_write,"bv_override_document_write"),bv_override_document_write();
</script><script id="bv-dynamic-image-lazyload" data-cfasync="false" bv-exclude="true">var __defProp=Object.defineProperty;var __name=(target,value)=>__defProp(target,"name",{value,configurable:!0});var BV_IS_RESIZE_ENABLED=!0,BV_IMAGES_NOT_TO_RESIZE=[],BV_IMAGE_OPTIMIZATION_FORMAT="webp",BV_DEBUG_MODE=!1;function bvDebugLog(...args){BV_DEBUG_MODE&&console.log(...args)}__name(bvDebugLog,"bvDebugLog");function getImageDeviceName(resized_infos_str,dimensions){let device_width=window.outerWidth;if(resized_infos_str){const device_size_infos=resized_infos_str.split(";");for(const device_info of device_size_infos){const[device_name,resized_dim]=device_info.split(":"),[width_str,height_str]=resized_dim.split("*"),width=parseInt(width_str,10),height=parseInt(height_str,10);if(dimensions.width<=width&&dimensions.height<=height&&device_width<=width)return device_name}return""}return device_width<=480?"bv_resized_mobile":device_width<=820?"bv_resized_ipad":device_width<=1536?"bv_resized_desktop":""}__name(getImageDeviceName,"getImageDeviceName");function isWebpSupported(){var elem=document.createElement("canvas");return elem.getContext&&elem.getContext("2d")?elem.toDataURL("image/webp").indexOf("data:image/webp")==0:!1}__name(isWebpSupported,"isWebpSupported");function getImageOptimizationFormat(){var format=(BV_IMAGE_OPTIMIZATION_FORMAT||"webp").toLowerCase();return format==="avif"?"avif":"webp"}__name(getImageOptimizationFormat,"getImageOptimizationFormat");function getImageOptimizationSuffix(){return".bv."+getImageOptimizationFormat()}__name(getImageOptimizationSuffix,"getImageOptimizationSuffix");function isAvifSupported(callback){var avif=new Image;avif.onload=function(){callback(avif.width>0&&avif.height>0)},avif.onerror=function(){callback(!1)},avif.src="data:image/avif;base64,AAAAHGZ0eXBhdmlmAAAAAG1pZjFhdmlmbWlhZgAAARdtZXRhAAAAAAAAACFoZGxyAAAAAAAAAABwaWN0AAAAAAAAAAAAAAAAAAAAAA5waXRtAAAAAAABAAAANGlsb2MAAAAAREAAAgABAAAAAAE7AAEAAAAAAAAAGAACAAAAAAFTAAEAAAAAAAAAvgAAADhpaW5mAAAAAAACAAAAFWluZmUCAAAAAAEAAGF2MDEAAAAAFWluZmUCAAABAAIAAEV4aWYAAAAAVmlwcnAAAAA4aXBjbwAAAAxhdjFDgQAMAAAAABRpc3BlAAAAAAAAAAEAAAABAAAAEHBpeGkAAAAAAwgICAAAABZpcG1hAAAAAAAAAAEAAQOBAgMAAAAaaXJlZgAAAAAAAAAOY2RzYwACAAEAAQAAAN5tZGF0EgAKCBgABggIaDQgMgoYAAAAQAX172ToAAAABkV4aWYAAElJKgAIAAAABgASAQMAAQAAAFYAAAAbAQUAAQAAAF4AAAAoAQMAAQAAAAIAAAATAgMAAQAAAAEAAABphwQAAQAAAGYAAAAAAAAAOGMAAOgDAAA4YwAA6AMAAAYAAJAHAAQAAAAwMjEwAZEHAAQAAAABAgMAAKAHAAQAAAAwMTAwAaADAAEAAAD//wAAAqAEAAEAAAABAAAAA6AEAAEAAAABAAAAAAAAAA=="}__name(isAvifSupported,"isAvifSupported");function getImageOptimizationFormatSupport(callback){getImageOptimizationFormat()==="avif"?isAvifSupported(callback):callback(isWebpSupported())}__name(getImageOptimizationFormatSupport,"getImageOptimizationFormatSupport");function getExtension(url){return url.split(".").pop().toLowerCase().split("?")[0]}__name(getExtension,"getExtension");function getNewImageUrlSVG(url,image_format_status,encoded_url,dimensions){let url_and_query_string=url.split("?"),new_url=url_and_query_string[0],query_string=url_and_query_string[1];if(!image_format_status)return query_string?url_and_query_string[0]+`?${query_string}`:url_and_query_string[0];var shouldResize=BV_IS_RESIZE_ENABLED&&!BV_IMAGES_NOT_TO_RESIZE.some(pattern=>new_url.includes(pattern));if(shouldResize){let resized_infos=get_bv_identifier(encoded_url,"bv-resized-infos"),device_name=getImageDeviceName(resized_infos,dimensions);if(device_name!=""){let img_ext=getExtension(new_url);new_url+="."+device_name+"."+img_ext}}return new_url+=getImageOptimizationSuffix(),query_string&&(new_url+=`?${query_string}`),new_url}__name(getNewImageUrlSVG,"getNewImageUrlSVG");function get_bv_identifier(property,attr_identifier="bv-identifer"){let a=null;try{a=property.match(/.*?base64,(.*?)"/)}catch(error){bvDebugLog(error)}if(!a||!a[1])try{a=property.match(/.*?base64,(.*)/)}catch(error){bvDebugLog(error)}if(a&&a[1]){let b=null;if(attr_identifier=="bv-identifer"?b=atob(a[1]).match(/.*?bv-identifer="(.*?)"/):attr_identifier=="bv-bg-style"?b=atob(a[1]).match(/.*?bv-bg-style="(.*?)"/):attr_identifier=="bv-resized-infos"?b=atob(a[1]).match(/.*?bv-resized-infos="(.*?)"/):attr_identifier=="bv-img-url"&&(b=atob(a[1]).match(/.*?bv-img-url="(.*?)"/)),b&&b[1])return attr_identifier=="bv-bg-style"||attr_identifier=="bv-resized-infos"?atob(b[1]):b[1]}return!1}__name(get_bv_identifier,"get_bv_identifier");var bv_url_map=JSON.parse('{"0":"https://snakconsultancy.com/blog/wp-content/uploads/al_opt_content/IMAGE/snakconsultancy.com/blog/wp-content/uploads/2023/05/contact_us.jpg","1":"https://snakconsultancy.com/blog/wp-content/uploads/al_opt_content/IMAGE/snakconsultancy.com/images/tech-data.webp"}');const bvObservedNodesWithCounter=new Map;let bv_webp_status=!1;function bvObserveImgNode(node){const bv_counter=bvObservedNodesWithCounter.get(node)||0;bv_counter<50&&(bvObservedNodesWithCounter.set(node,bv_counter+1),other_image_observer.observe(node),bvDebugLog("NodeP with backgroundImage :",node))}__name(bvObserveImgNode,"bvObserveImgNode");function set_iframe_element_src_v2(iframe_element){let src_value=iframe_element.getAttribute("bv-data-src");src_value?(src_value.includes("autoplay=1")&&(src_value+="&mute=1"),iframe_element.setAttribute("src",src_value)):bvDebugLog("IFRAME_SRC_NOT_FOUND : "+entry)}__name(set_iframe_element_src_v2,"set_iframe_element_src_v2");function handleOtherImages(entries){entries.map(entry2=>{if(entry2.isIntersecting){const computedStyle=getComputedStyle(entry2.target),background=computedStyle.getPropertyValue("background")||"none",backgroundImage=computedStyle.getPropertyValue("background-image")||"none";let property_value=null,property_type=null;if(backgroundImage!=="none"&&backgroundImage.match(/url\(/)?(property_value=backgroundImage,property_type="background-image"):background!=="none"&&background.match(/url\(/)&&(property_value=background,property_type="background"),property_value){let bv_img_url=get_bv_identifier(property_value,"bv-img-url"),bv_bg_style=get_bv_identifier(property_value,"bv-bg-style"),url_identifier=get_bv_identifier(property_value),new_url=bv_img_url||(url_identifier?bv_url_map[url_identifier]:null);if(new_url){const regex=/url\(['"]?(data:image.*?)['"]?\)/g;if(bv_bg_style&&bv_bg_style.length>0){for(;(match=regex.exec(bv_bg_style))!==null;){let new_img_url=getNewImageUrlSVG(new_url,bv_webp_status,property_value,entry2.target.getBoundingClientRect());bv_bg_style=bv_bg_style.replace(match[1],new_img_url)}let new_bv_bg_style=entry2.target.getAttribute("style")||"";new_bv_bg_style=new_bv_bg_style+(new_bv_bg_style?";":"")+(bv_bg_style||""),entry2.target.setAttribute("style",new_bv_bg_style)}else{for(;(match=regex.exec(property_value))!==null;){let new_img_url=getNewImageUrlSVG(new_url,bv_webp_status,property_value,entry2.target.getBoundingClientRect());property_value=property_value.replace(match[1],new_img_url)}entry2.target.style.setProperty(property_type,property_value,"important")}}}bvObservedNodesWithCounter.delete(entry2.target),other_image_observer.unobserve(entry2.target)}})}__name(handleOtherImages,"handleOtherImages");function handleIframesV2(entries){entries.map(entry2=>{entry2.isIntersecting&&(set_iframe_element_src_v2(entry2.target),iframe_observer_v2.unobserve(entry2.target))})}__name(handleIframesV2,"handleIframesV2");const bvCheckNode=__name((node,currentLevel=1,maxLevel=1/0)=>{if(node.nodeType===1){const className=node.getAttribute("class");if(node.nodeName==="IFRAME"&&typeof className=="string"&&className.includes("bv-lazyload-iframe"))iframe_observer_v2.observe(node);else{const computedStyle=getComputedStyle(node),background=computedStyle.getPropertyValue("background")||"none",backgroundImage=computedStyle.getPropertyValue("background-image")||"none";backgroundImage!=="none"&&backgroundImage.match(/url\(/)?(get_bv_identifier(backgroundImage,"bv-img-url")||get_bv_identifier(backgroundImage))&&bvObserveImgNode(node):background!=="none"&&background.match(/url\(/)?(get_bv_identifier(background,"bv-img-url")||get_bv_identifier(background))&&bvObserveImgNode(node):typeof className=="string"&&className.includes("bv-lazyload-bg-style")?bv_style_observer.observe(node):typeof className=="string"&&className.includes("bv-lazyload-tag-img")?img_observer.observe(node):typeof className=="string"&&className.includes("bv-lazyload-picture")&&picture_lazy_observer.observe(node)}}currentLevel<maxLevel&&node.childNodes.length&&node.childNodes.forEach(childNode=>{bvCheckNode(childNode,currentLevel+1,maxLevel)})},"bvCheckNode");function bv_handle_mutations(mutations){mutations.forEach(mutation=>{if(mutation.type==="childList"&&mutation.addedNodes.length)mutation.addedNodes.forEach(node=>{setTimeout(function(){bvCheckNode(node)},0)});else if(mutation.type==="attributes"){const targetNode=mutation.target,attributeName=mutation.attributeName,attributeValue=targetNode.getAttribute(attributeName);if(attributeName==="style"&&targetNode.style.backgroundImage!==mutation_observer.prevBackgroundImage){const computedStyle=getComputedStyle(targetNode),background=computedStyle.getPropertyValue("background")||"none",backgroundImage=computedStyle.getPropertyValue("background-image")||"none";backgroundImage!=="none"&&backgroundImage.match(/url\(/)?(get_bv_identifier(backgroundImage,"bv-img-url")||get_bv_identifier(backgroundImage))&&bvObserveImgNode(targetNode):background!=="none"&&background.match(/url\(/)&&(get_bv_identifier(background,"bv-img-url")||get_bv_identifier(background))&&bvObserveImgNode(targetNode)}else attributeName==="class"&&setTimeout(function(){bvCheckNode(targetNode)},0)}})}__name(bv_handle_mutations,"bv_handle_mutations");function handle_mod_key_nodes(){let node_elements=document.querySelectorAll("[bv-img-mod-key]");for(let i=0;i<node_elements.length;i++){let element=node_elements[i],target_key=element.getAttribute("bv-img-mod-key"),mod_url=element.getAttribute(target_key);if(mod_url){let bv_img_url=get_bv_identifier(mod_url,"bv-img-url"),url_identifier=get_bv_identifier(mod_url),old_url=bv_img_url||(url_identifier?bv_url_map[url_identifier]:null);if(old_url){let dimensions=element.getBoundingClientRect(),new_img_url=getNewImageUrlSVG(old_url,bv_webp_status,mod_url,dimensions);element.setAttribute(target_key,new_img_url)}}}}__name(handle_mod_key_nodes,"handle_mod_key_nodes");function bvRemoveEventListeners(){for(const event of bv_lazyload_events)window.removeEventListener(event,handleLazyloadedStyleImages)}__name(bvRemoveEventListeners,"bvRemoveEventListeners");function handleLazyloadedStyleImages(){setTimeout(function(){bvRemoveEventListeners()},0),document.querySelectorAll("body *").forEach(_element=>{setTimeout(function(){bvCheckNode(_element,1,1)},0)})}__name(handleLazyloadedStyleImages,"handleLazyloadedStyleImages");let other_image_observer,iframe_observer_v2,mutation_observer;var bvDynamicImageObserverOptions={rootMargin:"200px 0px",threshold:.01};function bvStartDynamicImageLazyload(image_format_status){bv_webp_status=image_format_status,handle_mod_key_nodes(),"IntersectionObserver"in window&&(other_image_observer=new IntersectionObserver(handleOtherImages,bvDynamicImageObserverOptions),iframe_observer_v2=new IntersectionObserver(handleIframesV2,bvDynamicImageObserverOptions)),"MutationObserver"in window&&(mutation_observer=new MutationObserver(bv_handle_mutations),mutation_observer.prevBackground="",mutation_observer.prevBackgroundImage="",mutation_observer.observe(document.body,{childList:!0,subtree:!0,attributes:!0,characterData:!0})),"IntersectionObserver"in window&&"MutationObserver"in window&&window.addEventListener("load",event=>{for(const event2 of bv_lazyload_events)window.addEventListener(event2,handleLazyloadedStyleImages,{once:!0})})}__name(bvStartDynamicImageLazyload,"bvStartDynamicImageLazyload"),getImageOptimizationFormatSupport(bvStartDynamicImageLazyload);
</script><script id="bv-rename-images" type="text/javascript" data-cfasync="false" bv-exclude="true">var __defProp=Object.defineProperty;var __name=(target,value)=>__defProp(target,"name",{value,configurable:!0});const IMAGE_URL_ATTRIBUTES=["data-src","data-lazy-original","data-lazy-src","data-lazysrc","data-lazysrcset","data-lazy-srcset","data-envira-src","data-srcset","bv-data-src","bv-data-srcset","data-large_image","data-depicter-src","data-depicter-srcset","data-orig-src"],IMAGE_EXTENSIONS=["jpg","jpeg","png","gif","svg","jpe","webp","avif"],BV_CDN_URL="",BV_SITE_OPT_PATH="al_opt_content";var BV_IS_RESIZE_ENABLED=!0,BV_IMAGES_NOT_TO_RESIZE=[],BV_IMAGE_OPTIMIZATION_FORMAT="webp";function isValidUrl(url){return!!/^https?:\/\//i.test(url)}__name(isValidUrl,"isValidUrl");function isImage(url){let img_ext=getExtension(url);return!!IMAGE_EXTENSIONS.includes(img_ext)}__name(isImage,"isImage");function getImageDeviceName(resized_infos_str,dimensions){let device_width=window.outerWidth;if(resized_infos_str){const device_size_infos=resized_infos_str.split(";");for(const device_info of device_size_infos){const[device_name,resized_dim]=device_info.split(":"),[width_str,height_str]=resized_dim.split("*"),width=parseInt(width_str,10),height=parseInt(height_str,10);if(dimensions.width<=width&&dimensions.height<=height&&device_width<=width)return device_name}return""}return device_width<=480?"bv_resized_mobile":device_width<=820?"bv_resized_ipad":device_width<=1536?"bv_resized_desktop":""}__name(getImageDeviceName,"getImageDeviceName");function isWebpSupported(){var elem=document.createElement("canvas");return elem.getContext&&elem.getContext("2d")?elem.toDataURL("image/webp").indexOf("data:image/webp")==0:!1}__name(isWebpSupported,"isWebpSupported");function getImageOptimizationFormat(){var format=(BV_IMAGE_OPTIMIZATION_FORMAT||"webp").toLowerCase();return format==="avif"?"avif":"webp"}__name(getImageOptimizationFormat,"getImageOptimizationFormat");function getImageOptimizationSuffix(){return".bv."+getImageOptimizationFormat()}__name(getImageOptimizationSuffix,"getImageOptimizationSuffix");function isAvifSupported(callback){var avif=new Image;avif.onload=function(){callback(avif.width>0&&avif.height>0)},avif.onerror=function(){callback(!1)},avif.src="data:image/avif;base64,AAAAHGZ0eXBhdmlmAAAAAG1pZjFhdmlmbWlhZgAAARdtZXRhAAAAAAAAACFoZGxyAAAAAAAAAABwaWN0AAAAAAAAAAAAAAAAAAAAAA5waXRtAAAAAAABAAAANGlsb2MAAAAAREAAAgABAAAAAAE7AAEAAAAAAAAAGAACAAAAAAFTAAEAAAAAAAAAvgAAADhpaW5mAAAAAAACAAAAFWluZmUCAAAAAAEAAGF2MDEAAAAAFWluZmUCAAABAAIAAEV4aWYAAAAAVmlwcnAAAAA4aXBjbwAAAAxhdjFDgQAMAAAAABRpc3BlAAAAAAAAAAEAAAABAAAAEHBpeGkAAAAAAwgICAAAABZpcG1hAAAAAAAAAAEAAQOBAgMAAAAaaXJlZgAAAAAAAAAOY2RzYwACAAEAAQAAAN5tZGF0EgAKCBgABggIaDQgMgoYAAAAQAX172ToAAAABkV4aWYAAElJKgAIAAAABgASAQMAAQAAAFYAAAAbAQUAAQAAAF4AAAAoAQMAAQAAAAIAAAATAgMAAQAAAAEAAABphwQAAQAAAGYAAAAAAAAAOGMAAOgDAAA4YwAA6AMAAAYAAJAHAAQAAAAwMjEwAZEHAAQAAAABAgMAAKAHAAQAAAAwMTAwAaADAAEAAAD//wAAAqAEAAEAAAABAAAAA6AEAAEAAAABAAAAAAAAAA=="}__name(isAvifSupported,"isAvifSupported");function getImageOptimizationFormatSupport(callback){getImageOptimizationFormat()==="avif"?isAvifSupported(callback):callback(isWebpSupported())}__name(getImageOptimizationFormatSupport,"getImageOptimizationFormatSupport");function getExtension(url){return url.split("?")[0].split(".").pop().toLowerCase()}__name(getExtension,"getExtension");function getNewImageUrlQuery(url,image_format_status,dimensions){let url_and_query_string=url.split("?"),new_url=url_and_query_string[0],query_string=url_and_query_string[1];if(!image_format_status)return query_string?url_and_query_string[0]+`?${query_string}`:url_and_query_string[0];let params=new URLSearchParams(query_string),resized_infos=params.get("bv-resized-infos");params.delete("bv-resized-infos"),query_string=params.toString();var shouldResize=BV_IS_RESIZE_ENABLED&&!BV_IMAGES_NOT_TO_RESIZE.some(pattern=>new_url.includes(pattern));if(shouldResize){let device_name=getImageDeviceName(resized_infos,dimensions),img_ext=getExtension(new_url);device_name!=""&&(new_url+="."+device_name+"."+img_ext)}return new_url+=getImageOptimizationSuffix(),query_string&&(new_url+=`?${query_string}`),new_url}__name(getNewImageUrlQuery,"getNewImageUrlQuery");function isOurCdnImage(url){const hasCdnUrl=typeof BV_CDN_URL=="string"&&BV_CDN_URL.length>0,hasSiteOptPath=typeof BV_SITE_OPT_PATH=="string"&&BV_SITE_OPT_PATH.length>0;return!!(hasCdnUrl&&url.includes(BV_CDN_URL)||hasSiteOptPath&&url.includes(BV_SITE_OPT_PATH))}__name(isOurCdnImage,"isOurCdnImage");function canChangeUrl(url){return getExtension(url)==="svg"||url.includes("data:image")?!1:!!isOurCdnImage(url)}__name(canChangeUrl,"canChangeUrl");function handleNodeElements(node_elements,img_url_attrs,webp_status){node_elements.forEach(node_element=>{img_url_attrs.forEach(attr=>{flag=!1,node_element.hasAttribute(attr)&&(attr_val=node_element.getAttribute(attr),new_val="",attr_val.split(",").forEach(src=>{let src_parts=src.trim().split(" "),clean_url=src_parts.shift();if(flag?new_val+=",":flag=!0,isValidUrl(clean_url)&&isImage(clean_url))if(canChangeUrl(clean_url)){let new_url=getNewImageUrlQuery(clean_url,webp_status,node_element.getBoundingClientRect());new_val+=[new_url].concat(src_parts).join(" ")}else new_val+=src;else new_val+=src}),node_element.setAttribute(attr,new_val))})})}__name(handleNodeElements,"handleNodeElements");function handleTagWithStyle(tag_elements_with_style,webp_status){tag_elements_with_style.forEach(tag_element=>{let img_url=tag_element.getAttribute("bv-style-url");if(img_url&&isValidUrl(img_url)&&isImage(img_url)&&canChangeUrl(img_url)){let new_img_url=getNewImageUrlQuery(img_url,webp_status,tag_element.getBoundingClientRect()),style_attr_val=tag_element.getAttribute("bv-data-style");style_attr_val&&(new_style_val=style_attr_val.replace(img_url,new_img_url),tag_element.setAttribute("bv-data-style",new_style_val))}})}__name(handleTagWithStyle,"handleTagWithStyle"),getImageOptimizationFormatSupport(function(image_format_status){let img_tags=document.querySelectorAll(".bv-tag-attr-replace");handleNodeElements(img_tags,IMAGE_URL_ATTRIBUTES,image_format_status);let tag_elements_with_style=document.querySelectorAll(".bv-style-attr-replace");handleTagWithStyle(tag_elements_with_style,image_format_status)});
</script>



<template id=d6fe9c24159ed4a27d224d91c70f8fdc></template>

<!-- This website is optimized by Airlift. Learn more: https://airlift.net. Template:. Learn more: https://airlift.net. Template: 6a8d2013190636f139bae8a5. Config Timestamp: 2026-08-25 04:54:37 UTC, Cached Timestamp: 2026-09-29 03:27:41 UTC, Optimization Time: 5.68ms, Asset Normalization Time: 0ms -->