diff --git a/fabric/item/dataAgent/definition/topicsManifest/1.0.0/schema.json b/fabric/item/dataAgent/definition/topicsManifest/1.0.0/schema.json new file mode 100644 index 00000000..96cea94d --- /dev/null +++ b/fabric/item/dataAgent/definition/topicsManifest/1.0.0/schema.json @@ -0,0 +1,43 @@ +{ + "$id": "https://developer.microsoft.com/json-schemas/fabric/item/dataAgent/definition/topicsManifest/1.0.0/schema.json", + "$schema": "http://json-schema.org/draft-07/schema#", + "type": "object", + "title": "Data Agent Topics Manifest", + "description": "The manifest of topics associated with a data source. Maps each topic's stable id to its human-readable markdown file name. The topic bodies live in sibling .md files referenced by fileName.", + "properties": { + "$schema": { + "type": [ + "string", + "null" + ], + "description": "The schema version of the topics manifest file (e.g., \"1.0.0\")." + }, + "topics": { + "type": [ + "array", + "null" + ], + "description": "The list of topics for this data source, sorted by id for deterministic export.", + "items": { + "type": "object", + "title": "Data Agent Topic", + "description": "Represents a single topic and the markdown file that holds its body. The topic's display name and description live in the markdown YAML frontmatter of the body file, not in this manifest.", + "properties": { + "id": { + "type": "string", + "description": "The stable, rename-safe identifier of the topic (a GUID).", + "format": "uuid" + }, + "fileName": { + "type": "string", + "description": "The file name of the topic body in OneLake (e.g., \"company-policies.md\"). Must end with \".md\", contain only alphanumeric characters, hyphens, and underscores, and be unique within the data source. Maximum length is 256 characters.", + "pattern": "^[A-Za-z0-9_-]+\\.md$", + "maxLength": 256 + } + }, + "required": [ "id", "fileName" ] + } + } + }, + "required": [ "$schema" ] +} diff --git a/fabric/item/operationsAgents/definition/1.0.0/schema.json b/fabric/item/operationsAgents/definition/1.0.0/schema.json index a1e8b3ca..7c7bcd0e 100644 --- a/fabric/item/operationsAgents/definition/1.0.0/schema.json +++ b/fabric/item/operationsAgents/definition/1.0.0/schema.json @@ -8,7 +8,7 @@ "configuration": { "type": "object", "title": "Operations Agent Configuration", - "description": "User specified configuration containing instructions, data sources, actions, message destination, and identity of the agent.", + "description": "User specified configuration containing instructions, data sources, actions, message destination, and user-provided identity fields of the agent.", "properties": { "instructions": { "type": "string", @@ -237,24 +237,11 @@ }, "agentIdentity": { "type": "object", - "description": "Identity information for the agent, used for agent OBO / app-only scenarios on ALM import/export.", + "description": "User-provided identity settings for definition payloads. Server-generated identity fields are read-only and excluded.", "properties": { - "principalId": { - "type": "string", - "description": "The principal ID for the agent identity." - }, - "blueprintId": { - "type": "string", - "description": "The agent identity blueprint ID." - }, - "mode": { - "type": "string", - "enum": ["Delegated"], - "description": "Execution mode." - }, "sponsor": { "type": "string", - "description": "The UPN of the sponsor user. Required when messageDestination is a non-Recipient kind." + "description": "Sponsor alias provided by the user." } }, "additionalProperties": false diff --git a/fabric/item/plan/definition/Definition/1.0.0/schema.json b/fabric/item/plan/definition/Definition/1.0.0/schema.json index 77ea6010..4d849ccf 100644 --- a/fabric/item/plan/definition/Definition/1.0.0/schema.json +++ b/fabric/item/plan/definition/Definition/1.0.0/schema.json @@ -5,6 +5,7 @@ "type": "object", "required": [ "$schema", + "workloadItemName", "semanticModelReference", "sheets" ], @@ -14,6 +15,10 @@ "format": "uri", "const": "https://developer.microsoft.com/json-schemas/fabric/item/plan/definition/definition/1.0.0/schema.json" }, + "workloadItemName": { + "type": "string", + "description": "User-facing name of the workload item." + }, "semanticModelReference": { "$ref": "#/definitions/SemanticModelReference" }, @@ -30,9 +35,25 @@ "SemanticModelReference": { "type": "object", "description": "Reference to the semantic model backing this plan.", - "required": [ - "connection", - "semanticModel" + "anyOf": [ + { + "required": [ + "connection", + "semanticModel" + ] + }, + { + "required": [ + "connectionId", + "semanticModelId", + "semanticModelName", + "semanticModelWorkspaceId", + "semanticModelWorkspaceName", + "directLakeMode", + "directQueryMode", + "sourceType" + ] + } ], "properties": { "connection": { @@ -40,6 +61,34 @@ }, "semanticModel": { "$ref": "https://developer.microsoft.com/json-schemas/fabric/common/itemReference/1.0.0/schema.json#/definitions/ItemReferenceOrVar" + }, + "connectionId": { + "type": "string", + "format": "uuid" + }, + "semanticModelId": { + "type": "string", + "format": "uuid" + }, + "semanticModelName": { + "type": "string" + }, + "semanticModelWorkspaceId": { + "type": "string", + "format": "uuid" + }, + "semanticModelWorkspaceName": { + "type": "string" + }, + "directLakeMode": { + "type": "boolean" + }, + "directQueryMode": { + "type": "boolean" + }, + "sourceType": { + "type": "string", + "enum": ["POWERTABLE", "INFOBRIDGE", "WORKLOAD"] } }, "additionalProperties": false @@ -48,15 +97,15 @@ "type": "object", "description": "A sheet declaration within the plan.", "required": [ - "id", "displayName", - "sheetType" + "sheetType", + "recordGuid" ], "properties": { - "id": { + "recordGuid": { "type": "string", "format": "uuid", - "description": "Unique identifier for the sheet." + "description": "Unique identifier for the sheet record." }, "displayName": { "type": "string", @@ -66,10 +115,43 @@ "type": "string", "description": "The type of sheet.", "enum": [ - "Planning", - "PowerTable", - "Intelligence" + "PLANNING", + "REPORTING", + "POWERTABLE", + "INFOBRIDGE", + "SUPER_FILTER", + "BI_REPORTING", + "BI_ADHOC_ANALYSIS", + "BI_DASHBOARD" ] + }, + "isHidden": { + "type": "boolean", + "description": "Indicates if the sheet is hidden." + }, + "order": { + "type": "number", + "description": "Order of the sheet within the report." + }, + "workloadItemEntityVisuals": { + "type": "array", + "description": "List of visuals associated with the sheet.", + "items": { + "type": "object", + "properties": { + "visualType": { + "type": "string", + "description": "Type of the visual.", + "enum": ["POWERTABLE", "PLANNING", "INFO_BRIDGE"] + }, + "visualId": { + "type": "string", + "format": "uuid", + "description": "Unique identifier for the visual." + } + }, + "additionalProperties": false + } } }, "additionalProperties": false diff --git a/fabric/item/plan/definition/PlanProperties/1.0.0/schema.json b/fabric/item/plan/definition/PlanProperties/1.0.0/schema.json new file mode 100644 index 00000000..28892798 --- /dev/null +++ b/fabric/item/plan/definition/PlanProperties/1.0.0/schema.json @@ -0,0 +1,205 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "$id": "https://developer.microsoft.com/json-schemas/fabric/item/plan/definition/planProperties/1.0.0/schema.json", + "description": "Plan-level UI and behavior properties for a Planning workload item.", + "type": "object", + "required": [ + "$schema", + "properties" + ], + "properties": { + "$schema": { + "type": "string", + "format": "uri", + "const": "https://developer.microsoft.com/json-schemas/fabric/item/plan/definition/planProperties/1.0.0/schema.json" + }, + "properties": { + "$ref": "#/definitions/PlanProperties" + } + }, + "additionalProperties": false, + "definitions": { + "PlanProperties": { + "type": "object", + "required": [ + "workloadModeConfig" + ], + "properties": { + "theme": { + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "integer", + "description": "Theme type code." + } + }, + "additionalProperties": false + }, + "workloadModeConfig": { + "$ref": "#/definitions/WorkloadModeConfig" + }, + "workloadLevelFilterAssignments": { + "type": "array", + "items": {} + }, + "dataStreamerConfig": { + "type": "object", + "required": [ + "enabled" + ], + "properties": { + "enabled": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + "workloadLevelVariables": { + "type": "array", + "items": {} + }, + "reportPageTooltipEntities": { + "type": "array", + "items": {} + }, + "syncVisualsState": { + "type": "object", + "additionalProperties": true + }, + "workloadLevelQueryFilterAssignments": { + "type": "array", + "items": {} + }, + "drillThroughConfig": { + "type": "object", + "additionalProperties": true + }, + "entityAdditionalProps": { + "type": "object", + "additionalProperties": true + }, + "favoriteCharts": { + "type": "array", + "items": {} + }, + "syncSlicerConfig": { + "type": "array", + "items": {} + }, + "pageGroupingMeta": { + "$ref": "#/definitions/PageGroupingMeta" + } + }, + "additionalProperties": { "type": "string" } + }, + "WorkloadModeConfig": { + "type": "object", + "required": [ + "EDIT", + "READ" + ], + "properties": { + "EDIT": { + "$ref": "#/definitions/EditModeConfig" + }, + "READ": { + "$ref": "#/definitions/ReadModeConfig" + } + }, + "additionalProperties": false + }, + "EditModeConfig": { + "type": "object", + "required": [ + "showFilterPane", + "showDataPane", + "showFieldsPane", + "showElementsPane", + "showBookmarksPane", + "showPersonalizePane", + "showCommentsPane", + "showVariablesPane" + ], + "properties": { + "showFilterPane": { + "type": "boolean" + }, + "showDataPane": { + "type": "boolean" + }, + "showFieldsPane": { + "type": "boolean" + }, + "showElementsPane": { + "type": "boolean" + }, + "showBookmarksPane": { + "type": "boolean" + }, + "showPersonalizePane": { + "type": "boolean" + }, + "showCommentsPane": { + "type": "boolean" + }, + "showVariablesPane": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + "ReadModeConfig": { + "type": "object", + "required": [ + "showFilterPane", + "showDataPane", + "showBookmarksPane", + "showPersonalizePane", + "showVariablesPane", + "showCommentsPane" + ], + "properties": { + "showFilterPane": { + "type": "boolean" + }, + "showDataPane": { + "type": "boolean" + }, + "showBookmarksPane": { + "type": "boolean" + }, + "showPersonalizePane": { + "type": "boolean" + }, + "showVariablesPane": { + "type": "boolean" + }, + "showCommentsPane": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + "PageGroupingMeta": { + "type": "object", + "required": [ + "pageGroupMapping", + "pageGroups" + ], + "properties": { + "pageGroupMapping": { + "type": "object", + "additionalProperties": true + }, + "pageGroups": { + "type": "array", + "items": {} + } + }, + "additionalProperties": false + } + } +} \ No newline at end of file diff --git a/fabric/item/plan/definition/Planning/DataInput/1.0.0/schema.json b/fabric/item/plan/definition/Planning/DataInput/1.0.0/schema.json index e77fbe56..336c330b 100644 --- a/fabric/item/plan/definition/Planning/DataInput/1.0.0/schema.json +++ b/fabric/item/plan/definition/Planning/DataInput/1.0.0/schema.json @@ -3,15 +3,28 @@ "$id": "https://developer.microsoft.com/json-schemas/fabric/item/plan/definition/planning/dataInput/1.0.0/schema.json", "title": "Data Input Columns", "description": "Array of data input column definitions for a Planning visual, including forecasts, text inputs, number inputs, and native measures.", - "type": "array", - "items": { - "$ref": "#/definitions/DataInputColumn" + "type": "object", + "required": [ + "$schema", + "columns" + ], + "properties": { + "$schema": { + "type": "string", + "format": "uri", + "const": "https://developer.microsoft.com/json-schemas/fabric/item/plan/definition/planning/dataInput/1.0.0/schema.json" + }, + "columns": { + "type": "array", + "items": { + "$ref": "#/definitions/DataInputColumn" + } + } }, "definitions": { "DataInputColumn": { "type": "object", "required": [ - "$schema", "measureGuid", "visualId", "columnMeta", @@ -19,11 +32,6 @@ "dataInputType" ], "properties": { - "$schema": { - "type": "string", - "format": "uri", - "const": "https://developer.microsoft.com/json-schemas/fabric/item/plan/definition/planning/dataInput/1.0.0/schema.json" - }, "measureGuid": { "type": "string", "description": "Unique identifier for the measure/column." @@ -114,6 +122,9 @@ }, "Native": { "$ref": "#/definitions/NativeMeasure" + }, + "Formula": { + "$ref": "#/definitions/FormulaMeasure" } }, "oneOf": [ @@ -158,6 +169,12 @@ }, "additionalProperties": false }, + "closed_period_source": { + "type": [ + "string", + "null" + ] + }, "closed_period_till": { "type": [ "string", @@ -179,13 +196,16 @@ "Forecast" ] }, + "forecast_value_retain_blanks": { + "type": "boolean" + }, "open_period_config": { "type": "object", "properties": { "method": { "type": "object", "additionalProperties": { - "type": "string" + "type": "string" } } }, @@ -197,7 +217,7 @@ "method": { "type": "object", "additionalProperties": { - "type": "string" + "type": "string" } } }, @@ -281,6 +301,20 @@ }, "additionalProperties": false }, + "FormulaMeasure": { + "type": "object", + "description": "Measure defined by a formula.", + "required": [ + "formula" + ], + "properties": { + "formula": { + "type": "string", + "description": "The formula expression for the measure." + } + }, + "additionalProperties": false + }, "EditConfig": { "type": "object", "properties": { diff --git a/fabric/item/plan/definition/Planning/InsertRows/1.0.0/schema.json b/fabric/item/plan/definition/Planning/InsertRows/1.0.0/schema.json index 18e725f0..0ed470c0 100644 --- a/fabric/item/plan/definition/Planning/InsertRows/1.0.0/schema.json +++ b/fabric/item/plan/definition/Planning/InsertRows/1.0.0/schema.json @@ -30,7 +30,6 @@ "visualId", "rowMeta", "name", - "status", "dimensionId" ], "properties": { @@ -50,6 +49,14 @@ ], "description": "Optional visual row configuration reference." }, + "rowPath": { + "type": ["string"], + "description": "Optional hierarchical path for the row." + }, + "derivedFromRowId": { + "type": ["string"], + "description": "Optional source row ID when row is derived." + }, "rowMeta": { "$ref": "#/definitions/RowMeta" }, @@ -57,10 +64,6 @@ "type": "string", "description": "Display name of the row." }, - "status": { - "type": "integer", - "description": "Status code of the row." - }, "dimensionId": { "type": "string", "description": "Dimension this row belongs to." diff --git a/fabric/item/plan/definition/Planning/Scenarios/1.0.0/schema.json b/fabric/item/plan/definition/Planning/Scenarios/1.0.0/schema.json index 06744c46..daacf977 100644 --- a/fabric/item/plan/definition/Planning/Scenarios/1.0.0/schema.json +++ b/fabric/item/plan/definition/Planning/Scenarios/1.0.0/schema.json @@ -40,8 +40,7 @@ "description": "Current status of the scenario.", "enum": [ "ACTIVE", - "INACTIVE", - "DRAFT" + "LOCK" ] }, "meta": { @@ -65,14 +64,6 @@ "type": "object", "additionalProperties": true } - }, - "userPermission": { - "type": "array", - "description": "User permissions for this scenario.", - "items": { - "type": "object", - "additionalProperties": true - } } }, "additionalProperties": false diff --git a/fabric/item/plan/definition/Planning/Writeback/1.0.0/schema.json b/fabric/item/plan/definition/Planning/Writeback/1.0.0/schema.json index c7ec7265..5ae52f13 100644 --- a/fabric/item/plan/definition/Planning/Writeback/1.0.0/schema.json +++ b/fabric/item/plan/definition/Planning/Writeback/1.0.0/schema.json @@ -19,8 +19,12 @@ "type": "integer", "description": "Writeback type code." }, - "destination": { - "$ref": "#/definitions/WritebackDestination" + "destinations": { + "type": "array", + "description": "List of writeback destinations.", + "items": { + "$ref": "#/definitions/WritebackDestination" + } }, "writebackFilter": { "type": "object", @@ -29,7 +33,8 @@ "type": "string", "enum": [ "none", - "filter" + "filter", + "calculatedRows" ] } }, @@ -93,6 +98,11 @@ "type": "boolean", "description": "Whether to write back as HTML." }, + "writebackConstraints": { + "type": "object", + "description": "Constraint configuration for writeback validation.", + "additionalProperties": true + }, "wbColumns": { "type": "array", "description": "Column definitions for the writeback table.", @@ -109,23 +119,80 @@ "WritebackDestination": { "type": "object", "required": [ - "connection", "tableName", - "schema", - "database" + "settings", + "settingsHash" + ], + "anyOf": [ + { + "required": ["connectionId"] + }, + { + "required": ["connection"] + } ], "properties": { + "tableName": { + "type": "string" + }, + "connectionId": { + "type": "string", + "format": "uuid" + }, "connection": { - "$ref": "https://developer.microsoft.com/json-schemas/fabric/common/connectionReference/1.0.0/schema.json#/definitions/ConnectionReferenceOrVar" + "description": "connection reference as variable resolves to connectionId.", + "anyOf": [ + { + "$ref": "https://developer.microsoft.com/json-schemas/fabric/common/connectionReference/1.0.0/schema.json#/definitions/ConnectionReferenceOrVar" + }, + { + "type": "null" + } + ] }, - "database": { - "$ref": "https://developer.microsoft.com/json-schemas/fabric/common/itemReference/1.0.0/schema.json#/definitions/ItemReferenceOrVar" + "settings": { + "$ref": "#/definitions/DestinationSettings" + }, + "settingsHash": { + "type": "string" + } + }, + "additionalProperties": false + }, + "DestinationSettings": { + "type": "object", + "required": ["dbSchema"], + "anyOf": [ + { + "required": ["dbName", "dbHost"] }, - "schema": { + { + "required": ["database"] + } + ], + "properties": { + "dbHost": { "type": "string" }, - "tableName": { + "dbName": { + "type": "string" + }, + "dbSchema": { + "type": "string" + }, + "dbDisplayName": { "type": "string" + }, + "database": { + "description": "database references variable resolves to db details.", + "anyOf": [ + { + "$ref": "https://developer.microsoft.com/json-schemas/fabric/common/itemReference/1.0.0/schema.json#/definitions/ItemReferenceOrVar" + }, + { + "type": "null" + } + ] } }, "additionalProperties": false diff --git a/fabric/item/plan/definition/Planning/modelTemplate/1.0.0/schema.json b/fabric/item/plan/definition/Planning/modelTemplate/1.0.0/schema.json new file mode 100644 index 00000000..59acfa6b --- /dev/null +++ b/fabric/item/plan/definition/Planning/modelTemplate/1.0.0/schema.json @@ -0,0 +1,181 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "$id": "https://developer.microsoft.com/json-schemas/fabric/item/plan/definition/planning/modelTemplate/1.0.0/schema.json", + "description": "Configuration schema for dynamic model templates and rows.", + "type": "object", + "required": [ + "$schema", + "properties" + ], + "properties": { + "$schema": { + "type": "string", + "format": "uri", + "const": "https://developer.microsoft.com/json-schemas/fabric/item/plan/definition/planning/scenarios/1.0.0/schema.json" + }, + "properties": { + "$ref": "#/definitions/Properties" + } + }, + "additionalProperties": false, + "definitions": { + "Properties": { + "type": "object", + "required": [ + "dynamicRowTemplates" + ], + "properties": { + "dynamicRowTemplates": { + "type": "array", + "items": { + "$ref": "#/definitions/DynamicRowTemplate" + } + } + }, + "additionalProperties": false + }, + "DynamicRowTemplate": { + "type": "object", + "required": [ + "id", + "title", + "rows" + ], + "properties": { + "id": { + "type": "string", + "description": "Unique template identifier." + }, + "title": { + "type": "string", + "description": "Display title of the template." + }, + "rows": { + "type": "array", + "items": { + "$ref": "#/definitions/Row" + } + } + }, + "additionalProperties": false + }, + "Row": { + "type": "object", + "required": [ + "id", + "row_type", + "title", + "include_in_total", + "parent_id", + "level", + "previous_row_id", + "disabled", + "column_aggregation" + ], + "properties": { + "id": { + "type": "string" + }, + "row_type": { + "$ref": "#/definitions/RowType" + }, + "title": { + "type": "string" + }, + "scaling_factor": { + "type": [ + "string", + "null" + ] + }, + "include_in_total": { + "type": "boolean" + }, + "parent_id": { + "type": "string" + }, + "level": { + "type": "integer", + "minimum": 0 + }, + "previous_row_id": { + "type": "string" + }, + "disabled": { + "type": "boolean" + }, + "bind_for_cross_filter": { + "type": [ + "string", + "object", + "null" + ] + }, + "description": { + "type": [ + "string", + "null" + ] + }, + "column_aggregation": { + "type": "string", + "enum": [ + "Sum", + "Average", + "Min", + "Max", + "Count" + ] + } + }, + "additionalProperties": false + }, + "RowType": { + "type": "object", + "required": [ + "StaticRow" + ], + "properties": { + "StaticRow": { + "$ref": "#/definitions/StaticRow" + } + }, + "additionalProperties": false + }, + "StaticRow": { + "type": "object", + "required": [ + "distribute_parent_value_to_child", + "default_value", + "row_edit_mode" + ], + "properties": { + "distribute_parent_value_to_child": { + "type": "boolean" + }, + "default_value": { + "$ref": "#/definitions/DefaultValue" + }, + "row_edit_mode": { + "type": [ + "string", + "null" + ] + } + }, + "additionalProperties": false + }, + "DefaultValue": { + "type": "object", + "required": [ + "Static" + ], + "properties": { + "Static": { + "type": "string" + } + }, + "additionalProperties": false + } + } +} \ No newline at end of file diff --git a/fabric/item/plan/definition/Sheets/CommentSettings/1.0.0/schema.json b/fabric/item/plan/definition/Sheets/CommentSettings/1.0.0/schema.json new file mode 100644 index 00000000..3c830458 --- /dev/null +++ b/fabric/item/plan/definition/Sheets/CommentSettings/1.0.0/schema.json @@ -0,0 +1,76 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "$id": "https://developer.microsoft.com/json-schemas/fabric/item/plan/definition/sheets/commentSettings/1.0.0/schema.json", + "title": "Comment Settings", + "description": "Comment panel settings for a Planning visual.", + "type": "object", + "required": [ + "$schema", + "recordGuid", + "allowComment", + "enableCommentsColumn", + "notification" + ], + "properties": { + "$schema": { + "type": "string", + "format": "uri", + "const": "https://developer.microsoft.com/json-schemas/fabric/item/plan/definition/sheets/commentSettings/1.0.0/schema.json" + }, + "recordGuid": { + "type": "string", + "format": "uuid" + }, + "keepCommentPanelOpen": { + "type": "boolean", + "description": "status for comment panel open status." + }, + "showStarredComments": { + "type": "boolean", + "description": "status for showing starred comments." + }, + "allowComment": { + "type": "boolean", + "description": "status for allowing comments." + }, + "enableCommentsColumn": { + "type": "boolean", + "description": "status for enabling comments column." + }, + "enableStatusColumn": { + "type": "boolean", + "description": "status for enabling status column." + }, + "rollUpComments": { + "type": "boolean", + "description": "status for rolling up comments." + }, + "commentIndicatorDisplay": { + "$ref": "#/definitions/CommentIndicatorDisplay" + }, + "notification": { + "type": "boolean", + "description": "status for showing notification." + } + }, + "additionalProperties": false, + "definitions": { + "CommentIndicatorDisplay": { + "type": "object", + "required": ["type", "pixel", "position"], + "properties": { + "type": { + "type": "string" + }, + "pixel": { + "type": "integer", + "minimum": 0 + }, + "position": { + "type": "string" + } + }, + "additionalProperties": false + } + } +} \ No newline at end of file diff --git a/fabric/item/plan/definition/Sheets/Sheet/1.0.0/schema.json b/fabric/item/plan/definition/Sheets/Sheet/1.0.0/schema.json new file mode 100644 index 00000000..c41bbf48 --- /dev/null +++ b/fabric/item/plan/definition/Sheets/Sheet/1.0.0/schema.json @@ -0,0 +1,766 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "$id": "https://developer.microsoft.com/json-schemas/fabric/item/plan/definition/sheets/sheet/1.0.0/schema.json", + "description": "Sheet-level UI and canvas properties for a Planning workload item.", + "type": "object", + "required": [ + "$schema", + "properties" + ], + "properties": { + "$schema": { + "type": "string", + "format": "uri", + "const": "https://developer.microsoft.com/json-schemas/fabric/item/plan/definition/sheets/sheet/1.0.0/schema.json" + }, + "properties": { + "$ref": "#/definitions/SheetProperties" + } + }, + "additionalProperties": false, + "definitions": { + "SheetProperties": { + "type": "object", + "required": [ + "pageLevelFilterAssignments", + "entityLevelVariables", + "filterPanePosition", + "topPositionFilterExpandConfig", + "commentary", + "canvasStyle", + "assignmentColumnMap", + "visualGroupMap", + "sourceVisualsMeta", + "controlPanePosition" + ], + "properties": { + "pageLevelFilterAssignments": { + "type": "array", + "items": {} + }, + "entityLevelVariables": { + "type": "array", + "items": {} + }, + "filterPanePosition": { + "type": "string" + }, + "topPositionFilterExpandConfig": { + "$ref": "#/definitions/TopPositionFilterExpandConfig" + }, + "commentary": { + "$ref": "#/definitions/Commentary" + }, + "canvasStyle": { + "$ref": "#/definitions/CanvasStyle" + }, + "assignmentColumnMap": { + "type": "object", + "additionalProperties": true + }, + "visualGroupMap": { + "type": "object", + "additionalProperties": true + }, + "sourceVisualsMeta": { + "type": "object", + "additionalProperties": true + }, + "controlPanePosition": { + "type": "string" + } + } + }, + "TopPositionFilterExpandConfig": { + "type": "object", + "required": [ + "isFilterPaneCollapsed", + "expandedHeight" + ], + "properties": { + "isFilterPaneCollapsed": { + "type": "boolean" + }, + "expandedHeight": { + "type": "integer" + } + }, + "additionalProperties": false + }, + "Commentary": { + "type": "object", + "required": [ + "notes", + "annotation" + ], + "properties": { + "notes": { + "$ref": "#/definitions/Notes" + }, + "annotation": { + "$ref": "#/definitions/Annotation" + } + }, + "additionalProperties": false + }, + "Notes": { + "type": "object", + "required": [ + "notesMap", + "settings", + "noteOrder", + "enableMarkerMode", + "markerData" + ], + "properties": { + "notesMap": { + "type": "object", + "additionalProperties": true + }, + "settings": { + "$ref": "#/definitions/NotesSettings" + }, + "noteOrder": { + "type": "array", + "items": {} + }, + "enableMarkerMode": { + "type": "boolean" + }, + "markerData": { + "type": "array", + "items": {} + } + }, + "additionalProperties": false + }, + "NotesSettings": { + "type": "object", + "required": [ + "enable", + "hideAllNotes", + "indicator", + "marker", + "displayStyle", + "floatSettings" + ], + "properties": { + "enable": { + "type": "boolean" + }, + "hideAllNotes": { + "type": "boolean" + }, + "indicator": { + "$ref": "#/definitions/NotesIndicator" + }, + "marker": { + "$ref": "#/definitions/NotesMarker" + }, + "displayStyle": { + "type": "string" + }, + "floatSettings": { + "$ref": "#/definitions/FloatSettings" + } + }, + "additionalProperties": false + }, + "NotesIndicator": { + "type": "object", + "required": [ + "size", + "type", + "fontSize", + "color", + "position" + ], + "properties": { + "size": { + "type": "integer" + }, + "type": { + "type": "string" + }, + "fontSize": { + "type": "integer" + }, + "color": { + "type": "string" + }, + "position": { + "type": "string" + } + }, + "additionalProperties": false + }, + "NotesMarker": { + "type": "object", + "required": [ + "pattern", + "style", + "size", + "color" + ], + "properties": { + "pattern": { + "type": "string" + }, + "style": { + "type": "string" + }, + "size": { + "type": "integer" + }, + "color": { + "type": "string" + } + }, + "additionalProperties": false + }, + "FloatSettings": { + "type": "object", + "required": [ + "horizontalAlign", + "verticalAlign", + "shape", + "borderStyle", + "borderColor", + "borderWidth", + "arrowStyle", + "arrowEnd", + "arrowColor", + "arrowWidth", + "dragLineType", + "displayNoteAs" + ], + "properties": { + "horizontalAlign": { + "type": "string" + }, + "verticalAlign": { + "type": "string" + }, + "shape": { + "type": "string" + }, + "borderStyle": { + "type": "string" + }, + "borderColor": { + "type": "string" + }, + "borderWidth": { + "type": "integer" + }, + "arrowStyle": { + "type": "string" + }, + "arrowEnd": { + "type": "string" + }, + "arrowColor": { + "type": "string" + }, + "arrowWidth": { + "type": "integer" + }, + "dragLineType": { + "type": "string" + }, + "displayNoteAs": { + "type": "string" + } + }, + "additionalProperties": false + }, + "Annotation": { + "type": "object", + "required": [ + "settings" + ], + "properties": { + "settings": { + "$ref": "#/definitions/AnnotationSettings" + } + }, + "additionalProperties": false + }, + "AnnotationSettings": { + "type": "object", + "required": [ + "hideAllAnnotations", + "indicator", + "title", + "annotationText", + "style" + ], + "properties": { + "hideAllAnnotations": { + "type": "boolean" + }, + "indicator": { + "$ref": "#/definitions/AnnotationIndicator" + }, + "title": { + "type": "object", + "additionalProperties": true + }, + "annotationText": { + "type": "object", + "additionalProperties": true + }, + "style": { + "$ref": "#/definitions/AnnotationStyle" + } + }, + "additionalProperties": false + }, + "AnnotationIndicator": { + "type": "object", + "required": [ + "type", + "size", + "color" + ], + "properties": { + "type": { + "type": "string" + }, + "size": { + "type": "integer" + }, + "color": { + "type": "string" + } + }, + "additionalProperties": false + }, + "AnnotationStyle": { + "type": "object", + "required": [ + "cornerRadius", + "borderAndCorner", + "shadow", + "padding" + ], + "properties": { + "cornerRadius": { + "$ref": "#/definitions/CornerRadius" + }, + "borderAndCorner": { + "$ref": "#/definitions/EnabledFlag" + }, + "shadow": { + "$ref": "#/definitions/EnabledFlag" + }, + "padding": { + "$ref": "#/definitions/Padding" + } + }, + "additionalProperties": false + }, + "CornerRadius": { + "type": "object", + "required": [ + "radiusTopLeft", + "radiusTopRight", + "radiusBottomLeft", + "radiusBottomRight", + "isCustomCornerRadius", + "isEnabled" + ], + "properties": { + "radiusTopLeft": { + "type": "integer" + }, + "radiusTopRight": { + "type": "integer" + }, + "radiusBottomLeft": { + "type": "integer" + }, + "radiusBottomRight": { + "type": "integer" + }, + "isCustomCornerRadius": { + "type": "boolean" + }, + "isEnabled": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + "EnabledFlag": { + "type": "object", + "required": [ + "isEnabled" + ], + "properties": { + "isEnabled": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + "Padding": { + "type": "object", + "required": [ + "top", + "right", + "bottom", + "left", + "isCustomPadding" + ], + "properties": { + "top": { + "type": "integer" + }, + "right": { + "type": "integer" + }, + "bottom": { + "type": "integer" + }, + "left": { + "type": "integer" + }, + "isCustomPadding": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + "CanvasStyle": { + "type": "object", + "required": [ + "dimension", + "background", + "wallpaper", + "border", + "shadow", + "cornerRadius", + "isLocked", + "gridLineSettings", + "showVisualGuide", + "showSmartGuide", + "verticalAlign", + "scrollToZoom", + "mobileCanvas", + "isAutoLayoutDisabled" + ], + "properties": { + "dimension": { + "$ref": "#/definitions/Dimension" + }, + "background": { + "$ref": "#/definitions/Background" + }, + "wallpaper": { + "$ref": "#/definitions/Wallpaper" + }, + "border": { + "$ref": "#/definitions/Border" + }, + "shadow": { + "$ref": "#/definitions/Shadow" + }, + "cornerRadius": { + "$ref": "#/definitions/CanvasCornerRadius" + }, + "isLocked": { + "type": "boolean" + }, + "gridLineSettings": { + "$ref": "#/definitions/GridLineSettings" + }, + "showVisualGuide": { + "type": "boolean" + }, + "showSmartGuide": { + "type": "boolean" + }, + "verticalAlign": { + "type": "string" + }, + "scrollToZoom": { + "type": "boolean" + }, + "mobileCanvas": { + "$ref": "#/definitions/MobileCanvas" + }, + "isAutoLayoutDisabled": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + "Dimension": { + "type": "object", + "required": [ + "type", + "width", + "height", + "elementScalingUnit" + ], + "properties": { + "type": { + "type": "string" + }, + "width": { + "type": "integer" + }, + "height": { + "type": "integer" + }, + "elementScalingUnit": { + "type": "string" + } + }, + "additionalProperties": false + }, + "Background": { + "type": "object", + "required": [ + "type", + "value", + "isEnabled", + "fillMode", + "opacity", + "color", + "imageUrl" + ], + "properties": { + "type": { + "type": "string" + }, + "value": { + "type": "string" + }, + "isEnabled": { + "type": "boolean" + }, + "fillMode": { + "type": "string" + }, + "opacity": { + "type": "number" + }, + "color": { + "type": "string" + }, + "imageUrl": { + "type": "string" + } + }, + "additionalProperties": false + }, + "Wallpaper": { + "type": "object", + "required": [ + "value", + "isEnabled", + "opacity" + ], + "properties": { + "value": { + "$ref": "#/definitions/WallpaperValue" + }, + "isEnabled": { + "type": "boolean" + }, + "opacity": { + "type": "number" + } + }, + "additionalProperties": false + }, + "WallpaperValue": { + "type": "object", + "required": [ + "type", + "color", + "imageUrl" + ], + "properties": { + "type": { + "type": "string" + }, + "color": { + "type": "string" + }, + "imageUrl": { + "type": "string" + } + }, + "additionalProperties": false + }, + "Border": { + "type": "object", + "required": [ + "color", + "side", + "width", + "isEnabled" + ], + "properties": { + "color": { + "type": "string" + }, + "side": { + "type": "string" + }, + "width": { + "type": "integer" + }, + "isEnabled": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + "Shadow": { + "type": "object", + "required": [ + "blur", + "color", + "isEnabled", + "placement", + "side", + "width", + "opacity", + "distance", + "angle" + ], + "properties": { + "blur": { + "type": "integer" + }, + "color": { + "type": "string" + }, + "isEnabled": { + "type": "boolean" + }, + "placement": { + "type": "string" + }, + "side": { + "type": "string" + }, + "width": { + "type": "integer" + }, + "opacity": { + "type": "number" + }, + "distance": { + "type": "integer" + }, + "angle": { + "type": "integer" + } + }, + "additionalProperties": false + }, + "CanvasCornerRadius": { + "type": "object", + "required": [ + "isEnabled", + "isCustomCornerRadius", + "radiusBottomLeft", + "radiusBottomRight", + "radiusTopLeft", + "radiusTopRight" + ], + "properties": { + "isEnabled": { + "type": "boolean" + }, + "isCustomCornerRadius": { + "type": "boolean" + }, + "radiusBottomLeft": { + "type": "integer" + }, + "radiusBottomRight": { + "type": "integer" + }, + "radiusTopLeft": { + "type": "integer" + }, + "radiusTopRight": { + "type": "integer" + } + }, + "additionalProperties": false + }, + "GridLineSettings": { + "type": "object", + "required": [ + "showGridLines", + "snapToGrid", + "gridRows", + "gridColumns", + "gridLayoutType" + ], + "properties": { + "showGridLines": { + "type": "boolean" + }, + "snapToGrid": { + "type": "boolean" + }, + "gridRows": { + "type": [ + "integer", + "null" + ] + }, + "gridColumns": { + "type": [ + "integer", + "null" + ] + }, + "gridLayoutType": { + "type": "string" + } + }, + "additionalProperties": false + }, + "MobileCanvas": { + "type": "object", + "required": [ + "editModeDimension", + "runtimeDimension" + ], + "properties": { + "editModeDimension": { + "$ref": "#/definitions/Size" + }, + "runtimeDimension": { + "$ref": "#/definitions/Size" + } + }, + "additionalProperties": false + }, + "Size": { + "type": "object", + "required": [ + "width", + "height" + ], + "properties": { + "width": { + "type": "integer" + }, + "height": { + "type": "integer" + } + }, + "additionalProperties": false + } + } +} \ No newline at end of file diff --git a/fabric/item/plan/definition/cube/schema.json b/fabric/item/plan/definition/cube/schema.json new file mode 100644 index 00000000..eb87c129 --- /dev/null +++ b/fabric/item/plan/definition/cube/schema.json @@ -0,0 +1,801 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "$id": "https://developer.microsoft.com/json-schemas/fabric/item/plan/definition/cube/schema.json", + "title": "Cube Configuration", + "description": "Schema for cube partition payloads including partition definitions, cube partition measures, and mapping tables.", + "type": "object", + "additionalProperties": false, + "required": [ + "cubePartitions", + "cubePartitionMeasures", + "cubePartitionMeasureMappings", + "cubePartitionMeasureDataInputColumnMappings" + ], + "properties": { + "$schema": { + "description": "Part of the JSON Schema standard, this optional keyword declares the URL of the schema that the file conforms to.", + "type": "string" + }, + "cubePartitions": { + "type": "array", + "items": { + "$ref": "#/definitions/CubePartition" + } + }, + "cubePartitionMeasures": { + "type": "array", + "items": { + "$ref": "#/definitions/CubePartitionMeasure" + } + }, + "cubePartitionMeasureMappings": { + "type": "array", + "items": { + "$ref": "#/definitions/CubePartitionMeasureMapping" + } + }, + "cubePartitionMeasureDataInputColumnMappings": { + "type": "array", + "items": { + "$ref": "#/definitions/CubePartitionMeasureDataInputColumnMapping" + } + } + }, + "definitions": { + "StatusCode": { + "type": "string", + "enum": ["ACTIVE"] + }, + "CubePartitionMeasureType": { + "type": "string", + "enum": ["FORECAST", "NUMBER", "FORMULA"] + }, + "Guid": { + "type": "string", + "format": "uuid" + }, + "DimensionId": { + "type": "string" + }, + "Dimension": { + "type": "object", + "additionalProperties": false, + "required": ["id", "label", "type", "dataType"], + "properties": { + "id": { + "$ref": "#/definitions/DimensionId" + }, + "label": { + "type": "string" + }, + "type": { + "type": "string" + }, + "distinctValueCount": { + "type": "integer", + "minimum": 0 + }, + "dataType": { + "type": "string" + } + } + }, + "TimeDimension": { + "$ref": "#/definitions/Dimension" + }, + "Measure": { + "type": "object", + "additionalProperties": false, + "required": [ + "id", + "label", + "type", + "dataType", + "isNative", + "aggregationType" + ], + "properties": { + "id": { + "$ref": "#/definitions/DimensionId" + }, + "label": { + "type": "string" + }, + "type": { + "type": "string" + }, + "distinctValueCount": { + "type": "integer", + "minimum": 0 + }, + "dataType": { + "type": "string" + }, + "isNative": { + "type": "boolean" + }, + "aggregationType": { + "type": "string" + } + } + }, + "CubePartition": { + "type": "object", + "additionalProperties": false, + "required": [ + "recordGuid", + "name", + "dimensions", + "timeDimensions", + "measures", + "rowCount" + ], + "properties": { + "id": { + "type": "integer" + }, + "status": { + "$ref": "#/definitions/StatusCode" + }, + "recordGuid": { + "$ref": "#/definitions/Guid" + }, + "name": { + "type": "string" + }, + "dimensions": { + "type": "array", + "items": { + "$ref": "#/definitions/Dimension" + } + }, + "timeDimensions": { + "type": "array", + "items": { + "$ref": "#/definitions/TimeDimension" + } + }, + "measures": { + "type": "array", + "items": { + "$ref": "#/definitions/Measure" + } + }, + "rowCount": { + "type": "integer", + "minimum": 0 + } + } + }, + "NumberColumnType": { + "type": "object", + "additionalProperties": false, + "properties": { + "min_value": { + "type": ["number", "null"] + }, + "max_value": { + "type": ["number", "null"] + }, + "distribute_parent_value_to_children": { + "type": "boolean" + }, + "default_value": { + "type": ["number", "null"] + }, + "minValue": { + "type": ["number", "null"] + }, + "maxValue": { + "type": ["number", "null"] + }, + "distributeParentValueToChildren": { + "type": "boolean" + }, + "defaultValue": { + "type": ["number", "null"] + } + } + }, + "AccessControl": { + "type": "object", + "additionalProperties": false, + "required": ["read", "write"], + "properties": { + "read": { + "type": "array", + "items": { + "type": "string" + } + }, + "write": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "DataInputMeasureSettings": { + "type": "object", + "additionalProperties": false, + "properties": { + "id": { + "type": "string" + }, + "column_type": { + "type": "object", + "additionalProperties": false, + "properties": { + "Number": { + "$ref": "#/definitions/NumberColumnType" + } + } + }, + "columnType": { + "type": "object", + "additionalProperties": false, + "properties": { + "Number": { + "$ref": "#/definitions/NumberColumnType" + } + } + }, + "title": { + "type": "string" + }, + "access_control": { + "$ref": "#/definitions/AccessControl" + }, + "accessControl": { + "$ref": "#/definitions/AccessControl" + }, + "disable_write_access": { + "type": "boolean" + }, + "disableWriteAccess": { + "type": "boolean" + }, + "on_change_formula": { + "type": "string" + }, + "onChangeFormula": { + "type": "string" + }, + "allow_input": { + "oneOf": [ + { + "enum": ["ReadAndEdit", "ReadOnly"] + } + ] + }, + "allowInput": { + "oneOf": [ + { + "enum": ["ReadAndEdit", "ReadOnly"] + } + ] + }, + "cube_partition_measure_id": { + "type": "integer" + }, + "bound_to_filter_context": { + "type": "boolean" + } + } + }, + "MeasureTypeDictionary": { + "type": "object", + "description": "Dictionary of measure types. Supports known measure keys and dynamic keys from persisted column metadata.", + "properties": { + "Forecast": { + "$ref": "#/definitions/ForecastMeasure" + }, + "DataInput": { + "$ref": "#/definitions/DataInputMeasureSettings" + }, + "VisualColumn": { + "type": "object", + "additionalProperties": false, + "properties": { + "DataInput": { + "$ref": "#/definitions/DataInputMeasureSettings" + } + } + }, + "Native": { + "type": "object", + "additionalProperties": false, + "properties": { + "measure_role": { + "type": "string" + } + } + }, + "Formula": { + "$ref": "#/definitions/FormulaMeasure" + } + }, + "additionalProperties": { + "$ref": "#/definitions/DataInputMeasureSettings" + } + }, + "PeriodRange": { + "type": "object", + "required": ["start", "end"], + "additionalProperties": false, + "properties": { + "start": { + "type": "number" + }, + "end": { + "type": "number" + } + } + }, + "ForecastOpenPeriodItem": { + "type": "object", + "required": ["forecastMethod", "targetPeriodRange"], + "additionalProperties": false, + "properties": { + "sourceRange": { + "$ref": "#/definitions/PeriodRange" + }, + "measureId": { + "type": "string" + }, + "forecastMethod": { + "type": "string" + }, + "targetPeriodRange": { + "$ref": "#/definitions/PeriodRange" + } + } + }, + "ForecastOpenPeriodItemSnake": { + "type": "object", + "required": ["forecast_method", "target_period_range"], + "additionalProperties": false, + "properties": { + "source_range": { + "$ref": "#/definitions/PeriodRangeSnake" + }, + "measure_id": { + "type": "string" + }, + "forecast_method": { + "type": "string" + }, + "target_period_range": { + "$ref": "#/definitions/PeriodRangeSnake" + } + } + }, + "PeriodRangeSnake": { + "type": "object", + "required": ["start", "end"], + "additionalProperties": false, + "properties": { + "start": { + "type": "number" + }, + "end": { + "type": "number" + } + } + }, + "ForecastMeasure": { + "type": "object", + "additionalProperties": false, + "required": [ + "aggregationType", + "closedPeriodConfig", + "openPeriodConfig", + "openPeriodRange" + ], + "properties": { + "aggregationType": { + "type": "string" + }, + "closedPeriodConfig": { + "type": "object", + "required": ["measureId", "startTime", "endTime"], + "additionalProperties": false, + "properties": { + "measureId": { + "type": "string" + }, + "startTime": { + "type": "number" + }, + "endTime": { + "type": "number" + } + } + }, + "openPeriodConfig": { + "type": "array", + "items": { + "$ref": "#/definitions/ForecastOpenPeriodItem" + } + }, + "openPeriodRange": { + "$ref": "#/definitions/PeriodRange" + } + } + }, + "ForecastMeasureSnake": { + "type": "object", + "additionalProperties": false, + "properties": { + "aggregation_type": { + "type": "string" + }, + "closed_period_config": { + "type": "object", + "additionalProperties": true + }, + "open_period_config": { + "type": "array", + "items": { + "$ref": "#/definitions/ForecastOpenPeriodItemSnake" + } + }, + "open_period_range": { + "$ref": "#/definitions/PeriodRangeSnake" + } + } + }, + "FormulaMeasure": { + "type": "object", + "additionalProperties": false, + "properties": { + "formulaQuery": { + "type": "string" + }, + "formula_query": { + "type": "string" + }, + "multiDimensionSettings": { + "$ref": "#/definitions/MultiDimensionSettings" + }, + "multi_dimension_settings": { + "$ref": "#/definitions/MultiDimensionSettingsSnake" + } + }, + "anyOf": [ + { + "required": ["formulaQuery"] + }, + { + "required": ["formula_query"] + } + ] + }, + "MultiDimensionSettings": { + "type": "object", + "additionalProperties": false, + "properties": { + "visualMeasureIdMapping": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "nativeMeasureMappings": { + "type": "array", + "items": { + "$ref": "#/definitions/Measure" + } + } + } + }, + "MultiDimensionSettingsSnake": { + "type": "object", + "additionalProperties": false, + "properties": { + "visual_measure_id_mapping": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "native_measure_mappings": { + "type": "array", + "items": { + "$ref": "#/definitions/Measure" + } + } + } + }, + "CubePartitionMeasureConfig": { + "type": "object", + "additionalProperties": false, + "properties": { + "label": { + "type": "string" + }, + "measure_type": { + "$ref": "#/definitions/MeasureTypeDictionary" + }, + "measureType": { + "$ref": "#/definitions/MeasureTypeCamel" + }, + "data_type": { + "oneOf": [ + { + "enum": ["Number", "Text"] + }, + { + "type": "string" + } + ] + }, + "dataType": { + "oneOf": [ + { + "enum": ["Number", "Text"] + }, + { + "type": "string" + } + ] + }, + "description": { + "type": "string" + }, + "aggregationType": { + "type": "string" + }, + "closedPeriodConfig": { + "type": "object", + "required": ["measureId", "startTime", "endTime"], + "additionalProperties": false, + "properties": { + "measureId": { + "type": "string" + }, + "startTime": { + "type": "number" + }, + "endTime": { + "type": "number" + } + } + }, + "openPeriodConfig": { + "type": "array", + "items": { + "type": "object", + "required": ["forecastMethod", "targetPeriodRange"], + "additionalProperties": false, + "properties": { + "sourceRange": { + "$ref": "#/definitions/PeriodRange" + }, + "measureId": { + "type": "string" + }, + "forecastMethod": { + "type": "string" + }, + "targetPeriodRange": { + "$ref": "#/definitions/PeriodRange" + } + } + } + }, + "openPeriodRange": { + "$ref": "#/definitions/PeriodRange" + }, + "formulaQuery": { + "type": "string" + }, + "multiDimensionSettings": { + "$ref": "#/definitions/MultiDimensionSettings" + }, + "nativeMeasureMappings": { + "type": "array", + "items": { + "$ref": "#/definitions/Measure" + } + }, + "aggregation_type": { + "type": "string" + }, + "closed_period_config": { + "type": "object", + "additionalProperties": true + }, + "open_period_config": { + "type": "array", + "items": { + "$ref": "#/definitions/ForecastOpenPeriodItemSnake" + } + }, + "open_period_range": { + "$ref": "#/definitions/PeriodRangeSnake" + }, + "formula_query": { + "type": "string" + }, + "multi_dimension_settings": { + "$ref": "#/definitions/MultiDimensionSettingsSnake" + }, + "native_measure_mappings": { + "type": "array", + "items": { + "$ref": "#/definitions/Measure" + } + } + } + }, + "MeasureTypeCamel": { + "type": "object", + "properties": { + "DataInput": { + "type": "object", + "additionalProperties": false, + "properties": { + "columnType": { + "type": "object", + "additionalProperties": false, + "properties": { + "Number": { + "$ref": "#/definitions/NumberColumnType" + } + } + }, + "title": { + "type": "string" + }, + "accessControl": { + "$ref": "#/definitions/AccessControl" + }, + "disableWriteAccess": { + "type": "boolean" + }, + "onChangeFormula": { + "type": "string" + }, + "allowInput": { + "oneOf": [ + { + "enum": ["ReadAndEdit", "ReadOnly"] + } + ] + } + } + } + }, + "additionalProperties": false + }, + "CubePartitionMeasure": { + "type": "object", + "additionalProperties": false, + "required": ["recordGuid", "name", "config", "type"], + "properties": { + "id": { + "type": "integer" + }, + "status": { + "$ref": "#/definitions/StatusCode" + }, + "recordGuid": { + "$ref": "#/definitions/Guid" + }, + "name": { + "type": "string" + }, + "config": { + "$ref": "#/definitions/CubePartitionMeasureConfig" + }, + "type": { + "$ref": "#/definitions/CubePartitionMeasureType" + } + } + }, + "CubePartitionMeasureMapping": { + "type": "object", + "additionalProperties": false, + "required": ["recordGuid"], + "properties": { + "id": { + "type": "integer" + }, + "status": { + "$ref": "#/definitions/StatusCode" + }, + "recordGuid": { + "$ref": "#/definitions/Guid" + }, + "cubePartitionId": { + "type": "integer" + }, + "cubePartitionMeasureId": { + "type": "integer" + }, + "cubePartition_RefId": { + "$ref": "#/definitions/Guid" + }, + "cubePartitionMeasure_RefId": { + "$ref": "#/definitions/Guid" + } + }, + "anyOf": [ + { + "required": ["cubePartitionId", "cubePartitionMeasureId"] + }, + { + "required": ["cubePartition_RefId", "cubePartitionMeasure_RefId"] + } + ] + }, + "CubePartitionMeasureDataInputColumnMapping": { + "type": "object", + "additionalProperties": false, + "required": ["recordGuid"], + "properties": { + "id": { + "type": "integer" + }, + "status": { + "$ref": "#/definitions/StatusCode" + }, + "recordGuid": { + "$ref": "#/definitions/Guid" + }, + "dataInputColumnId": { + "type": "integer" + }, + "cubePartitionMeasureId": { + "type": "integer" + }, + "visualId": { + "type": "integer" + }, + "cubePartitionId": { + "type": ["integer", "null"] + }, + "filterHash": { + "type": ["string", "null"] + }, + "visual_RefId": { + "$ref": "#/definitions/Guid" + }, + "cubePartitionMeasure_RefId": { + "$ref": "#/definitions/Guid" + }, + "cubePartition_RefId": { + "oneOf": [ + { + "$ref": "#/definitions/Guid" + }, + { + "type": "null" + } + ] + }, + "dataInputColumnMeasureGuid": { + "type": "string" + } + }, + "anyOf": [ + { + "required": [ + "dataInputColumnId", + "cubePartitionMeasureId", + "visualId" + ] + }, + { + "required": [ + "dataInputColumnMeasureGuid", + "cubePartitionMeasure_RefId", + "visual_RefId" + ] + } + ] + } + } +}