Files
2025-11-30 08:55:30 +08:00

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.