Configuring Dimension Defaults
The Apliqo UX Settings Service
On login by each user Apliqo UX initializes the "settings service". The settings service keeps track of the current filter selections or "point of view" in the screen. When a user navigates to a new screen the point of view is maintained. This is a very useful feature for users as it saves needing to re-select elements in filters.
When building reports for all dimensions/hierarchies on fixed or filter positions leaving the selected element empty indicates to Apliqo UX that the value should be automatically filled by the settings service on navigation to the page. This should be the default for building all screens. Only by exception should a element name be set on fixed or filter in the report definition as this indicates that a fixed value should be used on first open and not the settings service value.
However, the settings service is more useful than simply maintaining the point of view. All stored values in the setting service can be retrieved and used in reports, for example to set dynamic titles and descriptions or to pass into MDX or into analog dimensions. Settings service values are stored by instance, by dimension, by hierarchy in a 3 part key delimited by period as instanceName.dimensionName.hierarchyName, for example UX_Samples.Product.Product.
Two keys are actually stored per hierarchy; one for the element principal name and one for the display text displayed in the filter drop-down which is dependent on the selected attribute (which doesn't have to be an alias). The display text key is has "-alias" appended to the primary name key e.g. instanceName.dimensionName.hierarchyName-alias or UX_Samples.Product.Product-alias from the above example.
When retrieving values from the settings service a substitution variable notation is used in the form $<<variable>>. For example:
Substitution variables for settings service values can be used in MDX plus any text field in the view definition (Info, Description, Label, ...)
Preset default member per hierarchy
For "key navigation dimensions" which are likely to be used more often in filter positions (for example, version, year, currency, measures) Apliqo UX offers the ability to pre-define default members which will be set as the "current point of view" when users log in. This is done as explained in detail below by entering default member values in the }APQ UX Settings Service Dimensions cube.
Initializing the settings service on login
When users log in to Apliqo UX the ContentStore queries the cube }APQ UX Settings Service UserPreference which stores the preference per user of the default member per hierarchy. All values found are read into the settings service and will be used to pre-set the point of view for the screen(s) the user navigates to. As the user changes filter elements the values stored in the settings service will be updated. The user's initial default member preferences are only updated when initiated by the user in the user preferences dialog available under the user name at the top right of screen of Apliqo UX.
In the case that default member value for a dimension or hierarchy is not found in the user's preferences then the first available element from the the subset or MDX assigned to the filter will be used.
Setting global defaults
There is a 2-step process for defining the default member values for the settings service. Global default values are stored in the cube }APQ UX Settings Service Dimensions which can be maintained by members of APQ Admin or ADMIN.
This cube can be automatically populated by the instance metadata syncing service. Or for reporting instances with only a few dimensions where setting default members is relevant can just as easily be configured manually by an administrator.
Open the Default view of the cube }APQ UX Settings Service Dimensions and on dimension }APQ UX Instance (which should be on filter), select the instance for which you want to define default members. Default members are set by instance by dimension:
If you have already run the instance metadata syncing service then the }APQ UX Dimension dimension will have already been populated with element names corresponding to available dimensions in each connected instance. The cube will also have been populated with a 1 at the intersection of instance and dimension. The Default_Member value will have been populated with the value from the }HierarchyProperties cube on the respective instance
If the instance metadata syncing service has not been run and you only have a few dimensions to set then you can do this manually by
- Opening }APQ UX Dimension in the dimension editor and adding new leaf elements
- In }APQ UX Settings Service Dimensions enter a value of 1 against the measures IsUsed and IsUsedSettingService
If you have already run the instance metadata syncing service then the Default_Member measure should also be populated. If this value is correct then there is nothing else to do. If the value is blank or not the desired element name enter the element name in the "DefaultOverride" measure. The value which will be populated into the settings service is displayed in the SettingServiceDefault measure.
Once global default member defaults have been defiend it is also possible for users to define their own personal preferences and override the global defaults.
Note: until the }APQ UX Settings Service Dimensions cube is populated the settings service cannot be populated and it is not possible for users to set their own default values.
Individual user default member settings are stored in the cube }APQ UX Settings Service UserPreference which has the same dimensions and structure as }APQ UX Settings Service Dimensions with the addition of the }Clients dimension.
All values from }APQ UX Settings Service Dimensions are read into }APQ UX Settings Service UserPreference against the measure "GlobalDefault". The user has the opportunity to set a personal default with the "DefaultOverride" measure. The Default_Member in use will default back to the global default if no personal preference is entered.
The "User Default Settings" menu option under the user name opens a dialog which provides end users with the ability to edit their default member preferences. The dialog is just reading and writing data from the cube above. You can see that as per the example above in the dialog below the default value for the "FIN Currency" dimension has a value of "USD" for the user where the global default value is "CHF".