1.5 KiB
1.5 KiB
Planning API Snippets (Analytics Designer)
Use inside analytic applications for planning automation. Ensure widgets/models match IDs below.
getPlanning() — table planning ops
// Is planning enabled?
const enabled = Table_1.getPlanning().isEnabled();
// Versions
const publics = Table_1.getPlanning().getPublicVersions();
const priv = Table_1.getPlanning().getPrivateVersion();
// Write and submit
Table_1.getPlanning().setUserInput(selection, value); // selection: SelectionType object
Table_1.getPlanning().submitData();
PlanningModel API — master data
// Read members with properties
const members = PlanningModel_1.getMembers("CostCenter");
// Create / update / delete
PlanningModel_1.createMembers("CostCenter", [{ id: "CC100", description: "Marketing" }]);
PlanningModel_1.updateMembers("CostCenter", [{ id: "CC100", description: "Marketing Dept" }]);
PlanningModel_1.deleteMembers("CostCenter", ["CC100"]);
DataSource API — filtering
// Filter a dimension
Table_1.getDataSource().setDimensionFilter(
"Version",
"[Version].[parentId].&[public.Actual]"
);
// Members with booked values only
const booked = Table_1.getDataSource().getMembers(
"Account",
{ accessMode: MemberAccessMode.BookedValues }
);
// Remove filter
Table_1.getDataSource().removeDimensionFilter("Version");
Notes: keep IDs consistent with widgets; submitData respects data locks/edit mode; filters impact prompts/parameters when using story filters as defaults.