abstract class %DeepSee.Model.node
extends abstractNode
Base class for DeepSee Cube Definition meta-data objects.
parameter DOMAIN = "%DeepSee";
parameter NAMESPACE = "http://www.intersystems.com/deepsee";
NAMESPACE specifies the XML namespace to be used when projecting the
class to XML. If NAMESPACE = "", the default namespace is used for the XML schema
is used as the namespace for his class.
parameter XMLINCLUDEINGROUP = 1;
Do not include *this* class in the XML groupings.
property additionalDescription
as %DeepSee.Datatype.string;
property description
as %DeepSee.Datatype.string(MAXLEN=2500,XMLPROJECTION="attribute");
Optional description for this node.
property disabled
as %Boolean(XMLPROJECTION="attribute") [ InitialExpression = 0 ];
Disabled flag. If true, then this member will be ignored when the
DeepSee cube model is compiled.
property displayName
as %DeepSee.Datatype.entityName(XMLPROJECTION="attribute");
Localized name of this element.
This is used by tools but not within actually queries.
property isModified
[ InitialExpression = 0 ];
Client marker to track whether or not changes have been made too this item in the current session.
property name
as %DeepSee.Datatype.entityName(XMLPROJECTION="attribute");
Logical name of this element.
method %AtScaleConvertAggregate(pIRISAgg As %String, pIRISType As %String = "number", pStatus As %Status)
as %String
Convert a measure aggregate from the IRIS definition to the best match from the AtScale aggregates.
classmethod %AtScaleConvertTimeFunction(pIRISTimeFunction As %String = "", pStatus As %Status, Output pSQLFunction)
as %String
Convert an IRIS time function to a best match for AtScale TimeUnit.
classmethod %AtScaleConvertType(pIRISType As %String = "", pStatus As %Status)
as %String
Convert an IRIS column type to a best match to the AtScale dimension types.
method %AtScaleCreateMessageObj(pMessageText="", pType=$$$msgInfo)
as %DynamicObject
Produce a Message object from the message text and a type string.
method %AtScaleExport(pStatus As %Status = $$$OK, ByRef pAuxiliaryIndex As %DynamicAbstractObject = $$$NULLOREF)
as %DynamicAbstractObject
Produce the structures needed to emit the appropriate JSON and export this item to AtScale
method %AtScaleInitIndex(pIndex As %DynamicAbstractObject = $$$NULLOREF)
as %DynamicAbstractObject
Initialize the arrays to collect information for post-processing. These items will get filled
in as the export walks the elements of the model.
method %AtScaleProcessSourceRef(pSourceProperty As %String = "", pAuxiliaryIndex As %DynamicAbstractObject = $$$NULLOREF, pTimeFunction="")
as %Status
Unpack a source property into the datasets, joins and attributes needed to provide data for an AtScale cube.
Incoming values for sourceProperty are expected to be correct class-reference syntax. In the case where
the source is a simple property, it is added as a formal Attribute and placed in the pAuxiliaryIndex as
a column to be later added to the primary dataset.
method %AtScaleProduceAttribute(pProperty="", pAuxiliaryIndex As %DynamicAbstractObject = $$$NULLOREF, pTimeFunction="")
as %DynamicAbstractObject
Produce an attribute definition for import to AtScale
method %AtScaleProduceDataSet(pDataSource As %String, Output pStatus, pIsFact=1)
as %DynamicAbstractObject
Given the provided pDataSource as either a class or table name, produce the
DataSet as a %DynamicObject with required parameters for import to AtScale. By default this
will assume the dataset will have the setting isFact=true. Thas can be controlled using
pIsFact.