Initializing help system before first use

# vdl-index-filter

This tag can be child of `vdl-table-column`, `vdl-chart-series`, `vdl-datagrid` or `vdl-datagrid-column`.

It filters a single index out of a `vdl-table-column` or `vdl-datagrid-column`. Reduces the size of the indices by fixing the value of the specified index set. This is useful for matching up array entities where some have extra indices. Can also be used to pivot the given indices to become columns instead of rows.

When used at the `vdl-datagrid-column` level, it can only accept a single value. Note that it will not reduce the amount of data fetched from the server when used at the column level.

When used at the `vdl-datagrid` level, it can accept one or more values and will filter the specified index set for all arrays in the table. This will request the filtered data from the server, so reduce the amount of data that is fetched from the server and processed by the table, resulting in improved client-side performance. The filtered index set will still be shown as a column in the table, so you will need to use `vdl-visible="=false"` to hide this if necessary.

Applying multiple index filters at the `vdl-datagrid` level can significantly increase resource demands on the server when preparing the data. To avoid performance issues, it is recommended that you use only a single server-side index filter with very large datasets.

since 4.8

### Required parent element

Must be contained within one of the following elements:

- <vdl-table-column>
- <vdl-chart-series>
- <vdl-datagrid>
- <vdl-datagrid-column>

### Example

    <vdl-table>
        <vdl-table-column entity="Altitude">
            <vdl-index-filter set="Continent" value="=scenario.entities.SelectedContinent.value"></vdl-index-filter>
            <vdl-index-filter set="Country" value="=scenario.entities.SelectedCountry.value"></vdl-index-filter>
        </vdl-table-column>

        <vdl-table-column entity="ShippingCost">
            <!-- Given ShippingCost : array (Country, Country) of real
            (so using the same index set multiple times), filter the destination country (the second
            occurrence of Country in the declaration, so use set-position of 1)-->
            <vdl-index-filter set="Country" set-position="1" value="=scenario.entities.SelectedCountry.value"></vdl-index-filter>
        </vdl-table-column>
    </vdl-table>

    <!-- Example of an index filter on a column -->
    <vdl-datagrid>
        <vdl-datagrid-column entity="FactoryDemand" heading="='Factory Demand (' + vars.filterValue + ')'">
            <vdl-index-filter set="Factories" value="=vars.filterValue"></vdl-index-filter>
        </vdl-datagrid-column>
    </vdl-datagrid>

    <!-- Example of a server-side index filter on an entire table -->
    <vdl-datagrid vdl-if="=vars.multiFilter.length > 0">
        <vdl-index-filter set="MonthsOfYear" value="=vars.multiFilter"></vdl-index-filter>
        <vdl-datagrid-column entity="FactorySupply"></vdl-datagrid-column>
    </vdl-datagrid>

### Attributes

set | Name of the set entity to filter out of the indices for the column. | since 4.8 |  | required
value | Single value to fix the indices to. If used at the `vdl-datagrid` level, the value will accept multiple values in the form of an array or a vdl-var. | since 4.8 | accepts expression | required
set-position | Index (zero-based) of occurrence of that index set in the index tuple for the array. Defaults to zero. | since 4.8 |  |

Parent Topic VDL 5 Reference

© 2001-2026 Fair Isaac Corporation. All rights reserved. This documentation is the property of Fair Isaac Corporation (“FICO”). Receipt or possession of this documentation does not convey rights to disclose, reproduce, make derivative works, use, or allow others to use it except solely for internal evaluation purposes to determine whether to purchase a license to the software described in this documentation, or as otherwise set forth in a written software license agreement between you and FICO (or a FICO affiliate). Use of this documentation and the software described in it must conform strictly to the foregoing permitted uses, and no other use is permitted.