Dimensions Explained
The next screen is the Dimension Setup. You can define fields as dimensions and that can be used in Piloted Navigation. Dimensions are non-unique fields that are useful for user to use in filter down a result set. There are four types if dimensions: normal, list, range, and date.
A normal dimension is string based. The dimension values will be the all unique values of the specified field. For example if automobile make is defined as a dimension, then the values might be Ford, Toyota, etc.
A list dimension is defined on a field in a table with a many-to-many relationship with the primary table. An example of where this might be useful is the features of an auto: Radio, Anti-lock brakes, sunroof, etc. An auto will have many features and a feature will be related to many autos. If you want user to have a features dimension in Piloted Search, you would define a list dimension. The difference between this and other dimension types is that when one feature is chosen, the dimension does not necessarily fall off of the availability list. The particular dimension value will disappear from choices however other values will still be available if applicable. Defining this dimension type will impact performance, so use it sparingly. Also a limitation of the dGraph is that list dimension can only have a maximum of 128 unique values in any list. If more than this number exists a list dimension cannot be created on the field.
A range dimension allows you to define a dimension for Piloted Search even on a large number of numeric values. An example of this would be mileage. There could potentially be hundreds of thousands of unique values for mileage for a list of automobiles. However user will not find this information useful anyway unless it is grouped. A range dimension allows you to create a grouping structure for a numeric field. A dGraph for automobiles might group mileage in clusters of 10,000. Autos with less than 10,000 miles would be in the first bucket. Those with 10,000-20,000 miles would be in the second bucket, etc. This allows mileage to still be a dimension without displayed thousands of entries to the user.
A date dimension allows you to group dates by year and month. Like a mileage field, dates can potentially have thousands of unique values. If you wish to let users filter on date with Piloted Navigation there will be too much data. To address this issue, create a date dimension and set its type year. When the dimension data is shown the year will be the actual data. You can also set the dimension to group by month. A novel way of breaking data is to use both types in a hierarchy. First, you can create a date dimension of type year on the date field. Then create another date dimension of type month on the same field. Set the parent dimension of the second one to the first. When the dimensions are display in an application only the year dimension is shown and after the user chooses a year the month dimension will be shown and only then can the user see the twelve (or less) choices of months.
A normal dimension is string based. The dimension values will be the all unique values of the specified field. For example if automobile make is defined as a dimension, then the values might be Ford, Toyota, etc.





