Overview
Access Filters are used to restrict data based on the user running a report. A manager may only be allowed to see employee details from his or her own department, for example. Access Filters match users within Yellowfin to an arbitrary Reference Id. The Reference Id for the user can then be used as a filter when they run reports.The steps for setting up Access Filters are:
- Create an Access Filter on the data source
- Assign the Access Filter to a field on a view
- Define a default Access Filter on the view
- Assign an Access Filter to a report
Creating an Access Filter
- Select source filters on the connection details page. This will make the source filter step available in the wizard.
- Click Add to add in a new filter or edit to edit an existing record. If you click add you will be prompted for the type of filter you wish to create.
Filter Parameters
Each Access Filter contains a list of one or more records matching a Yellowfin user to a Reference Id. These can be loaded into the system in three ways: manual entry, from a CSV file, or by running a scheduled query on the source database.In each case you will need to enter records consisting of four fields:
Identifier Type | The Identifier Type and Identifier are used to identify a Yellowfin user. The Identifier Type can be either |
---|---|
Identifier | The Identifier field will then be the corresponding user id. |
Filter Type | The Filter Type field is used to determine what type of filter this is. This is critical to assist users when creating views or reports. Select a user friendly type name. |
Reference Id | The Reference Id field is the corresponding data for the matching user. |
Refresh Type
Access Filters also have a Refresh Type option, which allows you to specify how the filter will be processed when changes are made. The default option is for updates to be appended to the existing entries. In this case, the new records entered will be added to those already saved. If you choose to overwrite the existing entries, any previous records will be discarded before saving the new records.Defining a Filter Type
Each source filter that you create needs to be categorised. You can share categories across various source systems but filters must have unique filter types within a source record.The filter type is used to link the data in your source system with Yellowfin meta-data. It also provides a mechanism to categorise the type of filters that you can make available for your views.
- From the Source entry page you will see the Available filter types on the right hand side of the page. Click Edit to add new filter types.
- From the popup click the add link to add a new filter type. This will open a section at the bottom of the popup. Enter a code and description of the filter type you are creating.
- Once you have created a new type click the add link and then the OK link to save all your changes. This will take you back to the main access filter page and you should see a filter type specified in the available list.
Note: If you wish to delete a filter type then from the edit popup select a type and click the delete link. You will be prompted to click OK to save your changes. If you delete a type which is in use this may impact your reporting filter process.
Manual Entry
When you create an Access Filter manually, you will be presented with a list of records to fill in. Initially the page displays three records, but you can add more records by clicking the “More” link underneath. When you save the filter, empty records will be discarded.Note: If records exist you can view these by clicking the view record link located at the bottom of the entry section.
Upload Data File
When you choose to create an Access Filter by uploading a data file, the screen will show a file selection box. Click on the Browse button to open the CSV file containing the filter records. The file must consist of records of the four fields listed above. The file may contain a header row, which must have the titles “Identifier Type”, “Identifier”, “Reference Type” and “Reference Id”.Scheduled SQL Query
When you create an Access Filter using the scheduled query option, you will need to enter a SQL query and schedule it for refresh.The query will run against the source database, and must return four fields corresponding to the fields described above.
Click on the Test Query link to run the query and report any errors. This will test the SQL syntax, but will not validate the data returned.
Assigning an Access Filter to a View
Once you have set up one or more Access Filters on a data source, you can assign them to any views created against that source.- Create your view as normal, and then on the Fields page, select a field that corresponds to one of the Reference Types you have created.
- On the Access tab, select the correct type from the Access Filter selection. You will not be able to select Reference Types that don’t have any filter records saved against them.
- Once you have selected the Access Filter, save the field. You can select more than one field to be different Access Filter types if you wish.
- Once you have finished assigning access filter types to the fields on the view, go to the View Security page. You can select a default filter to be applied to reports created against this view here, or choose not to have one. If you select a default filter, any subsequent report created against this view will have the filter applied. Users creating reports that have the appropriate access level can change or remove the filter on a per-report basis.
Assigning an Access Filter to a Report
When creating a report using the Drag and Drop Builder, an Access Filter can be applied if the selected View has had Access Filters defined.On the Report Data page, open the Report Data section in the Report Options box on the right hand side. The Access Filter selection box contains any filters that have been attached to the selected view.
If you select a filter, it will be applied to the results for each user when they run the report.
Note: that only users with the appropriate security access level will be able to change the Access Filter on a report.