SMML Elements: Physical Table
The SMML physical table element corresponds to the physical table schema which is part of the physical layer in a semantic model. The physical table schema contains physical table objects and elements.
Physical Table Elements
-
name
(required property) — The name of the physical table. -
description
— The description of the physical table. -
tags
— Keywords assigned to this object. This element corresponds to the Tags field. -
sourceType
— Indicates the type of physical table. -
sourceTable
— For alias tables only. References the physical table that is being used as the source for this alias table. -
additionalKeys
— Keys that can be defined in addition to primary and display columns. -
joins
— Defines the joins for this link. It contains different child elements, depending on the type of join. -
dynamicName
— If a session variable is being used to specify the name of this physical table, this element references that session variable. -
sqlHints
— For Oracle Databases only. Lists any database hints, such as index hints or leading hints, that were specified for this physical table. -
caching
— If set to true, indicates that this table is included in the Oracle Analytics query engine query cache. See Caching Elements. -
overrideSourceCacheSetting
— For alias tables only. If set toTRUE
, indicates that the alias table has its own cache properties that override the cache properties of the source table. -
eventPollingFrequency
— The polling frequency, in seconds. Only applies if this table is anOracle Analytics query engine event polling table. The default value is 3600 seconds. -
selectStatements
— List of select statements that can be defined for different databases. -
physicalColumns
— Specifies the physical columns that belong to this physical table.
PhysicalColumn Elements
-
name
(required property) — The name of the physical column. -
description
— The description of the physical column. -
dataType
— The data type of the physical column, such asVARCHAR
. See DataType Enumerated Values. -
length
— The length of the physical column. -
nullable
— If set toTRUE
, indicates that null values are allowed for the column. This allows null values to be returned to the user, which is expected with certain functions and with outer joins.
Syntax
{
"$schema": "http://json-schema.org/draft-04/schema#",
"$ref": "#/definitions/physicalTable",
"definitions": {
"physicalTable": {
"type": "object",
"additionalProperties": false,
"properties": {
"name": {
"type": "string",
"minLength": 1,
"pattern": "^[^?*]+$"
},
"description": {
"type": "string"
},
"tags": {
"type": "array",
"items": {
"type": "string"
}
},
"sourceType": {
"type": "string",
"enum": [
"TABLE",
"STORED_PROCEDURE",
"SELECT"
]
},
"sourceTable": {
"type": "string"
},
"additionalKeys": {
"type": "array",
"items": {
"type": "array",
"items": {
"type": "string"
}
}
},
"joins": {
"type": "array",
"items": {
"$ref": "#/definitions/Join"
}
},
"dynamicName": {
"type": "string"
},
"sqlHints": {
"type": "string"
},
"caching": {
"$ref": "common#/definitions/Caching"
},
"overrideSourceCacheSetting": {
"type": "boolean"
},
"eventPollingFrequency": {
"type": "string"
},
"selectStatements": {
"type": "array",
"items": {
"$ref": "#/definitions/SelectStatement"
}
},
"physicalColumns": {
"type": "array",
"items": {
"$ref": "#/definitions/PhysicalColumn"
}
}
},
"required": [
"name"
],
"title": "PhysicalTable"
},
"PhysicalColumn": {
"type": "object",
"additionalProperties": false,
"properties": {
"name": {
"type": "string",
"minLength": 1,
"pattern": "^[^?*]+$"
},
"description": {
"type": "string"
},
"dataType": {
"$ref": "#/definitions/DataType"
},
"length": {
"type": "integer",
"minimum": 0,
"maximum": 2147483647
},
"nullable": {
"type": "boolean"
}
},
"required": [
"name"
],
"title": "PhysicalColumn"
}
}
}