setPrivateDimDisplayMode(report: PP.Exp.EaxDocument, metadata: Object, callback: PP.Delegate);
report. Express report document.
metadata. Settings of private dimensions.
callback. Callback function.
The setPrivateDimDisplayMode method shows private dimensions as a compound dimension in express report with several sources.
Executing the example requires that the HTML page contains the ExpressBox component named expressBox (see Example of Creating the ExpressBox Component). At least two data sources must be defined for express report.
Show private dimensions of express report with multiple sources as a single compound dimension:
// Get a service used to work with express report
var eaxMdService = expressBox.getService();
// Get express report document
var eaxAnalyzer = expressBox.getSource();
// Get private dimension panel
var items = expressBox.getPropertyBarView().getDimBarMasterView().getItems();
var dimBarPrivateMP = null;
for (var i in items) {
if (items[i].getTypeName() == "EaxDimBarPrivateMP") {
dimBarPrivateMP = items[i];
}
};
if (dimBarPrivateMP != null) {
// Determine settings of private dimensions
var metadata = {
changeSelection: {
elRelative: "All",
elSelectOp: "Set",
setCompound: {
displayAsCompound: True // Display dimensions as a composite dimension
}
},
compound: {
displayAsCompound: True,
isCompound: False
},
id: "FACTS_COMPOUND",
k: dimBarPrivateMP.getData(),
n: "Facts"
};
// Determine arguments of callback function
var args = new PP.Mb.Ui.PropertyChangedEventArgs({
PropertyName: PP.Exp.Ui.ControlType.PrivateDimsDisplayMode,
Metadata: metadata,
TypeUpdateData: PP.Exp.Ui.ViewTypeUpdate.PropertyBar
});
// Determine callback function
var onPanelChanged = function (n, t) {
var chartView = expressBox.getDataView().getChartView();
t ? (chartView.DataChanged.fire(chartView, t.Args), t.Args.fireCallback(n, t)) : chartView.DataChanged.fire(chartView, t);
// Refresh express report settings panel
expressBox.getPropertyBarView().refreshAll()
};
// Initialize query of private dimensions as composite dimensions
eaxMbService.setPrivateDimDisplayMode(eaxAnalyzer, metadata, PP.Delegate(this.onPanelChanged, eaxMdService, args));
};
After executing the example private dimensions of express report with multiple sources are shown as a compound dimension.
See also: