Dimension values that are stratified have the DGraph.Strata property set to include the strata value used for sorting.

You can identify from query output whether a particular dimension value has been stratified by checking whether the DGraph.Strata property exists and, if it exists, the stratum value. If the stratum value was specified as "0" or not specified at all, then the property is not returned. Note that navigation descriptors that were stratified will also have the DGraph.Strata property set.

In Java, you can identify the value of this property by accessing the dimension value's PropertyMap with the DimVal.getProperties() method, as in this example:

DimValList dvl = dimension.getRefinements();
for (int i=0; i < dvl.size(); i++) {
  DimVal ref = dvl.getDimValue(i);
  PropertyMap pmap = ref.getProperties();
  // Determine whether this DimVal is stratified
  String isStrat = "";
  if (pmap.get("DGraph.Strata") != null) {
    isStrat = " ("+pmap.get("dgraph.Strata")+")";
  }
}

The .NET version of the Presentation API uses the Dimval.Properties property:

DimValList dvl = dimension.Refinements;
for (int i=0; i < dvl.Count; i++) {
  DimVal ref = dvl[i];
  PropertyMap pmap = ref.Properties;
  // Determine whether this DimVal is stratified
  String isStrat = "";
  if (pmap["DGraph.Strata"] != null) {
    isStrat = " ("+pmap["DGraph.Strata"]+")";
  }
}


Copyright © Legal Notices