Thanks to a customer investment, we have four fantastic new features! These are:
That last feature (dynamic cell dropdown) is turning out to be Data Quality Dynamite. Let's start with it.
This feature allows you to create a backend SAS program to generate the values for the cell dropdown. The program receives the ROW as input, so you can make the values dependent on other values - such as returning a list of product codes for a particular region, or people within a department. We are now using it extensively within Data Controller to display tables for a particular library, or columns for a particular table.
The SAS program can live on the directory, or it can also be in a SAS 9 Stored Process or Viya Job. The dropdown can be "HARD" (user must select a value) or "SOFT" (user can also type their own value).
More info in documentation.
This feature allows you to create complex queries to determine which groups can access which rows in which tables (either for the EDIT menu, VIEW menu or both). If a user is in multiple groups, these rules are joined with an OR condition, allowing additional rows with additional group memberships. The rules are also applied for data uploads, preventing users from modifying records that they do not have permission to access.
Full details available in the documentation.
Previously, when using the filter mechanism, all values were always returned in the selection box.
Now, when the dynamic where clause box is checked (which is the default), the values in the second and subsequent filter clauses are filtered by the previous filter clause settings, eg:
It is now possible to configure certain columns to be extracted as formulae, rather than raw values. The target column must be character, and it should be wide enough to support the longest formula in the source data. If the order of values is important, you should include a row number in your primary key.
Full configuration information in the docs.
Further updates since the v3.11 release include:
Would you like to give Data Controller a whirl? We're waiting to hear from you!