mwegener's avatar
mwegener
Icon for Most Valuable Professional rankMost Valuable Professional
10 months ago

Create a Multi-Parameter Table for Thematic Filtering in Power BI

This script creates a ‘Multi Parameter’ table in Power BI that allows you to filter on a single parameter and return up to four associated field references (columns or measures).
With this approach, you can group related fields into thematic sets, making it easy to synchronize multiple visuals on a report page to a specific topic or analytical perspective.

A key consideration is that the order of the fields must be preserved, otherwise Power BI will not correctly recognize the parameter structure.

This technique is ideal for creating flexible, topic-based dashboards where multiple visuals respond to a unified filter context.

Learn more about adapting field parameters to your project here:

https://learn.microsoft.com/en-us/power-bi/create-reports/power-bi-field-parameters

 

createOrReplace

	table 'Multi Parameter'
		lineageTag: bcdcaa89-6654-44ce-9eb9-0679c7b99e4b

		column 'Parameter 4'
			lineageTag: f9032c01-9dfe-4e07-b83a-f531869235a4
			summarizeBy: none
			sourceColumn: [Value8]
			sortByColumn: 'Parameter Order'

			relatedColumnDetails
				groupByColumn: 'Parameter Fields 4'

			annotation SummarizationSetBy = Automatic

		column 'Parameter 3'
			lineageTag: f9032c01-9dfe-4e07-b83a-f531869235a3
			summarizeBy: none
			sourceColumn: [Value6]
			sortByColumn: 'Parameter Order'

			relatedColumnDetails
				groupByColumn: 'Parameter Fields 3'

			annotation SummarizationSetBy = Automatic

		column 'Parameter 2'
			lineageTag: f9032c01-9dfe-4e07-b83a-f531869235a2
			summarizeBy: none
			sourceColumn: [Value4]
			sortByColumn: 'Parameter Order'

			relatedColumnDetails
				groupByColumn: 'Parameter Fields 2'

			annotation SummarizationSetBy = Automatic

		column 'Parameter 1'
			lineageTag: f9032c01-9dfe-4e07-b83a-f531869235a1
			summarizeBy: none
			sourceColumn: [Value1]
			sortByColumn: 'Parameter Order'

			relatedColumnDetails
				groupByColumn: 'Parameter Fields 1'

			annotation SummarizationSetBy = Automatic

		column 'Parameter Fields 1'
			isHidden
			lineageTag: 61e451b3-f5d5-497e-94cd-3f763efbdd41
			summarizeBy: none
			sourceColumn: [Value2]
			sortByColumn: 'Parameter Order'

			extendedProperty ParameterMetadata = {"version":3,"kind":2}

			annotation SummarizationSetBy = Automatic

		column 'Parameter Fields 2'
			isHidden
			lineageTag: 61e451b3-f5d5-497e-94cd-3f763efbdd42
			summarizeBy: none
			sourceColumn: [Value5]
			sortByColumn: 'Parameter Order'

			extendedProperty ParameterMetadata = {"version":3,"kind":2}

			annotation SummarizationSetBy = Automatic

		column 'Parameter Fields 3'
			isHidden
			lineageTag: 61e451b3-f5d5-497e-94cd-3f763efbdd43
			summarizeBy: none
			sourceColumn: [Value7]
			sortByColumn: 'Parameter Order'

			extendedProperty ParameterMetadata = {"version":3,"kind":2}

			annotation SummarizationSetBy = Automatic

		column 'Parameter Fields 4'
			isHidden
			lineageTag: 61e451b3-f5d5-497e-94cd-3f763efbdd44
			summarizeBy: none
			sourceColumn: [Value9]
			sortByColumn: 'Parameter Order'

			extendedProperty ParameterMetadata = {"version":3,"kind":2}

			annotation SummarizationSetBy = Automatic

		column 'Parameter Order'
			isHidden
			formatString: 0
			lineageTag: 8425d3f0-fb91-458d-97c8-b0e3c3acce97
			summarizeBy: sum
			sourceColumn: [Value3]

			annotation SummarizationSetBy = Automatic

		column 'Parameter Filter'
			lineageTag: f9032c01-9dfe-4e07-b83a-f53186923566
			summarizeBy: none
			sourceColumn: [Value10]
			sortByColumn: 'Parameter Order'

			annotation SummarizationSetBy = Automatic

		partition Parameter = calculated
			mode: import
			source =
					{
					    ("Customer", NAMEOF('Customer'[Customer]), 0, "Company", NAMEOF('Customer'[Company]), "Country Name", NAMEOF('Customer'[Country Name]), "Occupation", NAMEOF('Customer'[Occupation]), "Customer"),
					    ("Product", NAMEOF('Product'[Product]), 1, "Category Name", NAMEOF('Product'[Category Name]), "Manufacturer", NAMEOF('Product'[Manufacturer]), "Brand", NAMEOF('Product'[Brand]), "Product")
					}

		annotation PBI_Id = 327d5af8295f4794bec0a018ecba78f0

 

No RepliesBe the first to reply