Introduction to Autocomplete

This video illustrates some important concepts and settings related to the Autocomplete visual. It uses a real-world use case, namely address searching, and how "contains" versus "exact" matching can lead to very different outcomes. (It also shows synergy between the Autocomplete visual and the Timelines visual.)


A one minute introduction to the Autocomplete visual.


This video illustrates the use of three specific settings that control matching behavior. It's the first in a series of "how to" videos (follow our YouTube channel for the latest).


This 4 minute video illustrates synergies between the Autocomplete visual and the Text from Values visual.



Use Cases

Our sample PBIX file illustrates a number of real-world use cases where Autocomplete makes a difference. If you'd like to see more concrete examples, send us an email and there's a good chance we'll add your scenario to our sample!

Auto-complete Filter: Our sample PBIX file illustrates a number of real-world use cases where Autocomplete makes

New in version 6.0: per-term operators, match reasons, a paste report, Also Search, quick picks, Copy as DAX and more. See New in Version 6.0, further down this page.

Useful Settings
Definitions
This diagram labels (in red) different data entry mechanisms that the visual supports:
Auto-complete Filter: This diagram labels (in red) different data entry mechanisms that the visual supports
Note: not all settings are covered in this document, but we've selected ones where accompanying pictures may help to further illustrate the setting.

Select Single or Multiple? Filter Styles.
This fundamental setting controls whether the visual allows entry of one filter term, or multiple.
Auto-complete Filter: This fundamental setting controls whether the visual allows entry of one filter term, or
Single selection only needs to show a single text box, where multiple entry offers two modes of entry: the search text box (aka Entry Text Box) and the accumulated filter term area (aka Filter List Area). The accumulated filter area can either be a text area, or a list of values which resemble rounded "pills".
Auto-complete Filter: Single selection only needs to show a single text box, where multiple entry offers two
In version 3.0, a new entry style was added: "Text Pop-up". This hides the filter list area until explicitly invoked. The button used to invoke it will show a red circle glyph when there is at least one filter term in place.
Auto-complete Filter: In version 3.0, a new entry style was added: "Text Pop-up". This hides the filter list
Auto-complete Filter: In version 3.0, a new entry style was added: "Text Pop-up". This hides the filter list (view 2)
It's possible to let the user toggle the entry style between Text and Pills:
Auto-complete Filter: It's possible to let the user toggle the entry style between Text and Pills
Auto-complete Filter: It's possible to let the user toggle the entry style between Text and Pills (view 2)
Auto-complete Filter: It's possible to let the user toggle the entry style between Text and Pills (view 3)

Filtering Behavior and Entry
At the most fundamental level, you can control whether you're filtering to match values or exclude values.
Auto-complete Filter: At the most fundamental level, you can control whether you're filtering to match values or
You can also control whether a) the visual only starts to filter when all data for it is fully loaded, and b) whether finding no matches leads to cross filtering out all data or simply ignores the fact there are no matches.
Auto-complete Filter: You can also control whether a) the visual only starts to filter when all data for it is
As you type a value in the entry text box, autocompletion may try to append the "top match" to what you're actively typing. You can disable this behavior with the 'Attempt Completion' setting.
Auto-complete Filter: As you type a value in the entry text box, autocompletion may try to append the "top
Auto-complete Filter: As you type a value in the entry text box, autocompletion may try to append the "top (view 2)
Auto-complete Filter: As you type a value in the entry text box, autocompletion may try to append the "top (view 3)
With the 'Word Splitting' setting, if you type multiple words in the entry text box, either the whole phrase (as typed) must match (Disabled), all words must match (Intersect), or any word must match (Union). (The example below shows Union enabled.)
Auto-complete Filter: With the 'Word Splitting' setting, if you type multiple words in the entry text box
Auto-complete Filter: With the 'Word Splitting' setting, if you type multiple words in the entry text box (view 2)
The 'Casing' setting can force the case of text entered in the entry text box to upper or lower case, if desired. 'Auto-detect' (the default) examines the source data to determine if it is all upper or lower case to determine what to enforce.
Auto-complete Filter: The 'Casing' setting can force the case of text entered in the entry text box to upper or
When 'Can Change Case' is enabled (the default), text typed in the entry text box can have its case changed, to match source values. For example below we typed 'oscar c' and the case has been changed to match the source's value of 'Oscar Carson'.
Auto-complete Filter: When 'Can Change Case' is enabled (the default), text typed in the entry text box can have
Auto-complete Filter: When 'Can Change Case' is enabled (the default), text typed in the entry text box can have (view 2)

Buttons / Links
Most buttons can be switched out to use links, instead. (The default is to use buttons.)
Auto-complete Filter: Most buttons can be switched out to use links , instead
Auto-complete Filter: Most buttons can be switched out to use links , instead (view 2)
Auto-complete Filter: Most buttons can be switched out to use links , instead (view 3)
Text that's shown for button tool-tips or link text can be changed using "message" setting, under Formatting. (Note that virtually all text messages can be overridden in settings.)
Auto-complete Filter: Text that's shown for button tool-tips or link text can be changed using "message"
Auto-complete Filter: Text that's shown for button tool-tips or link text can be changed using "message" (view 2)
Auto-complete Filter: Text that's shown for button tool-tips or link text can be changed using "message" (view 3)
Button images can be overridden with your own images of choice. You'll find one setting per button. This setting would be used for the Reset button:
Auto-complete Filter: Button images can be overridden with your own images of choice
Auto-complete Filter: Button images can be overridden with your own images of choice (view 2)
Auto-complete Filter: Button images can be overridden with your own images of choice (view 3)
Buttons / links for different features can be selectively shown, using toggle settings. For example, the "Add All Loaded" button is invisible by default, unless it is explicitly enabled here:
Auto-complete Filter: Buttons / links for different features can be selectively shown, using toggle settings
Auto-complete Filter: Buttons / links for different features can be selectively shown, using toggle settings (view 2)
Buttons / links available:
  • Add Current: Adds value currently in the entry text box to the filter area. How the add is performed is controlled by settings such as 'Retain Partial Match on Add' and 'Expand on Add'.
  • Reset: (aka 'Clear''.) Clears any current filters. (Both in the entry text box and filter list.)
  • Can Toggle Show Blanks: When enabled, shows a toggle button that switches between including or excluding blank values in the filter.
  • Can Toggle List Style: When enabled, shows a toggle button that switches between presenting the filter list as an editable text area or a set of read-only text values.
  • Can Toggle Include Exclude: When enabled, shows a toggle button that switches from including the filter items to excluding them.
  • Add All: When enabled and there are source values loaded into the visual, shows a button that will take all distinct source values and place them in the filter list. This can be used to identify source values that are 'currently filtered' based on report cross filters.
  • Get List: When enabled, a button is shown that, when clicked, brings up the pick list. (As opposed to requiring typing of new values in the entry text box to bring up the pick list.)
  • Copy Clipboard: This button, when clicked, copies all values in the filter list to the clipboard.

Using Multiple Filter Terms
Filter terms can be combined using logical "AND" or "OR". (Default is "OR" = Union.) Union means any filter list item match allows the source row to be "seen", where Intersect means all filter list items must match in each source row.
Auto-complete Filter: Filter terms can be combined using logical "AND" or "OR"
Starting in version 3.2, you can have finer-grained control over filter term combining. Enabling the 'Allow Filter Prefixes' setting lets you prefix filter list items with '+' (OR), '&' (AND), or '-' (NOT). Consider this example:
Auto-complete Filter: Starting in version 3
Auto-complete Filter: Starting in version 3 (view 2)
Here we have enabled "Allow Filter Prefixes", and added "&le" and "&nn" as filter terms. Notice that the cross-filter to the table on the right shows only names that contain both "le" and "nn" in their body. Now let's change the set of filter terms to include "-qu":
Auto-complete Filter: Here we have enabled "Allow Filter Prefixes", and added "&le" and "&nn" as filter terms
Note how the table on the right has changed to no longer include items like "Quinn Cole", which contains "qu" as text. If we instead use "+" as a prefix, this example shows names that contain either "kim" or "chen" but not "bob":
Auto-complete Filter: Note how the table on the right has changed to no longer include items like "Quinn Cole"
When multiple filter items are allowed, you can control whether what you're actively typing in the entry text box will "filter out" to other visuals on the page, or whether filtering only happens for "committed values" (i.e. are in the filter list text area / pill list).
Auto-complete Filter: When multiple filter items are allowed, you can control whether what you're actively
When 'Selecting Auto-Adds' is enabled (the default), picking an item in the pick list will add it to the filter list. (It will also close the pick list if 'Keep List Open' is false.) If it's disabled, then the picked value will only be placed in the entry text box, offering the user the option to add it to the filter list using Enter or clicking the Add button/link.
Auto-complete Filter: When 'Selecting Auto-Adds' is enabled (the default), picking an item in the pick list will
Auto-complete Filter: When 'Selecting Auto-Adds' is enabled (the default), picking an item in the pick list will (view 2)
Auto-complete Filter: When 'Selecting Auto-Adds' is enabled (the default), picking an item in the pick list will (view 3)
Auto-complete Filter: When 'Selecting Auto-Adds' is enabled (the default), picking an item in the pick list will (view 4)
When 'Retain Partial Match on Add' is enabled, the pick list can remain open, even when an item is picked. In this case, the item is added to the filter list, and removed from the pick list. This makes it easy to select other values to add which share the same partial match text. In the example below, 'osca' was typed, 'Oscar Chen' was picked, and then 'Oscar Duarte' was picked. The pick list remained open until focus was lost on the entry text box. Notice that the two picked values were added to the filter list.
Auto-complete Filter: When 'Retain Partial Match on Add' is enabled, the pick list can remain open, even when an
Auto-complete Filter: When 'Retain Partial Match on Add' is enabled, the pick list can remain open, even when an (view 2)
Auto-complete Filter: When 'Retain Partial Match on Add' is enabled, the pick list can remain open, even when an (view 3)
Auto-complete Filter: When 'Retain Partial Match on Add' is enabled, the pick list can remain open, even when an (view 4)
'Keep List Open' is similar, where the list will remain open after a selection is made, and focus must be lost or a click on the Close pick list link. In this example, we're picking two names in sequence.
Auto-complete Filter: 'Keep List Open' is similar, where the list will remain open after a selection is made
Auto-complete Filter: 'Keep List Open' is similar, where the list will remain open after a selection is made (view 2)
Auto-complete Filter: 'Keep List Open' is similar, where the list will remain open after a selection is made (view 3)
Auto-complete Filter: 'Keep List Open' is similar, where the list will remain open after a selection is made (view 4)
When 'Enter Adds Single' is enabled, if the visual has suggested additional, non-typed text and you press 'Enter', the full match will be added to the filter list. Otherwise, only the typed portion will be added. Notice how partial matches in the filter list area, by default, filter all rows that relate to the filter text (using all other settings that control matching behavior).
Auto-complete Filter: When 'Enter Adds Single' is enabled, if the visual has suggested additional, non-typed
Auto-complete Filter: When 'Enter Adds Single' is enabled, if the visual has suggested additional, non-typed (view 2)
Auto-complete Filter: When 'Enter Adds Single' is enabled, if the visual has suggested additional, non-typed (view 3)
Auto-complete Filter: When 'Enter Adds Single' is enabled, if the visual has suggested additional, non-typed (view 4)
'Expand on Add', when enabled, changes the nature of the Add button / link, and potentially the Enter key if 'Enter Adds Single' is disabled. Instead of adding the item being entered, the visual identifies all actual matches in the source data and adds them to the filter area. This has the effect of letting you get a full list of matches, from a partial search term. This list can in turn be copied out of the visual, using the clipboard.
Auto-complete Filter: 'Expand on Add', when enabled, changes the nature of the Add button / link, and
Auto-complete Filter: 'Expand on Add', when enabled, changes the nature of the Add button / link, and (view 2)
Auto-complete Filter: 'Expand on Add', when enabled, changes the nature of the Add button / link, and (view 3)
When 'Only Allow Matched' is enabled, partial matches are not used for filtering. This generally requires use of the pick list, or pasting in full values.
Auto-complete Filter: When 'Only Allow Matched' is enabled, partial matches are not used for filtering
Auto-complete Filter: When 'Only Allow Matched' is enabled, partial matches are not used for filtering (view 2)
'Maximum to Filter' controls the maximum number of distinct values in the value source that can be filtered by the visual. The default is 10,000. Increase this at the risk of performance issues.
Auto-complete Filter: 'Maximum to Filter' controls the maximum number of distinct values in the value source
When 'Filter Select All' is enabled, putting focus in the filter list area (when text), the visual will automatically select all text in that text area. (Makes copying it or clearing it easier.)
Auto-complete Filter: When 'Filter Select All' is enabled, putting focus in the filter list area (when text)

Matching Algorithms
Normally, text that's entered in either the entry text box or filter list area must match value source values exactly. However, a number of settings can relax this rule. The remainder of this section discusses these settings.
When 'Case Must Match' is enabled (default is disabled), then the case of the typed text must match the casing in the source data, for it to be considered a match. In this example, the setting is enabled and nothing contains lower-case 'oscar', but does contain 'Oscar':
Auto-complete Filter: When 'Case Must Match' is enabled (default is disabled), then the case of the typed text
Auto-complete Filter: When 'Case Must Match' is enabled (default is disabled), then the case of the typed text (view 2)
Auto-complete Filter: When 'Case Must Match' is enabled (default is disabled), then the case of the typed text (view 3)
'Ignore Non-alphanumeric', when enabled, ignores non-alphanumeric characters in both value source data and entered values. The examples below illustrate how you could enter a value with no whitespace and it would match source values with whitespace, or you could include "extra" whitespace in the entered value and it would match source values without whitespace.
Auto-complete Filter: 'Ignore Non-alphanumeric', when enabled, ignores non-alphanumeric characters in both value
Auto-complete Filter: 'Ignore Non-alphanumeric', when enabled, ignores non-alphanumeric characters in both value (view 2)
Auto-complete Filter: 'Ignore Non-alphanumeric', when enabled, ignores non-alphanumeric characters in both value (view 3)
'Keep Whitespace' provides an exception to 'Ignore Non-alphanumeric' (and all other settings), where whitespace is required to match whitespace. (Multiple consecutive whitespace characters are treated as one.)
Auto-complete Filter: 'Keep Whitespace' provides an exception to 'Ignore Non-alphanumeric' (and all other
Auto-complete Filter: 'Keep Whitespace' provides an exception to 'Ignore Non-alphanumeric' (and all other (view 2)
The 'Retain Characters' setting lets you override 'Ignore Non-Alphanumeric', to include characters of your choice in matching. For example '@' might be an important character as part of an email lookup. In this case, entering '@bob' would match 'fred@bobco.com' but not 'bob@xyz.com' whereas with just 'Ignore Non-Alphanumeric' enabled, both would match.
Auto-complete Filter: 'Keep Whitespace' provides an exception to 'Ignore Non-alphanumeric' (and all other (view 3)
Enabling the 'Diacritic Neutral' setting allows matching between diacritic characters and their non-diacritic equivalents. For example, 'é' and 'e' are treated the same. In the example below, we've typed a name with no diacritic characters, but was able to filter to a source value that does contain diacritic characters.
Auto-complete Filter: Enabling the 'Diacritic Neutral' setting allows matching between diacritic characters and
Auto-complete Filter: Enabling the 'Diacritic Neutral' setting allows matching between diacritic characters and (view 2)
Enabling 'Fuzzy Matching' changes matching rules, after other matching rules have been applied (such as ignore non-alphanumeric, keep whitespace, etc.). Fuzzy matching allows you to find values in the value source which are not exact matches with your entered text. Depending on the algorithm chosen, you can locate similar matches, such as matches that are "close" phonetically. Each available algorithm is described in more in Help.
Auto-complete Filter: Depending on the algorithm chosen, you can locate similar matches, such as matches that
Here are two examples where Double-Metaphone is used. Notice that matches can be found which are "close" to the typed values.
Auto-complete Filter: Here are two examples where Double-Metaphone is used
Auto-complete Filter: Here are two examples where Double-Metaphone is used (view 2)
The 'List Not Fuzzy' setting, when enabled, forces fuzzy matching to only apply to the pick list lookup. Actual filtering out from the visual is based on all matching rules except for fuzzy matching being enabled. This assumes you might be finding real source values using the pick list and adding them to the filter list. If this setting is left disabled, added filter items can expand what is actually filtered to include items that were not technically "picked" by the user, since fuzzy matching would be applied to each filter term. The example below shows the difference between 'List Not Fuzzy' set to false versus true. When false, an item not containing 'johnson' was matched, due to being only similar.
Auto-complete Filter: The 'List Not Fuzzy' setting, when enabled, forces fuzzy matching to only apply to the
Auto-complete Filter: The 'List Not Fuzzy' setting, when enabled, forces fuzzy matching to only apply to the (view 2)
Auto-complete Filter: The 'List Not Fuzzy' setting, when enabled, forces fuzzy matching to only apply to the (view 3)

Secondary Values
For the purposes of this section, we'll use this field configuration:
Auto-complete Filter: For the purposes of this section, we'll use this field configuration
Auto-complete Filter: For the purposes of this section, we'll use this field configuration (view 2)
If we type 'carlos c', notice that the pick list contains additional details - not just the name. These secondary values are not included in the matching, but relate back to the value source, per row. Notice the pick list is sorted by the sales amount measure, in descending order. Notice the sales amount format is being used from the semantic model.
Auto-complete Filter: sales amount format is being used from the semantic model
The general style of the secondary text can be controlled by the 'Secondary Style'. Below we illustrate the use of a custom delimiter.
Auto-complete Filter: The general style of the secondary text can be controlled by the 'Secondary Style'
Auto-complete Filter: The general style of the secondary text can be controlled by the 'Secondary Style' (view 2)
Auto-complete Filter: The general style of the secondary text can be controlled by the 'Secondary Style' (view 3)
Auto-complete Filter: The general style of the secondary text can be controlled by the 'Secondary Style' (view 4)
A format string provides a way to build a secondary string that contains both literal text and secondary values (first is {0}, second is {1}, etc.).
Auto-complete Filter: The general style of the secondary text can be controlled by the 'Secondary Style' (view 5)
Auto-complete Filter: The general style of the secondary text can be controlled by the 'Secondary Style' (view 6)

Multiple Value Source Fields
Starting in version 5.2, you can drag up to four fields into the Value Source well (all from the same table). The visual joins each row's values into a single combined lookup string using the 'Value Separator' setting (default: " - "). For example, with an address column and a city column, a row could appear as "123 Oak Street - Springfield" in the pick list.
Everything you already know about matching applies to the combined string: autocomplete, exact and contains modes, fuzzy matching, batch expansion, and so on all treat "123 Oak Street - Springfield" as one searchable value. This means you can find a row by typing text from any of the combined fields - a city name works just as well as a street number.
When you pick a combined value, the visual filters the underlying rows across all of the provided columns - each selection identifies its exact row combination (street AND city together), and multiple selections are combined with OR. Under the hood this uses a Power BI tuple filter rather than the single-column filter used when one field is provided.

Things to Know
  • All Value Source fields must come from the same table. If fields span tables, the visual shows a warning and does not filter until the configuration is corrected.
  • Exclude mode is not supported with multiple value fields (Power BI tuple filters only support inclusion). The visual shows a warning if exclude mode is active; switch to include mode to apply the filter. With a single field, exclude mode continues to work as before.
  • The order of fields in the well defines the order of values in the combined string. Reordering, adding, or removing fields rebuilds the visual's search index automatically.
  • Choose a 'Value Separator' that doesn't naturally occur inside your data values - it keeps the combined strings readable and unambiguous in the pick list.
  • The 'Filter Default' field (when used) matches against the combined string, not the individual field values.
  • Removing extra fields (back to a single field) returns the visual to its standard single-column filtering behavior with no other changes needed.
  • Dragging a hierarchy into Value Source no longer produces drill-down arrows (a change from 5.1 and earlier). The hierarchy's levels are treated as multiple value fields and combine into a single lookup string, subject to the same 4-field limit.

Layout Options
You can specify the maximum number of items to show in the pick list using the 'Matches Shown' setting.
Auto-complete Filter: You can specify the maximum number of items to show in the pick list using the 'Matches
Enabling the 'Show Close List Link' causes an additional item to be added to the pick list (scrolling may be required), namely a link that when clicked, causes the pick list to close. This offers a way to close the pick list explicitly, as opposed to needing to lose focus from the entry text box. The text for the link can be changed using the 'Close List Text' setting.
Auto-complete Filter: Enabling the 'Show Close List Link' causes an additional item to be added to the pick list
'List Placement' lets you change where the pick list is placed. Each possible setting is shown below.
Auto-complete Filter: 'List Placement' lets you change where the pick list is placed
Auto-complete Filter: 'List Placement' lets you change where the pick list is placed (view 2)
Auto-complete Filter: 'List Placement' lets you change where the pick list is placed (view 3)
Auto-complete Filter: 'List Placement' lets you change where the pick list is placed (view 4)
Auto-complete Filter: 'List Placement' lets you change where the pick list is placed (view 5)
'List Height Ratio' lets you control the maximum size of the pick list. The example below shows the default setting of '95' versus '50' in the next figure.
Auto-complete Filter: 'List Height Ratio' lets you control the maximum size of the pick list
Auto-complete Filter: 'List Height Ratio' lets you control the maximum size of the pick list (view 2)
Auto-complete Filter: 'List Height Ratio' lets you control the maximum size of the pick list (view 3)

Did you know? The Autocomplete visual can look like a lot more than a plain search box. Both pictures below are the same visual on the same data: the first uses the defaults, and the second changes only the formatting settings listed underneath. No theme file or custom code is involved.

Auto-complete Filter: the default look - a plain entry box with standard buttons
Auto-complete Filter: the same visual styled - warm colors, the Georgia font, a titled frame with rounded corners and a shadow, and custom button images

The settings used, grouped the way the format pane shows them:

  • Colors → General & Background: 'Text Color' #1F3A5F, 'Status Message Color' #6A1B9A, 'Background Color' #FFF4E0, 'Background Opacity' 100.
  • Colors → Entry & List Areas: 'Entry Background Color' #FFFBEA, 'Entry Border Color' #C05600, 'Placeholder Text Color' #8A5A00, 'Filter Background Color' #FFFBEA.
  • Colors → Buttons, Links & Pills: 'Button Background Color' #FFD8A8, 'Links Color' #C05600, 'Pill Background Color' #FFE8CC.
  • Formatting → Fonts & Sizes: 'Entry Font' and 'Filter Font' Georgia, 'Entry Text Size' 15, 'Filter Text Size' 13.
  • Formatting → Virtual Frame: 'Virtual Height' 250; 'Frame Title' on, with 'Frame Title Text' Styled frame title, 'Frame Title Font Size' 13 and 'Frame Title Color' #C05600; 'Frame Border Width' 2 and 'Frame Border Color' #C05600; 'Frame Corner Radius' 12; 'Frame Shadow' on, with 'Shadow Color' #8A5A00, 'Shadow Blur' 8 and 'Shadow Distance' 4.
  • Formatting → Button Image Overrides: 'Image: Add', 'Image: Reset' and 'Image: Down', each set to one of the images below. The drop-down button only appears when 'Show Get List Button' is on, under Formatting → Display & Layout.
The three button images, ready to paste

Each image setting takes text that starts with data:image/. These are small SVG icons in the colors above.

  • 'Image: Add': data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScxNicgaGVpZ2h0PScxNicgdmlld0JveD0nMCAwIDE2IDE2Jz48Y2lyY2xlIGN4PSc4JyBjeT0nOCcgcj0nNycgZmlsbD0nI0MwNTYwMCcvPjxwYXRoIGQ9J004IDR2OE00IDhoOCcgc3Ryb2tlPScjZmZmJyBzdHJva2Utd2lkdGg9JzInLz48L3N2Zz4=
  • 'Image: Reset': data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScxNicgaGVpZ2h0PScxNicgdmlld0JveD0nMCAwIDE2IDE2Jz48Y2lyY2xlIGN4PSc4JyBjeT0nOCcgcj0nNycgZmlsbD0nIzZBMUI5QScvPjxwYXRoIGQ9J001IDVsNiA2TTExIDVsLTYgNicgc3Ryb2tlPScjZmZmJyBzdHJva2Utd2lkdGg9JzInLz48L3N2Zz4=
  • 'Image: Down': data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScxNicgaGVpZ2h0PScxNicgdmlld0JveD0nMCAwIDE2IDE2Jz48cmVjdCB4PScxJyB5PScxJyB3aWR0aD0nMTQnIGhlaWdodD0nMTQnIHJ4PSczJyBmaWxsPScjQzA1NjAwJy8+PHBhdGggZD0nTTQgNmw0IDQgNC00JyBzdHJva2U9JyNmZmYnIHN0cm9rZS13aWR0aD0nMicgZmlsbD0nbm9uZScvPjwvc3ZnPg==

Two tips. 'Virtual Height' sets how tall the frame is drawn: 250 pixels gives the roomy card shown here, and a smaller value gives a compact one. Size the visual itself a little taller than the frame, so the suggestion list has room to open below it. And when you use a frame, turn off the visual's own General → Effects → Background and Visual border, so the frame is the only card you see.


Other Advanced Features
'Expand Only if Contains' is similar to 'List Not Fuzzy', except it applies when expanding matches (when 'Expand on Add' is enabled): matches must contain the partial match text as typed to be expanded into the filter list. This is most useful when fuzzy matching is enabled, and you may not want to add unexpected values. In the example below, 'kim ch' has two possible matches with double-metaphone enabled, but hitting Enter (or clicking Add) will only add 'Kim Chen' since the typed text appears in the match.
Auto-complete Filter: 'Expand Only if Contains' is similar to 'List Not Fuzzy', except it applies when expanding
Auto-complete Filter: 'Expand Only if Contains' is similar to 'List Not Fuzzy', except it applies when expanding (view 2)
Auto-complete Filter: 'Expand Only if Contains' is similar to 'List Not Fuzzy', except it applies when expanding (view 3)
'Maximum Lexical Distance' lets you fine-tune how similar pick list suggestions need to be from your typed text. In this example, when the maximum lexical distance is set to '3', we get two possible matches when typing 'kim ch'. However, changing it to '2' results in only one possible match.
Auto-complete Filter: 'Maximum Lexical Distance' lets you fine-tune how similar pick list suggestions need to be
Auto-complete Filter: 'Maximum Lexical Distance' lets you fine-tune how similar pick list suggestions need to be (view 2)
Auto-complete Filter: 'Maximum Lexical Distance' lets you fine-tune how similar pick list suggestions need to be (view 3)
'Blank Lookup Text', when provided, becomes a data value that's included in the value source. When it's 'picked' either by entering or picking from the pick list, it matches blank values which might be present in the value source. (In fact, this only has an effect if there is at least one blank value in the source.)
Auto-complete Filter: 'Blank Lookup Text', when provided, becomes a data value that's included in the value
Auto-complete Filter: 'Blank Lookup Text', when provided, becomes a data value that's included in the value (view 2)
Auto-complete Filter: 'Blank Lookup Text', when provided, becomes a data value that's included in the value (view 3)
'List Item Matching' lets you add filter items which contain a superset of the text intended for matching. For example, you could paste a name followed by a semi-colon, followed by an address into the visual, with an intention to only match by the name.
Auto-complete Filter: 'List Item Matching' lets you add filter items which contain a superset of the text
Auto-complete Filter: 'List Item Matching' lets you add filter items which contain a superset of the text (view 2)
Auto-complete Filter: 'List Item Matching' lets you add filter items which contain a superset of the text (view 3)

New in Version 6.0

Version 6.0 lets one list mix match rules, shows why a suggestion matched, checks a pasted list, searches several columns from one box, and keeps searches one click away. It is an in-place upgrade: reports that use the visual pick it up automatically, and no setting was renamed or removed. Most of it stays out of sight until you switch it on; the few things that do change are listed under What Changes When You Upgrade from 5.x.

  • Per-term operators — exact, starts-with, ends-with, fuzzy and exclude terms side by side in one list.
  • Match reasons — a small mark says why a sounds-like, close-spelling or whole-word suggestion is in the pick list.
  • Paste report — after pasting a list, see which terms matched exactly, inexactly or not at all.
  • Unmatched terms — spot selections that match nothing under the report's other filters.
  • Also Search — one box that searches several columns and filters the one that matched.
  • Quick picks and recent searches — named term sets and each viewer's recent searches, one click away.
  • Copy as DAX — take the applied filter straight into a measure.
  • Accessibility — screen readers, keyboard-only use, reduced motion and contrast.
  • Power Search styling presets — the new search features in one step.

Per-term Operators
Since version 3.2, 'Allow Filter Prefixes' has let a filter term start with '+', '&' or '-' (see Using Multiple Filter Terms). Version 6.0 turns this into a small syntax that gives each term its own rule, so one list can mix them. A term can start with one of '+ & -', then one of '= ^ $ ~', then the text itself:
WriteMeaningExample
=Exact value=Contoso Ltd matches that customer only, not every name that contains it.
^Starts with^Contoso matches Contoso Ltd and Contoso Northwest, but not The Contoso Group.
$Ends with$Group matches The Contoso Group.
~Fuzzy, for this term~kontoso filters by fuzzy matching even while 'List Not Fuzzy' keeps the other terms literal. 'Fuzzy Matching' must be on; with a sounds-like 'Fuzzy Algorithm' such as Double-metaphone it finds Kontoso Limited and the three Contoso customers.
-Exclude-The Contoso Group removes it from what the other terms match.
+ &Union, intersectExactly as since version 3.2.
"…"No operators"-5 Discount" is searched as ordinary text instead of being read as an exclusion (it finds -5 Discount Co).
CombinedExclude, with a match rule-=Contoso Ltd excludes exactly that value; -^Contoso excludes every value that starts with Contoso.
For example, Contoso, -The Contoso Group and =Northwind Traders in one list filter to Contoso Ltd, Contoso Northwest and Northwind Traders: everything containing Contoso, minus The Contoso Group, plus exactly Northwind Traders.
How much of this syntax is read is set by 'Term Operators' (Data and Interaction → Filtering), which supersedes 'Allow Filter Prefixes': a new report no longer needs that switched on.
  • Automatic (the default): a report that had 'Allow Filter Prefixes' switched on keeps exactly its older '+ & -' behavior, and every other report reads operators exactly as Data-aware does.
  • Data-aware (all operators): a leading operator character is only read as an operator when the whole term is not itself one of your values, so a customer really called '-5 Discount Co' is left alone, as are negative numbers, Excel exports that begin with '=' and file paths that begin with '~'. Wrap a term in double quotes to force it to be taken literally.
  • Legacy (+ & - only): exactly the version 3.2 prefixes. Off: no operators are read at all.
For example, with a customer really called '-5 Discount Co', typing -5 Discount Co adds that customer as it is (its pill has no badge), while =Contoso Ltd is read as an exact-value operator, because no customer is called '=Contoso Ltd'.
Auto-complete Filter: under Data-aware operators, a -5 Discount Co pill with no badge, because -5 Discount Co is a real customer, and the table showing its one order
In the Pills style, a term that uses an operator shows its value with a small badge for the operator — -The Contoso Group appears as 'The Contoso Group' with a '-' badge — and hovering the badge gives its meaning. Pills without an operator look as before, and the Text list styles show every term as typed. The badge is a label, not a control: to change a pill's operator, remove the pill and add the term again with the new operator. The badges are controlled by 'Show Pill Operator Badges' (on by default) and 'Pill Operator Badge Color'. With 'Show Operator Picker' on (off by default), a small button to the left of the entry text box sets the operator for the next value added, typed or picked: each click moves it along — a dot for none, then '=', '^', '$', '~' and '-' — and it returns to none after each add unless 'Operator Picker Is Sticky' is on.
Auto-complete Filter: pills for Contoso Ltd with an equals badge (exact) and The Contoso Group with a dollar badge (ends with), the operator picker button left of the entry box, and the table narrowed to those two customers
With 'Include Current as Type' on (the default), the text you are still typing already filters the report with the operator the picker shows, exactly as it will once added: with a Contoso pill in the list and the picker on '-', typing The Contoso Group already leaves just Contoso Ltd and Contoso Northwest.
More detail
  • The operator picker applies to a value picked from the suggestion list as well as to a typed one. A picked value is always taken as that value, even one that begins with an operator character; one that is itself wrapped in double quotes ("Classic", quotes included) is added quoted once more, so it keeps its quotes.
  • Choosing another operator while text is typed re-applies that text with the new operator, and leaving the entry text box without adding the text keeps that filter, operator included.
  • An exclusion subtracts from what the other terms include, as it always has: a list holding only -Contoso selects nothing, so under the default 'Load Behavior' the report shows no data. To show everything except some values, use 'Filter Mode' = Exclude (or the include / exclude button).
  • Under 'Only Allow Exact', an operator overrides exact matching for its own term: '^', '$' and '~' match as they would under contains matching, and '=' stays a whole-value lookup. '-' then excludes by exact value unless a match operator follows it (-^Contoso), and '+' and '&' have no effect.
  • While data is still loading, the visual cannot yet tell whether a term is one of your values, so Data-aware reads the operator.
  • The operator picker appears only with 'Support Multiple' on and 'Term Operators' reading the full operator set. With 'Allow CSV Entry', its operator applies to every comma-separated term of the entry.
  • 'Show Pill Operator Badges' and 'Show Operator Picker' are under Formatting → Display & Layout; 'Pill Operator Badge Color' is under Colors → Buttons, Links & Pills.

Match Reasons in the Pick List
A pick list row that matched for a reason you cannot see in its text now carries a small mark: '~' when it sounds like what you typed (the Double-metaphone algorithms), '≈' for a close spelling (the Standard algorithm), and '·' when what you typed is a whole word further inside the value (typing 'contoso' marks The Contoso Group). With the Custom Mapping or Lemmatized algorithm a fuzzy row also carries '≈', described as a fuzzy match rather than a close spelling, since those rules are not spelling corrections. Rows that start with what you typed, or contain it inside a word, carry no mark. Hover a mark for its wording — Sounds like what you typed, Close spelling, Fuzzy match or Whole word inside this value — which a screen reader hears after the value. For example, with 'Fuzzy Matching' on and 'Fuzzy Algorithm' set to Double-metaphone, typing 'kontoso' lists Kontoso Limited without a mark, and Contoso Ltd, Contoso Northwest and The Contoso Group each with '~'.
Auto-complete Filter: typing kontoso lists Kontoso Limited unmarked and three Contoso customers marked with a tilde, meaning they sound like what was typed
Auto-complete Filter: typing group lists The Contoso Group with a middle dot, marking a whole word inside the value, and =Equals Corp with a tilde
The setting is 'Show Match Reason' (Formatting → Display & Layout): 'Inexact only' (the default, also on upgraded reports), 'All' (the same marks today) or 'Off'. The marks are not available with the 'Native (can overflow the visual)' list placement, where the browser draws the list.

Paste Report
After a viewer pastes several terms into the Text list, pastes a comma-separated list into the entry text box (with 'Allow CSV Entry' on), or uses 'Expand Batch with Mappings', a line under the list now says how the terms matched — for example 2 exact · 1 inexact · 2 unmatched — with a Details link. Exact means the term is one of your values, inexact that it matched values that start with it or contain it (or, with fuzzy matching, sound or are spelled like it), and unmatched that the filter got nothing from it. The filter is applied first, exactly as before: the report only describes it.
Say a viewer pastes five customer names from an email: Contoso Ltd, Northwind Traders, Fabrikam, Contso and Acme Corp. Details lists the unmatched terms first (Contso, a typo, and Acme Corp), then the inexact one (Fabrikam matched Fabrikam Inc and Fabrikam Supply). Its buttons are Copy unmatched, Copy inexact mapping (ready to paste into Excel), Remove unmatched from list, and Close.
Auto-complete Filter: a paste report reading 2 exact, 1 inexact, 2 unmatched, with Details open listing the unmatched and inexact terms above the copy and remove buttons
The visual itself, rendered in a browser with sample data (not a Power BI Desktop capture).
'Paste Report' (Formatting → Paste Report) offers 'Summary with Details link' (the default), 'Summary and details' (the details open by themselves) and 'Off'.
More detail
  • No report appears for a single term, for typed text or for picks from the pick list.
  • A term that matched but did not take effect — removed by a '-' term, say, or past 'Maximum to Filter' — says so, and the summary counts it as not applied. With 'Paste Report Lists Exact Terms' on, Details lists the exact terms too.
  • 'Paste Report Rows per Group' (25) caps each list in the details; the copy buttons always copy every term. 'Paste Report Auto-hide (seconds)' hides the report after a delay (0, the default, keeps it until it is closed).
  • The report follows the filter, not the pick list: with 'List Not Fuzzy' on (the default), a misspelling the pick list would suggest is still unmatched, because the filter does not apply it. Prefix it with '~', or turn 'List Not Fuzzy' off, to let the filter accept it.
  • While data is still loading, the summary says (index partial) and leaves out the terms it cannot yet vouch for, then updates when loading completes.
  • Nothing about the report is saved in the Power BI report, and it never changes the visual's size: in a small visual the details open over the list. There, after a paste into the filter list, 'Summary and details' opens with just its summary line, so the details do not cover the list you are typing in; Details opens the rest.
  • The auto-hide countdown pauses while the pointer is over the report or keyboard focus is inside it. Remove unmatched checks each term again against the data as it is at that moment, and never removes a term it cannot vouch for.

Unmatched Terms
A term in the list can match nothing under the report's other filters — a customer that only has sales in Germany, while a Region slicer is set to USA. The term stays in the list but contributes nothing, and until now nothing said so. Three settings, all off by default, can point it out:
  • 'Unmatched Term Style' (Formatting → Display & Layout), for the Pills style: 'Dashed border' draws the pill's border dashed, in the pill's text color, and 'Dashed border + strike-through' also strikes out its text. The text itself is never faded: it keeps the color every other pill has, so a marked pill stays just as readable. While any pill is marked, a Remove unmatched button under the list removes them all.
  • 'Show Unmatched Terms Line', for the Text list styles: a line under the list such as 2 terms match nothing under the current filters., with the same Remove unmatched button.
  • 'Remove Unmatched When Adding' (Data and Interaction → Multiple Values): a term that matches nothing at the moment it is added is dropped straight away, and a message says how many were dropped.
For example, with 'Unmatched Term Style' set to Dashed border and Contoso Ltd and Fabrikam Supply in the list, where Fabrikam Supply only has rows in Germany, picking USA in a Region slicer gives the Fabrikam Supply pill a dashed border and shows Remove unmatched under the list. Clear the Region slicer and the pill is back to normal. The mark is information only: nothing is ever removed because another slicer changed, since a customer unmatched under one region can match under the next.
Auto-complete Filter: with the Region slicer set to USA, the Fabrikam Supply pill has a dashed border and a Remove unmatched link appears under the list
In the Text list styles the same situation shows as one line under the list, with the same Remove unmatched button. The line and the button update when terms are added, pasted or removed and when you leave the list, never while you are still typing in it.
More detail
  • With 'Allow Tooltips' on, hovering a marked pill says No rows match under the current filters, and a screen reader always hears it. The Remove unmatched button is not shown when 'Filter Text Read Only' is on, and the line's wording can be changed under Message Text Overrides.
  • A term is judged exactly the way the filter judges it, so every matching setting applies. Excluding ('-') terms are never marked, and nothing is marked while 'Filter Mode' (or the include / exclude button) is Exclude.
  • While data is still loading, after a cancelled load, when the visual has reached its capacity, or when the other filters leave the visual no data at all, it cannot know that a term matches nothing, so nothing is marked or dropped.
  • 'Remove Unmatched When Adding' checks only the terms being added; a term already in the list is never removed.

Also Search: One Box, Several Columns
Place up to four more columns in the new Also Search (optional) field well to search them from the same box as the Value Source — for example Customer as the Value Source, with Product and Order ID in Also Search. The pick list then groups the suggestions under a header for each column, and picking one filters the column it came from. Typing 'wid' lists Wide World Importers under Customer and Widget under Product. Pick Widget and add Contoso Ltd, and the page narrows to Contoso Ltd's Widget orders: filters on different columns combine with AND.
Auto-complete Filter: typing wid lists Wide World Importers - GER under a Customer / Region header and Widget under a Product header; the table beside it already shows Wide World Importers' Widget order
Here the Value Source has two columns, Customer and Region, so its header reads Customer / Region.
Auto-complete Filter: a Contoso Ltd pill and a Product: Widget pill, with the table narrowed to the one Contoso Ltd Widget order
One search bar for the whole page. Put the columns people actually look things up by — customer name, product, city, order number — in Also Search, make the visual wide and short, and it becomes a global search bar: the viewer types a few letters without deciding which field to use, and the list sorts out which column each match came from. Pick a customer, a product or a city and the whole page filters on that column.
Auto-complete Filter: typing wid in one box lists Wide World Importers and Widget World under Customer, Widget and Widget Pro under Product, and Widgetown under City
One box, three columns: the matches are grouped by the column they came from. (The visual rendered in a browser with sample data.)
Auto-complete Filter in the Pills, Power Search style: two quick pick chips, Widgets and West, above a Product: Widget Pro pill and a Wide World Importers pill
Picks become pills that name their column, with quick picks one click away. (The visual rendered in a browser with sample data.)
To aim a typed term at one column, start it with the column's name and a colon: Product:wid searches Product only, and operators go after the colon (Product:-Widget). The column name can be typed in upper or lower case, in the entry text box or in the Text list, and it is recognized whatever 'Term Operators' says.
Auto-complete Filter: typing Product:wid lists only Widget and Widget Pro, under a single Product header
Product:wid searches the Product column only. (The visual rendered in a browser with sample data.)
The column headers are set in bold small capitals on a very light gray band, with a thin rule between groups, so they cannot be mistaken for values; they are not rows you can pick, and the arrow keys skip them. To give the band your own color, set 'Group Header Background Color' (Colors → Entry & List Areas); left unset, the band is the list's background moved a small step toward its text, so it stays a light band on a colored or dark list too. Either way the header text is darkened (or lightened) as far as needed to stay readable against the band (4.5:1, the WCAG AA level for text), and a high-contrast theme always wins. When only the Value Source has matches, no header is shown and the list looks as it always has.
Nothing changes until a column is placed in the Also Search well. Its settings are under Data and Interaction → Also Search.
More detail
  • 'Group Headers' (on; turned off, a suggestion's column name follows it in muted text instead), 'Matches Shown per Column' (5, so one column cannot push the others out of the list; 'Matches Shown' still limits the whole list), 'Value Source First' (on; turned off, the column with the closest match to what you typed is listed first) and 'Show Column on Pills' (on; hover the column name on a pill to see which column it filters).
  • A screen reader hears a suggestion's column after its value; the headers themselves are not read as options. With the 'Native (can overflow the visual)' list placement the browser draws the list, so there are no headers: each Also Search suggestion carries its column name instead.
  • An Also Search column can come from another table than the Value Source, such as a related Products table's Category, and a number column works too. With several columns in the Value Source, the Value Source keeps its combined filter and each Also Search column adds its own; Exclude is still refused for such a Value Source (the visual says so), while the Also Search columns are still excluded.
  • A column with more values than the visual can hold is searched only in part, and a message names it.
  • A term typed and added without picking filters the Value Source, as before, unless it is exactly a suggestion shown under another column's header. The Text list shows the full term (Product:Widget), and renaming a column in the field well keeps its terms on it.
  • Each column is matched against its own values with every matching setting, 'Filter Mode' and the include / exclude button apply to all of them, and 'Maximum to Filter' applies to each column's filter.
  • Because the columns combine with AND, terms aimed at one column that match nothing leave the report with no data under a 'No Match, No Data' 'Load Behavior'; under 'No Match, All Data' that column is simply not filtered.
  • Secondary Values, Sort Order, Additional Tool Tips, Filter Default and blanks stay with the Value Source, 'Add All Loaded' adds Value Source values only, and date or time columns placed in Also Search are not searched.
  • The visual receives one row per combination of Value Source and Also Search values, so loading takes longer on large tables, a Secondary Value that is a measure is combined by 'Secondary Aggregation' (right for a sum, not for an average or a distinct count), and a Sort Order measure and Additional Tool Tips are taken from the first combination loaded.
  • A report saved with Also Search terms and opened with a version before 6.0 reads a term such as Product:Widget as a Value Source value.

Quick Picks and Recent Searches
Quick picks are named sets of terms that you, the report author, define. They appear as a row of chips between the entry text box and the filter list, and one click applies a set. Switch on 'Show Quick Picks' (Data and Interaction → Quick Picks; it requires 'Support Multiple') and write one quick pick per line in 'Quick Picks', as Name=term1|term2:
Key accounts=Contoso Ltd|Northwind Traders|Blue Yonder Airlines
Contoso family=Contoso
Contoso, not the group=Contoso|-The Contoso Group
Each term is written exactly as you would type it, so the operators above and Also Search column names (Widgets=Product:Widget) work here too. 'Quick Pick Action' decides whether a click replaces the filter list ('Replace', the default) or adds to it ('Add'), and with 'Show Save Quick Pick' on, a '+' at the end of the chip row saves the current list as a new quick pick.
Auto-complete Filter: a row of chips between the entry box and the pills - the quick picks Contoso family and Key accounts, two recent-search chips marked with a circular arrow, and a plus button
The '+' button opens a small name box inside the visual: type a name and press Enter (or Save) to save the current filter list, or Escape (or Cancel) to close it. A quick pick with exactly that name gets the new terms; otherwise a line is added at the end of 'Quick Picks', and every other line is kept as written. A saved line starts with '=', as in =Two picks=Northwind Traders|Proseware: its chip puts back exactly the list that was saved, the way a recent search does, instead of adding the terms one by one (with 'Expand on Add' on, adding them again would bring back values that had been removed). Delete the leading '=' to have its terms added like typed terms instead.
More detail
  • Terms are separated by '|' because commas appear in values too often. To put a '|' inside a term, wrap the term in double quotes; the quotes are an escape whenever the full operator set is read ('Term Operators' Data-aware, or Automatic in a report that never switched on 'Allow Filter Prefixes').
  • Each term goes in exactly as if it were typed and added, so 'Expand on Add', 'Only Allow Exact', 'Casing' and the other add settings apply, and the filter is applied once, after the last term. 'Replace' first clears the filter list and the entry text box.
  • Only the first '=' ends the name, so a term may itself begin with '=' (Exact==Contoso Ltd), and a name that contains '=' can be wrapped in double quotes. Blank lines, and lines without a name or without any terms, are ignored.
  • A quick pick saved with the '+' button is saved with the report in Power BI Desktop. A viewer in the Power BI Service cannot change the report, so there the new chip lasts only for that viewer's session. A term that cannot be written into a line — one containing a line break or an unquoted '|' — is left out of the saved quick pick, and a message names it.
  • The chip row wraps onto a second line and then scrolls; in the Pills style the pills give up its height. 'List Spacing' applies above the row as well as below it.
  • The chips use the filter list's font, and their colors are 'Quick Pick Background Color' and 'Quick Pick Text Color' (Colors → Buttons, Links & Pills); left unset, they follow the report theme when 'Follow Report Theme' is on.
After the quick picks come each viewer's own recent searches, in italics and marked with ⟲ ('Recent Searches Shown', 5 by default; 0 turns them off). Clicking one puts that exact list back, replacing the filter list or adding to it as 'Quick Pick Action' says. A recent chip shows its terms cut at 40 characters, with all of them in its tooltip. Recents are kept in the viewer's own browser, never in the report.
More detail
  • A search is remembered when it is committed with at least one term - except one committed while the column is still loading under a 'Fully Loaded' Load Behavior, and a very large one (more than about 4,000 characters of terms, typically a big paste or an expanded list). Refining a search updates its entry rather than adding one per step, and a search identical to one of your quick picks is not kept as a recent, so clicking a quick pick never pushes a viewer's own searches out.
  • A search is committed by Enter, Add, a pick from the suggestion list, a paste into the Text list, leaving the Text list after editing it, removing a pill or clicking a chip; Reset starts a new search.
  • Recents are kept per table and column, so reports that filter the same column share them. A recent search that used an Also Search column (a Product:Widget term) appears only in visuals that search that column too. Power BI clears a visual's stored data 29 days after it was last written.
Recent searches and your tenant. Recents use Power BI's local-storage permission for custom visuals, which the visual requests as optional and uses only while 'Show Quick Picks' is on and 'Recent Searches Shown' is above 0. A Power BI administrator can turn local storage off for custom visuals, and some hosts or browsers do not allow it: then no recent chips appear, your quick picks work as usual, and viewers see no warning or message about it.

Copy as DAX
'Show Copy as DAX' (Formatting → Display & Layout, off by default) adds a DAX button to the entry row. It copies the filter the report is actually under — not what is typed in the box — as a DAX predicate you can paste into a measure, a calculated column or a calculated table. With Contoso in the list (matching three customers), it copies 'Shipments'[Customer] IN { "Contoso Ltd", "Contoso Northwest", "The Contoso Group" }, so CALCULATE ( COUNTROWS ( Shipments ), … ) with that pasted in counts those customers' rows.
Auto-complete Filter: the DAX button in the entry row, and the copied predicate for the two selected customers, 'Shipments'[Customer] IN { ... }, next to the filtered table
More detail
  • Terms that matched nothing are not included. An exclude filter is wrapped in NOT ( … ), and several Value Source columns give the tuple form.
  • With Also Search columns, every filtered column's predicate is copied, joined with &&. That works in FILTER, in measures and in calculated columns, and in CALCULATE when the columns come from one table (otherwise split it into one argument per column).
  • While the visual is blanking the report ('Must Select' with nothing entered, or a 'No Match, No Data' 'Load Behavior' with nothing matched) it copies FALSE(), or NOT ( FALSE() ) in Exclude mode.
  • When nothing is filtered, nothing is copied and the message says so. The confirmation follows 'Copied Message Duration' and is read out by screen readers; a copy the browser refuses shows 'Failed to copy to clipboard.' With 'Show Links' on, the button is a 'Copy filter as DAX' link.
  • The button sits to the left of the entry text box and follows 'Button Background Color' and 'General Style' like the other entry-row buttons. Tab reaches it right before the entry text box (after the operator picker).

Accessibility
Version 6.0 brings the visual's screen reader and keyboard support up to the standard patterns, with nothing to switch on:
  • The entry text box, the pick list and the filter pills describe themselves to screen readers with the standard combo box, list box and list roles, and the highlighted suggestion is announced, with its position, as you arrow through the list. Match counts and messages are read out as they change (the count is not read while data is still loading, nor again on each arrow key).
  • The active suggestion — the one 'Attempt Completion' has filled into the entry text box, or the one the arrow keys moved to — is outlined in the list, so the row Enter adds can be seen as well as heard. The keys work as before.
  • Each pill's remove button is now a real button: Tab moves through the pills, and Enter, Space, Delete or Backspace removes the focused one, after which focus moves on to the next pill (or the previous one when the last pill is removed, or the entry text box when none is left). Before 6.0 it responded only to the mouse. Escape closes the suggestion list without leaving the entry text box.
  • The entry text box and the Text list are named for screen readers (the box after the visual's in-frame title, or as 'Search' and the Value Source's name), and a pill's operator badge or a suggestion's match-reason mark is read out as words after the value — 'Fabrikam Supply, Excluded' — rather than as a symbol. Pressed from the keyboard, the operator picker keeps focus and announces the operator it moved to.
  • The operator picker and the DAX button sit left of the entry text box, and Tab reaches them right before it; every control that was there before 6.0 keeps its place in the Tab order.
  • Quick-pick chips and the paste report's controls are buttons too: Tab reaches the chips after the buttons of the entry row, Enter or Space applies one and keyboard focus stays on the chip, and a recent-search chip is read as 'Recent search:' followed by all of its terms. The paste report's headings can be reached as headings, and an unmatched pill is marked by its dashed border and a sentence for screen readers, never by color alone.
  • The loading spinner stops turning when the operating system is set to reduce motion.
  • Text on filter pills and quick-pick chips meets the WCAG AA contrast level (4.5:1) in the default look and when following the report theme. Colors you set yourself are used as you set them, so choose ones that reach 4.5:1 as well.
Auto-complete Filter: typing Conto fills in Contoso Ltd - USA, and that suggestion is outlined in the list as the active row

Power Search Styling Presets
Two new styling presets switch the 6.0 search features on in one step: under Presets → Styling, pick 'Text, Power Search' or 'Pills, Power Search'. Each sets its List Style (Text or Pills) and turns on 'Show Operator Picker', 'Show Pill Operator Badges', 'Paste Report' = Summary and details, 'Unmatched Term Style' = Dashed border, 'Show Unmatched Terms Line', 'Show Match Reason' = Inexact only, 'Show Quick Picks' and 'Keep List Open' (the suggestion list stays up even when typing narrows it to the one value the box has filled in), with the spacing and title typography of 'Text, Native Compact'.
Illustration: Auto-complete Filter: the Presets card's Styling list showing Text, Power Search and Pills, Power Search, next to a visual using Pills, Power Search
Illustration — not a screenshot
More detail
  • The spacing is 'Container Padding' 5, 'Frame Title Padding' 0, 'Frame Title Font Size' 12 and 'Frame Title Font' Segoe UI Semibold. Like every styling preset, it also turns on 'Follow Report Theme' and sets 'General Style' to Native Slicer.
  • A styling preset changes how the visual looks and what it shows, never what it filters: 'Support Multiple', 'Term Operators' and the matching settings are left alone. So the operator picker and the chip row appear only where 'Support Multiple' is on (the picker also needs 'Term Operators' reading the full operator set), and chips only once there are quick picks or recent searches to show.
  • A preset is applied at the moment you pick it, not when the report opens. Once a Power Search preset has been applied, the report stores 'Styling' as None, so versions before 6.0 can still open it: the Styling box keeps showing the preset while the report stays open, reads None after it is reopened, and the settings the preset switched on stay as they are.
  • 'Keep List Open' is not new, and it stays off by default. With 'Attempt Completion' on and 'Keep List Open' off, the suggestion list closes once typing narrows it to the single value the entry text box has filled in; the Power Search presets turn 'Keep List Open' on so the list stays up while you type and, with 'Support Multiple' on, after each pick.
  • For an exact width match with the built-in slicers, also set the visual's own Padding to 0 under General → Properties → Padding, which a preset cannot change.

What Changes When You Upgrade from 5.x
Version 6.0 is an in-place upgrade, and its settings are additive: nothing was renamed or removed, and nearly everything new is off until you switch it on. The Also Search well does nothing until a column is placed in it; quick picks and recent searches wait for 'Show Quick Picks'; and Copy as DAX, the operator picker and the unmatched-term marks are all off by default. A few things do change what an upgraded report shows or does. Where a setting switches one back, the item names it:
  • Operators, in a report that never used 'Allow Filter Prefixes'. A term that starts with + & - = ^ $ or ~ and is not itself one of your values is now read as an operator (-Contoso excludes Contoso), and a term wrapped in double quotes has its quotes removed (a value picked from the suggestion list that is itself in double quotes keeps them: it is added quoted once more). 'Expand Batch with Mappings' keeps such a term as it is instead of expanding it. Set 'Term Operators' to Off to keep the previous reading. (A report that did use 'Allow Filter Prefixes' keeps exactly its previous filtering while 'Term Operators' is Automatic.)
  • Pill badges, in a report with 'Allow Filter Prefixes' on. A pill whose term uses '+', '&' or '-' now shows the value with a small badge for its operator — 'Contoso' with a '-' badge for -Contoso — instead of the raw term. Turn 'Show Pill Operator Badges' off to show the raw term as before.
  • Match reasons. Suggestions that matched by sound, by close spelling or on a whole word inside a longer value now carry a small mark ('Show Match Reason', Inexact only). Set it to Off for the previous look.
  • Paste summary. After a paste of several terms into the filter list, or a comma-separated paste into the entry text box, a one-line summary appears under the list ('Paste Report', Summary with Details link). Set 'Paste Report' to Off for the previous look.
  • Expand Batch with Mappings. With the paste report on, expanding several terms lists every term that matched nothing in the report, instead of naming only the first one in the message line. Set 'Paste Report' to Off for the previous message.
  • Keyboard. Each filter pill's remove button is now a keyboard stop, so Tab moves through the pills of a Pills-style visual (Enter, Space, Delete or Backspace removes the focused pill), and Escape closes the suggestion list without leaving the entry text box.
  • Suggestion outline. The suggestion the entry text box has filled in, or the one the arrow keys moved to, is now outlined in the suggestion list, so the row Enter adds can be seen as well as heard. The keys work as before.
  • Single words under 'Only Allow Exact'. With 'Only Allow Exact' and 'Single-Word Token Match in Exact' on, a single word added from the entry text box is now accepted whenever that setting resolves it: it filters every value that contains the word as a whole word, as the same word typed into the filter list always did, instead of being refused as not an exact match when it matched more than one value.
Version 6.0 also fixes several matching issues — for example, 'Only Allow Exact' now honors 'Diacritic Neutral', 'Ignore Non-alphanumeric', 'Keep Whitespace' and 'Retain Characters'. The full list is in the release notes, and Help describes each setting.


This application may no longer respond until reloaded. Reload 🗙