IRISLIB database
Base Class Reference

This is the base class for DeepSee computed dimension classes. More...

Inheritance diagram for Base:
Collaboration diagram for Base:

Public Member Functions

_.DeepSee.Query.query GetCurrentQuery ()
 Returns the DeepSee.Query.query object for the current query context, if any.
 
- Public Member Functions inherited from RegisteredObject
_.Library.Status OnAddToSaveSet (_.Library.Integer depth, _.Library.Integer insert, _.Library.Integer callcount)
 This callback method is invoked when the current object is added to the SaveSet,. More...
 
_.Library.Status OnClose ()
 This callback method is invoked by the <METHOD>Close</METHOD> method to. More...
 
_.Library.Status OnConstructClone (_.Library.RegisteredObject object, _.Library.Boolean deep, _.Library.String cloned)
 This callback method is invoked by the <METHOD>ConstructClone</METHOD> method to. More...
 
_.Library.Status OnNew ()
 This callback method is invoked by the <METHOD>New</METHOD> method to. More...
 
_.Library.Status OnValidateObject ()
 This callback method is invoked by the <METHOD>ValidateObject</METHOD> method to. More...
 

Static Public Attributes

 BEHAVIOR = None
 Controls the run-time behavior of the dimension. More...
 
 CACHECOMPUTEDBITSET = None
 Controls whether results of <method>OnComputeBitset</method> can be reused. More...
 
 DIMTYPE = None
 Type reported back to the UI. More...
 
- Static Public Attributes inherited from RegisteredObject
 CAPTION = None
 Optional name used by the Form Wizard for a class when generating forms. More...
 
 JAVATYPE = None
 The Java type to be used when exported.
 
 PROPERTYVALIDATION = None
 This parameter controls the default validation behavior for the object. More...
 

Private Member Functions

_.Library.Status ComputeBitset (_.Library.String pSpec, _.Library.String pIndexKey)
 Build the bitset that corresponds to the given computed dimension "spec".
 
_.Library.String ComputeIndexKey (_.Library.String pMemberKey)
 Compute a hash key for a given member member.
 
_.Library.Status CreateIndexFromSQL (_.Library.String pSQL, _.Library.String pIndexKey, _.SQL.StatementResult pRS, _.Library.Boolean pTranslateIds)
 Utility method. More...
 
_.Library.Status CreateIndexFromSearchableMeasure (_.Library.String pSearchMeasureIndex, _.Library.String pComparison, _.Library.Numeric pValue, _.Library.String pIndexKey)
 Utility method. More...
 
_.Library.Status GetAllMembers (pMemberList, _.Library.String pCube, _.Library.Integer pDimNo, _.Library.Integer pHierNo, _.Library.Integer pLevelNo)
 Return the set of all members (pre-defined and run-time) for this dimension. More...
 
_.Library.Status GetComputedMembers (pMemberList, _.Library.String pRollupKey, _.Library.String pRange)
 Find the set of members for this computed dimension object. More...
 
_.Library.String GetFactTable ()
 Return the (SQL) name of the fact table for the current cube.
 
_.Library.String GetSourceTable ()
 Return the (SQL) name of the source table for the current cube.
 
_.Library.Status MemberSearch (_.Library.String pSearchKey, _.Library.List pList)
 Execute a search for members. More...
 
_.Library.Status MemberSearchByIndex (_.Library.String pSearchKey, _.Library.List pList)
 Helper method; execute a member search using the contents of the fact index.
 
_.Library.Status MemberSearchByMembers (_.Library.String pSearchKey, _.Library.List pList)
 Helper method; execute a member search using the set of defined (and run-time) members.
 
_.Library.Status OnComputeBitset (_.Library.String pSpec, _.Library.String pIndexKey)
 Do the actual work of building the bitset. More...
 
_.Library.Status OnGetComputedMembers (pMemberList)
 Find the set of members for this computed dimension object. More...
 
_.Library.Status OnGetComputedMembersFiltered (pMemberList, _.Library.String pRollupKey, _.Library.String pRange)
 Find the set of members for this computed dimension object satisfying. More...
 
_.Library.String ProcessSQL (_.Library.String pSQL, pSubstList, _.Library.String pFirstToken, _.Library.String pErrorMsg)
 Apply substitutions to an SQL query string used within a computed dimension expression. More...
 
_.Library.Status ResolveKey (_.Library.String pSpec, _.Library.String pRKey)
 Resolve any special tokens or expression in a key value and return the result.
 

Static Private Member Functions

_.Library.Integer Count (_.Library.String pCube, _.Library.Integer pDimNo, _.Library.Integer pHierNo, _.Library.Integer pLevelNo)
 Return number of members.
 
_.DeepSee.ComputedDimension.Base Create (_.Library.String pCube, _.Library.Integer pFactNo, _.Library.Integer pDimNo, _.Library.Integer pHierNo, _.Library.Integer pLevelNo)
 Create a instance of this dimension class.
 
_.Library.String Eval (_.Library.String pExpr, _.Library.String pErrorMsg)
 Evaluate the given ObjectScript expression.
 
_.Library.String GetBehavior ()
 Return the behavior of this class.
 
_.Library.String GetDimType ()
 Return the type of this class (used by UI components).
 
_.Library.Integer GetLevelNumber (_.Library.String pCube, _.Library.Integer pDimNo, _.Library.Integer pHierNo, _.Library.String pLevelName)
 Given a level name, pLevelName, return the corresponding level number. More...
 
_.Library.Status GetPredefinedMembers (pMemberList, _.Library.String pCube, _.Library.Integer pDimNo, _.Library.Integer pHierNo, _.Library.Integer pLevelNo)
 Return the set of pre-defined members for this dimension. More...
 
_.Library.Status OnKillFacts (_.Library.String pCubeName, _.Library.Integer pFactNo, _.Library.Integer pDimNo, _.Library.Integer pHierNo, _.Library.Integer pLevelNo)
 Notifies the computed dimension all facts of a cube referencing are being killed. More...
 

Detailed Description

This is the base class for DeepSee computed dimension classes.


A computed dimension class defines the behavior for a level within a hierarchy within a DeepSee computed dimension.

Member Function Documentation

◆ CreateIndexFromSQL()

_.Library.Status CreateIndexFromSQL ( _.Library.String  pSQL,
_.Library.String  pIndexKey,
_.SQL.StatementResult  pRS,
_.Library.Boolean  pTranslateIds 
)
private

Utility method.

Prepare and execute the given SQL statement and build an index from it.
If optional pRS is supplied, use it to fetch ID values (result set must have an ID column).
If pTranslateIds is true, then translate source id value to fact ids.

◆ CreateIndexFromSearchableMeasure()

_.Library.Status CreateIndexFromSearchableMeasure ( _.Library.String  pSearchMeasureIndex,
_.Library.String  pComparison,
_.Library.Numeric  pValue,
_.Library.String  pIndexKey 
)
private

Utility method.

Build an index directly from a comparison on a searchable measure. The comparison is supplied by the arguments
pSearchMeasureIndex - The name of the searchable index on the searchable measure
pComparison - The comparison operator; legal values are SQL numeric comparisons: <,<=,=,=>,>,<>
pValue - The target value of the comparison. This must be numeric
pIndexKey - The key of the new index being constructed out of the searchable measure

◆ GetAllMembers()

_.Library.Status GetAllMembers (   pMemberList,
_.Library.String  pCube,
_.Library.Integer  pDimNo,
_.Library.Integer  pHierNo,
_.Library.Integer  pLevelNo 
)
private

Return the set of all members (pre-defined and run-time) for this dimension.

Sort them according to the sort options in the cube meta data.
pMemberList returns a set of members defined in the cube model:
pMemberList(n) = $LB(id,caption,key,[format])

◆ GetComputedMembers()

_.Library.Status GetComputedMembers (   pMemberList,
_.Library.String  pRollupKey,
_.Library.String  pRange 
)
private

Find the set of members for this computed dimension object.


pMemberList may contain a set of members defined in the cube model: pMemberList(n) = $LB(id,name,key,[format])
If so, use this list, otherwise compute one.

pRollupKey and pRange can be used to filter the computed members returned, if applicable for this computed dimension.

◆ GetLevelNumber()

_.Library.Integer GetLevelNumber ( _.Library.String  pCube,
_.Library.Integer  pDimNo,
_.Library.Integer  pHierNo,
_.Library.String  pLevelName 
)
staticprivate

Given a level name, pLevelName, return the corresponding level number.

Return "" if there is no level with the name.

◆ GetPredefinedMembers()

_.Library.Status GetPredefinedMembers (   pMemberList,
_.Library.String  pCube,
_.Library.Integer  pDimNo,
_.Library.Integer  pHierNo,
_.Library.Integer  pLevelNo 
)
staticprivate

Return the set of pre-defined members for this dimension.

These will be in the cube meta data.
pMemberList returns a set of members defined in the cube model: pMemberList(n) = $LB(id,caption,key,[format])

◆ MemberSearch()

_.Library.Status MemberSearch ( _.Library.String  pSearchKey,
_.Library.List  pList 
)
private

Execute a search for members.


Return a list of the form:
pList(n) = $LB(value,key)

Reimplemented in Base, SQL, SET, and MDX.

◆ OnComputeBitset()

_.Library.Status OnComputeBitset ( _.Library.String  pSpec,
_.Library.String  pIndexKey 
)
private

Do the actual work of building the bitset.

Implemented in subclasses.

Reimplemented in EntitiesEO, Entities, Dictionaries, SQL, and SET.

◆ OnGetComputedMembers()

_.Library.Status OnGetComputedMembers (   pMemberList)
private

Find the set of members for this computed dimension object.


pMemberList(n) = $LB(id,name,key)
This can be implemented by subclasses.

This method is deprecated, implement <method>OnGetComputedMembersFiltered</method> instead.

Reimplemented in Base.

◆ OnGetComputedMembersFiltered()

_.Library.Status OnGetComputedMembersFiltered (   pMemberList,
_.Library.String  pRollupKey,
_.Library.String  pRange 
)
private

Find the set of members for this computed dimension object satisfying.

pRollupKey and pRange (if applicable for this implementation).
pMemberList(n) = $LB(id,name,key)
This can be implemented by subclasses.

Reimplemented in Base, and MDX.

◆ OnKillFacts()

_.Library.Status OnKillFacts ( _.Library.String  pCubeName,
_.Library.Integer  pFactNo,
_.Library.Integer  pDimNo,
_.Library.Integer  pHierNo,
_.Library.Integer  pLevelNo 
)
staticprivate

Notifies the computed dimension all facts of a cube referencing are being killed.

This method

should erase any temporary or cached data the computed dimension implementation has written as part of its "lifetime" for the given cube and dimension coordinates. Indices cached as part of the <parameter>CACHECOMPUTEDBITSET</parameter> setting are taken care of by the default implementation of this method.

◆ ProcessSQL()

_.Library.String ProcessSQL ( _.Library.String  pSQL,
  pSubstList,
_.Library.String  pFirstToken,
_.Library.String  pErrorMsg 
)
private

Apply substitutions to an SQL query string used within a computed dimension expression.


pSubstList is an array of $$$ substitution values, e.g.:
pSubstList("TABLE") = table name
pSubstList("FACT") = fact name
{} can be used to enclose an ObjectScript expression that is evaluated and whose results become part of the SQL text of the query.
[dim].[mbr] can be used to refer to a specific cube element (such as a measure). This is replaced with the fact name that corresponds to the element.

Member Data Documentation

◆ BEHAVIOR

BEHAVIOR = None
static

Controls the run-time behavior of the dimension.

Available values are "BITSET", and "MDX".
BITSET (default) indicates that this class will compute a set of bits that define membership within a given dimension member.
MDX indicates that this class will return a set of valid MDX expressions that will be used to resolve the members of the dimension.

◆ CACHECOMPUTEDBITSET

CACHECOMPUTEDBITSET = None
static

Controls whether results of <method>OnComputeBitset</method> can be reused.

Available values are "NEVER", "CHECK", with NEVER (default) meaning no values are cached and CHECK meaning the timestamp of previous OnComputeBitset results is compared to the cube's latest update timestamp.

◆ DIMTYPE

DIMTYPE = None
static

Type reported back to the UI.

This determines what type of control to display

for filters based on this class.