IRISLIB database
Utils Class Reference

This class contains a number of DeepSee utility methods. More...

Inheritance diagram for Utils:
Collaboration diagram for Utils:

Static Public Member Functions

_.Library.String GetResourceList ()
 Return resource list containing type=Application only.
 

Static Public Attributes

 DOMAIN = None
 This class contains a number of DeepSee utility methods.
 
- 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...
 

Static Private Member Functions

_.Library.Date AddHijriTimeInterval (_.Library.Date pDate, _.Library.String pInterval, _.Library.String pCalendar)
 Add a time interval to a given date (in $H format). More...
 
_.Library.Date AddTimeInterval (_.Library.Date pDate, _.Library.String pInterval)
 Add a time interval to a given date (in $H format). More...
 
_.Library.Status Analyze (_.Library.String pCubeName, _.Library.String pFlags, _.Library.Boolean pVerbose)
 Loop over all indices for a given cube and show details. More...
 
_.Library.Status AnalyzeMissing (_.Library.String pCube)
 Examine the levels and measures for a given cube and report on how many missing values there are. More...
 
_.Library.Status ArrayFromList (_.Library.List pParmsList, pParms)
 Convert a parameters list in $LB format to an array.
 
_.Library.Status ArrayToList (pParms, _.Library.List pParmsList)
 Convert a single-subscript array to an $LB format.
 
_.Library.Status AtScaleExportCube (_.Library.String pCubeName, _.Library.String pFileName, _.Library.String pCalendar)
 Produce a serialized representation of the cube model suitable for import to an AtScale environment. More...
 
_.Library.Status BuildCube (_.Library.String pCubeName, _.Library.Boolean pAsync, _.Library.Boolean pVerbose, _.Library.Boolean pIndexOnly, _.Library.Integer pMaxFacts, _.Library.Boolean pTracking, _.Library.String pBuildStatistics, _.Library.String pFactList)
 Update all facts in the DeepSee cube pCubeName More...
 
_.Library.Status BuildDimensionTableIndices (_.Library.String pCubeName, _.Library.Boolean pVerbose)
 Rebuild the indices for every dimension table used for cube pCubeName. More...
 
 BuildStatus (_.Library.String pCubeName)
 Command line utility for monitoring cube build progress. More...
 
_.Library.Boolean CheckPrivilege (_.Library.String pCubeName)
 Test that the current user holds privileges on the given cube.
 
_.Library.Status CompressIndices (_.Library.String pCubeName, _.Library.Boolean pVerbose)
 Loop over all indices for the given cube and compress them.
 
_.Library.Integer ComputeAge (_.Library.Date pStart, _.Library.Date pEnd, _.Library.String pUnits)
 Compute the "age" (time difference) between pStart and pEnd as a number. More...
 
_.Library.Status ComputeAggregateCombos (_.Library.String pCubeName, pCombos, _.Library.Boolean pVerbose, _.Library.Boolean pTracking)
 Loop over fact table for cube and precompute the aggregates for the specified combinations. More...
 
_.Library.Status ComputeAggregateGroup (_.Library.String pCubeName, _.Library.String pGroupName, _.Library.Boolean pVerbose)
 Precompute the aggregates witin the given cube and the given group name within the cube's. More...
 
_.Library.Status ComputeCellCache (_.Library.String pCubeName, pSpec)
 Generate and execute a query that will force the update of the. More...
 
_.Library.Date ConvertDate (_.Library.String pDate, _.Library.String pDateType)
 Utility method. More...
 
_.Library.String CreateParameterNonce (_.Library.String pParm)
 Sometimes we need to pass parameters to another process via a URL. More...
 
_.Library.String CreateQueryNonce (_.Library.String pText, _.Library.String pMode)
 Sometimes we need to pass a query (or XML) to another process via a URL. More...
 
_.Library.Boolean CubeExists (_.Library.String pCubeName, _.Library.Status pStatus)
 Given the logical name, pCubeName of a DeepSee cube,. More...
 
 DayOfWeekToNumber (pDayName, _.Library.Boolean pFullName, _.Library.String pLocale)
 Method to convert day of week name to a number from 1 to 7
More...
 
_.Library.Integer DaysInMonth (y, m)
 Return number of days in the given year and month.
 
_.Library.Status DeleteFact (_.Library.String pCubeName, _.Library.String pSourceId, _.Library.Boolean pVerbose)
 For the specified cube, delete one fact from the source table (with id of pSourceId). More...
 
_.Library.Status DeleteNamedFilter (_.Library.String pCube, _.Library.String pFilterName, _.Library.Boolean pUseCubeVersion)
 Delete the given named filter for the given cube. More...
 
_.Library.Status DeletePivotVariable (_.Library.String pCube, _.Library.String pVariableName, _.Library.Boolean pUseCubeVersion)
 Delete the given pivot variable for the given cube. More...
 
_.Library.Status DeleteSharedCalcMember (_.Library.String pCube, _.Library.String pCalcMbrName, _.Library.String pDimension, _.Library.Boolean pUseCubeVersion)
 Delete the given shared calculated member for the given cube. More...
 
_.Library.String DenormalizeType (_.Library.String pType)
 Convert a class name of the form Library.xxx to xxx.
 
_.Library.String ExcelFormatDate (_.Library.String pDate, _.Library.String pCalendar)
 Given a date in $H format and a calendar, return the number of days since Jan 0 1900. More...
 
_.Library.Status ExecutePivot (pPivotFullName, pParms, pResultSet)
 Programmatically execute a stored pivot table. More...
 
_.Library.Status ExportCSVToFile (_.Library.String pFile, _.Library.String pParms, pOutFile)
 Export a DeepSee query or KPI to the file pFile in CSV format. More...
 
_.Library.Status ExportExcelToFile (_.Library.String pFile, _.Library.String pParms)
 Export a DeepSee query or KPI to the file pFile in CSV format. More...
 
_.Library.Status ExportPDFToFile (_.Library.String pFile, _.Library.String pParms)
 Export a DeepSee query or KPI to the file pFile in CSV format. More...
 
_.Library.Status FilterSpecToArray (_.Library.String pCube, _.Library.String pSpec, pFilterArray)
 Convert a string pSpec into array form and add it to the array pFilterArray. More...
 
_.Library.Status FindCubeMembers (_.Library.String pCube, _.Library.String pSearchKey, pMembers, _.Library.String pDimList, _.Library.Boolean pIncludeLevelNames, _.Library.Boolean pIncludeMeasures, _.Library.Boolean pIncludeComputed, _.Library.Integer pMaxResults)
 
_.Library.Status FixBuildErrors (_.Library.String pCube, _.Library.Boolean pVerbose)
 For the given cube, iterate over all facts in the build error log and attempt to. More...
 
_.Library.String FormatDate (_.Library.Date pDate, _.Library.String pFormat)
 Format a date value (in $H format) according to the format in pFormat. More...
 
_.Library.String FormatPartialDate (_.Library.String pDate, _.Library.String pFormat)
 Format a date value (in partial date ODBC format) according to the format in pFormat. More...
 
_.Library.Integer GetAgentCount (pType, _.Library.Status pStatus)
 Get the current default agent count for the group specified by pType. More...
 
_.Library.String GetBaseCube (_.Library.String pCubeName)
 Given the logical name, pCubeName of a DeepSee subject area known to exist,. More...
 
_.Library.Status GetCollectionProjections (_.Library.String pClassname, _.Library.String pProjectedClass)
 Given a class name, return the set of classes projected for collection properties of the class.
 
_.Library.String GetCountCaption (_.Library.String pCubeName, _.Library.Status pStatus)
 Given the logical name, pCubeName of a DeepSee cube,. More...
 
_.Library.String GetCountName (_.Library.String pCubeName, _.Library.Status pStatus)
 Given the logical name, pCubeName of a DeepSee cube,. More...
 
_.Library.String GetCubeActionClass (_.Library.String pCubeName, _.Library.Status pStatus)
 Given the logical name, pCubeName of a DeepSee cube,. More...
 
_.Library.String GetCubeCaption (_.Library.String pCubeName, _.Library.Status pStatus)
 Given the logical name, pCubeName of a DeepSee cube, return its caption.
 
_.Library.String GetCubeClass (_.Library.String pCubeName, _.Library.Status pStatus)
 Given the logical name, pCubeName of a DeepSee cube,. More...
 
_.Library.Integer GetCubeDSTime (_.Library.String pCubeName, _.Library.Status pStatus)
 Query the sync timestamp for the given cube.
 
_.Library.String GetCubeDescription (_.Library.String pCubeName, _.Library.Status pStatus)
 Given the logical name, pCubeName of a DeepSee cube return its class description.
 
_.Library.String GetCubeFactClass (_.Library.String pCubeName, _.Library.Status pStatus)
 Given the logical name, pCubeName of a DeepSee cube,. More...
 
_.Library.Integer GetCubeFactCount (_.Library.String pCubeName, _.Library.Status pStatus)
 Given the logical name, pCubeName of a DeepSee cube,. More...
 
_.Library.String GetCubeFactTable (_.Library.String pCubeName, _.Library.Status pStatus)
 Given the logical name, pCubeName of a DeepSee cube,. More...
 
_.Library.Status GetCubeLevels (_.Library.String pCube, pLevels, _.Library.Boolean pSkipAll, _.Library.Boolean pSkipComputed)
 Return a list of all levels within the given cube. More...
 
_.Library.Status GetCubeList (pList, _.Library.String pType, _.Library.Boolean pNonAbstract, _.Library.String pBaseCube)
 Return an array of all currently defined DeepSee Cubes visible to the current user. More...
 
_.Library.Status GetCubeListingFields (_.Library.String pCube, _.Library.List pFields)
 Return an array of all defined listing fields for the given cube. More...
 
_.Library.Status GetCubeListings (_.Library.String pCube, _.Library.List pListings, _.Library.String pType)
 Return an array of all (non-default) listings for the given cube. More...
 
_.Library.Status GetCubeMeasures (_.Library.String pCube, pMeasures, _.Library.Boolean pSkipCalculated)
 Return the measures within the given cube as an array of form:
More...
 
_.Library.Integer GetCubeMemberCount (_.Library.String pCubeName, _.Library.Status pStatus, _.Library.String pDimName, _.Library.String pHierName, _.Library.String pLevelName)
 Given the logical name, pCubeName of a DeepSee cube,. More...
 
_.DeepSee.Datatype.dateTime GetCubeModifiedDate (_.Library.String pCubeName, _.Library.Status pStatus)
 Given the logical name, pCubeName of a DeepSee cube,. More...
 
_.Library.String GetCubeName (_.Library.String pCubeName, _.Library.Status pStatus)
 Given the logical name, pCubeName of a DeepSee cube,. More...
 
_.Library.Status GetCubeSearchableMeasures (_.Library.String pCube, pMeasures)
 Return the searchable measures within the given cube as an array of form:
More...
 
_.Library.Status GetDashboardList (pList)
 Return a list of all currently defined DeepSee dashboards visible to the current user. More...
 
_.Library.Status GetDataSourceTree (_.Library.String pClass, pTree, pParms, _.Library.Integer pLevel, _.Library.String pParentRef, _.Library.String pRoot)
 Return the properties of a cube data source in a format that can be consumed. More...
 
_.Library.String GetDefaultHierarchy (_.Library.String pCubeName, _.Library.String pDimName)
 Given the logical name, pCubeName of a DeepSee cube,. More...
 
_.Library.String GetDefaultLevel (_.Library.String pCubeName, _.Library.String pDimName, _.Library.String pHierName)
 Given the logical name, pCubeName of a DeepSee cube,. More...
 
_.Library.String GetDefaultMeasure (_.Library.String pCubeName)
 Given the logical name, pCubeName of a DeepSee cube,. More...
 
_.Library.String GetDefaultMember (_.Library.String pCubeName)
 Given the logical name, pCubeName of a DeepSee cube,. More...
 
_.Library.Status GetDependencyGraph (pGraph, _.Library.String pCubeName, _.Library.String pDirection, _.Library.Integer pLevel)
 Get the cube dependency graph for the given cube: More...
 
_.Library.Status GetDimensionCaption (_.Library.String pCube, _.Library.Integer pDimNo, _.Library.Integer pHierNo, _.Library.Integer pLevelNo, _.Library.String pCaption)
 Return the localized display name for a given element within the given cube.
 
_.Library.Status GetDimensionFact (_.Library.String pCube, _.Library.Integer pDimNo, _.Library.Integer pHierNo, _.Library.Integer pLevelNo, _.Library.String pFactName)
 Return the fact name associated with a given element within the given cube.
 
_.Library.Status GetDimensionInfo (_.Library.String pCubeName, _.Library.String pSpec, pDimNo, pHierNo, pLevelNo, _.Library.String pRelationName, _.Library.String pRelationSpec, _.Library.String pSpecInfo, pLocalCalcMembers, _.Library.Boolean pStrict, pLocalNamedSets)
 Return the dimension,hierarchy, and level number of the specified element. More...
 
_.Library.Status GetDimensionList (_.Library.String pCube, pInfo, _.Library.Boolean pIncludeCalcMbrs, _.Library.Boolean pUseInFilter, pExtendedInfo)
 Return a list of the dimensions (and measures) within the specified cube. More...
 
_.Library.Status GetDimensionMembers (_.Library.String pCubeName, _.Library.String pSpec, _.Library.String pContext, pMembers, _.Library.Integer pMaxMembers, _.Library.String pMemberClass, pRelatedFilters, _.Library.Integer pCalcMode, _.Library.String pSearchKey)
 Return a list of members of the specified dimension. More...
 
_.Library.Status GetDimensionProperties (_.Library.String pCube, _.Library.String pDimName, _.Library.String pHierName, _.Library.String pLevelName, pProperties)
 Return the properties of a given level within the given cube as an array of form:
More...
 
_.Library.Status GetDimensionSpec (_.Library.String pCubeName, _.Library.String pSpec, _.Library.Integer pDimNo, _.Library.Integer pHierNo, _.Library.Integer pLevelNo)
 Given the dimension,hierarchy, and level number for a dimension. More...
 
_.Library.Status GetDimensionTables (_.Library.String pCubeName, pStarTables, _.Library.Boolean pCardinality)
 Return an array of the dimension tables (class names) used for a given cube. More...
 
_.Library.String GetErrorPageURL (_.Library.String pError)
 Return the URL for the DeepSee management portal error page.
 
_.Library.Status GetFunctionList (pList, _.Library.Boolean pAsTree)
 Return a list of all currently defined MDX functions. More...
 
_.Library.Status GetFunctionSet (funcset, _.Library.String pClass)
 Builds a list of functions (methods) for a given FunctionSet class. More...
 
_.Library.String GetKPICaption (_.Library.String pKPI, _.Library.Status pStatus)
 Given the logical name, pKPI of a DeepSee KPI, return its caption.
 
_.Library.String GetKPIClass (_.Library.String pKPIName, _.Library.Status pStatus)
 Given the logical name, pKPIName of a DeepSee KPI,. More...
 
_.Library.String GetKPIDescription (_.Library.String pKPIName, _.Library.Status pStatus)
 Given the logical name, pKPIName of a DeepSee KPI return its class description.
 
_.Library.Status GetKPIList (pList)
 Return a list of all currently defined DeepSee KPIs visible to the current user. More...
 
_.DeepSee.Datatype.dateTime GetKPIModifiedDate (_.Library.String pKPI, _.Library.Status pStatus)
 Given the logical name, pKPI of a DeepSee KPI,. More...
 
_.Library.String GetKPIName (_.Library.String pKPIName, _.Library.Status pStatus)
 Given the logical name, pKPIName of a DeepSee KPI,. More...
 
_.Library.Status GetKPIPlugInList (pList, _.Library.String pBaseName, _.Library.String pPlugInType, _.Library.Boolean pUseCubeVersion)
 Return a list of all currently defined DeepSee "Plug-in" KPIs visible to the current user. More...
 
_.Library.Status GetLevelNameForKey (_.Library.String pCubeName, _.Library.String pSpec, _.Library.String pKey, _.Library.String pValue)
 Give a cube, a level within the cube, and the key value of a member of the level,. More...
 
_.Library.String GetMDXFromPivot (pPivotFullName, _.Library.Status pStatus, _.Library.Boolean pExecute, pParms, _.DeepSee.ResultSet pResultSet)
 Method for programmatically creating a pivot table
More...
 
_.Library.Status GetMeasureFact (_.Library.String pCube, _.Library.String pMeasureName, _.Library.String pMeasureFact)
 Given a cube and a measure name, i.e. More...
 
_.Library.Status GetMemberCaption (_.Library.String pCube, _.Library.String pDimName, _.Library.String pHierName, _.Library.String pLevelName, _.Library.String pCaption)
 Return the localized display name for a given element within the given cube given a dimension,. More...
 
_.Library.Status GetMemberDescription (_.Library.String pCube, _.Library.String pDimName, _.Library.String pHierName, _.Library.String pLevelName, _.Library.String pDescription)
 Return the localized description for a given element within the given cube given a dimension,. More...
 
_.Library.Status GetMemberTree (_.Library.String pCube, pTree, _.Library.String pVisited, _.Library.Boolean pSkipMeasures, _.Library.String pRoot, _.Library.List pLocalCalcMembers, _.Library.List pLocalNamedSets, _.Library.String pRelatedBy, _.Library.Integer pLevel, _.Library.Boolean pSkeleton)
 Get the members (dimensions, measures, and actual members of dimensions) of the specified cube as a tree format that can. More...
 
_.Library.Status GetMetricList (pList)
 Return a list of all currently defined Business Metrics visible to the current user. More...
 
_.DeepSee.Model.cube GetModel (_.Library.String pCubeName, _.Library.Status pStatus)
 Given the logical name, pCubeName of a DeepSee cube,. More...
 
_.Library.Status GetNamedFilterInfo (_.Library.String pCube, _.Library.String pFilterName, pInfo, _.Library.Boolean pUseCubeVersion)
 Return details on the given named filter in the array pInfo.
 
_.Library.Status GetNamedFilters (_.Library.String pCube, pFilters, _.Library.Boolean pUseCubeVersion)
 Return all named filters for a given cube as an array of form:
More...
 
_.Library.Status GetPivotList (pList, _.Library.Boolean pHidden, _.Library.String pCubeName)
 Return a list of all currently defined DeepSee Pivots visible to the current user. More...
 
_.Library.Status GetPivotTree (_.Library.String pCube, pTree, _.Library.String pCurrPivot)
 Get list of saved pivots for a cube for display within a tree.
 
_.Library.Status GetPivotVariableInfo (_.Library.String pCube, _.Library.String pVariableName, pInfo, _.Library.Boolean pUseCubeVersion)
 Return details on the given pivot variable in the array pInfo.
 
_.Library.Status GetPivotVariableValues (_.Library.String pCube, _.Library.String pVariableName, pValues, _.Library.Boolean pUseCubeVersion)
 Find all values for a given pivot variable. More...
 
_.Library.Status GetPivotVariables (_.Library.String pCube, pVariables, _.Library.Boolean pUseCubeVersion)
 Return all pivot variables for a given cube as an array of form:
More...
 
_.Library.Status GetQualityMeasureTree (_.Library.String pCube, pTree)
 Get list of quality measures for display within a tree.
 
_.Library.String GetRelatedCube (_.Library.String pCubeName, _.Library.String pRelationName)
 Given the logical name, pCubeName of a DeepSee cube,. More...
 
_.DeepSee.ResultSet GetResultSetFromPivot (pPivotFullName, _.Library.Status pStatus, _.Library.Boolean pExecute, pParms, pMDX)
 Programmatically create an instance of a <class>DeepSee.ResultSet</class> from. More...
 
_.Library.String GetSQLColumnName (_.Library.String pClass, _.Library.String pProp)
 Returns the SQL name of property pProp for class pClass.
 
_.Library.String GetSQLTableName (_.Library.String pClass, pVerifyExists)
 Returns the SQL table name for class pClass. More...
 
_.Library.Status GetSharedCalcMemberInfo (_.Library.String pCube, _.Library.String pDimension, _.Library.String pCalcMbrName, pInfo, _.Library.Boolean pUseCubeVersion)
 Return details on the given shared calculated member in the array pInfo.
 
_.Library.Status GetSharedCalcMembers (_.Library.String pCube, pCalcMbrs, _.Library.Boolean pUseCubeVersion)
 Return all shared calculated members for a given cube as an array of form:
More...
 
_.DeepSee.Model.SubjectArea.subjectArea GetSubjectAreaModel (_.Library.String pName, _.Library.Status pStatus)
 Given the logical name, pName of a DeepSee subject,. More...
 
_.Library.String GetTimeLevelCalendar (_.Library.String pClassName)
 Protected lookup of the calendar used for a time function. More...
 
_.Library.Status GetTimeLevelClasses (pClasses)
 Builds a list of available time level classes. More...
 
_.Library.String GetTimeLevelType (_.Library.String pClassName)
 Protected lookup of the type of a time function. More...
 
_.Library.Status GetWorksheetList (pList, _.Library.Boolean pHidden)
 Return a list of all currently defined DeepSee worksheets visible to the current user. More...
 
_.Library.Boolean HasUpdates (pClassName)
 Test the ^OBJ.DSTIME update buffer for new updates in the class pClassName
 
_.Library.Integer HijriDaysInMonth (y, m, calendar)
 Return number of days in the given year and month.
 
_.Library.Boolean IsCubeAbstract (_.Library.String pCubeName, _.Library.Status pStatus)
 Given the logical name, pCubeName of a DeepSee cube,. More...
 
_.Library.Boolean IsCubeAvailable (_.Library.String pCubeName, _.Library.String pReason)
 Test if the given cube is available for querying.
 
_.Library.Boolean IsCubeCompound (_.Library.String pCubeName, _.Library.String pJoinList, _.Library.Status pStatus)
 Given the logical name, pCubeName of a DeepSee cube,. More...
 
_.Library.Boolean IsDataConnector (_.Library.String pClassName, _.Library.Status pStatus)
 Test whether pClassName is a DataConnector. More...
 
_.Library.Boolean IsDeepSeeEnabled (pNamespace)
 Indicates whether the default application for this namespace will process DeepSee Pages.
 
_.Library.Boolean IsFactEnabled (_.Library.String pCubeName, _.Library.String pSpec, _.Library.Status pStatus, _.Library.String pFactName, pInProgress)
 Check to see if a given dimension is currently queryable for a given cube.
 
_.Library.Boolean IsHijriLeapYear (y, calendar)
 Return whether the given year is a leap year.
 
_.Library.Boolean IsKPIPublic (_.Library.String pKPIName)
 Given the logical name, pKPIName of a DeepSee KPI, test if it is public.
 
_.Library.Boolean IsLeapYear (y)
 Return whether the given year is a leap year.
 
_.Library.Boolean IsRelationship (_.Library.String pCubeName, _.Library.String pDimension)
 Given the logical name, pCubeName of a DeepSee cube,. More...
 
_.Library.Boolean IsValidCubeName (_.Library.String pCubeName, pReason)
 Test the raw string to verify it is a valid cube name. More...
 
_.Library.Boolean IsValidFactList (_.Library.String pCube, _.Library.String pFactList, _.Library.Status pStatus, _.Library.String pReason)
 Test a pFactList to make sure it contains only SQL column identifiers that are actually defined in pCube.
 
_.Library.Boolean KPIExists (_.Library.String pKPIName, _.Library.Status pStatus)
 Given the logical name, pCubeName of a DeepSee cube,. More...
 
_.Library.Status KillCube (_.Library.String pCubeName, pForce)
 Delete all indices and cache values for the given cube.
 
_.Library.Status KillKPICacheForCube (_.Library.String pCubeName)
 Delete any KPI cache values for the given cube.
 
_.Library.Status LoadCellCache (_.Library.String pCubeName)
 Compute pre-loaded cell cache entries for the given cube. More...
 
_.Library.Status LockFactList (_.Library.String pCubeName, _.Library.List pFactList, pLocked, pLockTimeout)
 Take out locks for the specific column identifiers in a pFactList under the synchronze lock. More...
 
_.Library.Status LogBuildError (_.Library.String pCubeName, _.Library.Integer pRecordID, _.Library.Status pStatus)
 Log a Status to the ^DeepSee.BuildErrors global.
 
_.Library.Status MarkFactsEnabled (_.Library.String pCubeName, _.Library.String pFactList, pEnabled, pInProgress)
 Mark dimensions as enabled or disabled according to pEnabled. More...
 
_.Library.Status MemberHasChildren (_.Library.String pCube, _.Library.Integer pDimNo, _.Library.Integer pHierNo, _.Library.Integer pLevelNo, _.Library.Boolean pHasChildren)
 Test if a given element within the given cube has child levels.
 
_.Library.List NormalizeFactList (pFactList, _.Library.Status pStatus, pCubeName)
 Take as input a pFactList in either comma-delimited string or $LB format and. More...
 
_.Library.Status ParseKeyForDisplay (_.Library.String pKey, _.Library.String pValue, _.Library.String pKPIClass, _.Library.String pFilterName)
 Parse a filter key value and convert all keys to display values in the context of pKPIClass.
 
_.Library.Status ParseRangeExpression (_.Library.String pRange, pOutput, _.Library.String pContext, _.Library.String pCode)
 Parse the given DeepSee range expression. More...
 
_.Library.Status ParseSQLFieldList (pFieldString, pDomain, pFieldArray, _.Library.Boolean pLocalize)
 Split a single fieldList string into the individual fields. More...
 
_.Library.Status PrecomputeAggregates (_.Library.String pCubeName, _.Library.Boolean pAsync, _.Library.Boolean pVerbose, _.Library.Boolean pTracking)
 Precompute aggregate values for the given cube (if its precompute property is non-zero). More...
 
 PrintBuildErrors (_.Library.String pCube)
 Display the list of errors encountered in the most recent build of the given cube.
 
_.Library.Status ProcessFact (_.Library.String pCubeName, _.Library.String pSourceId, _.Library.Boolean pVerbose, _.Library.Integer pMissingReferences, _.Library.String pFactList)
 For the specified cube, update one fact from the source table (with id of pSourceId). More...
 
_.Library.Status PurgeDSTIME (_.Library.Integer pVerbose, _.Library.String pPurged)
 
_.Library.Status PurgeListings (_.Library.Integer pVerbose, pStartDay)
 Purge all entries in the listing cache older than pStartDay. More...
 
_.Library.Status PurgeUpdateBuffer (_.Library.String pClass, _.Library.String pPurgeUpTo, _.Library.Boolean pIncrement, _.Library.Boolean pVerbose)
 Purge the ^OBJ.DSTIME update buffer when there are no cubes present to clear entries. More...
 
_.Library.Status Reset (_.Library.Boolean pClearCells)
 Stops all DeepSee background agents, clears any pending tasks,. More...
 
_.Library.Status RunServerAuditCode (_.Library.String pDashboardId)
 Run the server audit code. More...
 
_.Library.Status RunServerCloseCode ()
 Run the server close code. More...
 
_.Library.Status RunServerInitCode ()
 Run the server init code. More...
 
_.Library.Status SaveNamedFilter (_.Library.String pCube, _.Library.String pFilterName, _.Library.String pTooltip, _.Library.String pSpec, _.Library.Boolean pUseCubeVersion)
 Save a named filter.
 
_.Library.Status SavePivotVariable (_.Library.String pCube, _.Library.String pVariableName, _.Library.String pInfo, _.Library.Boolean pUseCubeVersion)
 Save a pivot variable. More...
 
_.Library.Status SaveSharedCalcMember (_.Library.String pCube, _.Library.String pCalcMbrName, pDimension, pValueExpression, pFormatString, pSolveOrder, _.Library.Boolean pUseCubeVersion)
 Store the details of a calulated member in the shared location.
 
_.Library.Integer SetAgentCount (_.Library.Integer pNumAgents, pType, _.Library.Status pStatus)
 Set the default number of background processes used by DeepSee for the group specified by pType. More...
 
_.Library.Status SetCubeDSTime (_.Library.String pCubeName, _.Library.Integer pVersion)
 Update the sync timestamp for the given cube.
 
 SetDSTimeIndex (_.Library.String pClassName, _.Library.String pObjectId, _.Library.Integer pAction, _.Library.Integer pInterval)
 Set an entry into the DS Time index used to track changes to transactional classes. More...
 
 Shell ()
 Invoke the DeepSee command line shell.
 
_.Library.Status SynchronizeCube (_.Library.String pCubeName, _.Library.Boolean pVerbose, _.Library.Integer pFactsUpdated, _.Library.Boolean pReadCommitted, _.Library.Boolean pCheckReferences, _.Library.Boolean pAsync, _.Library.String pSynchronizeStatistics)
 For the specified cube, find and apply all changes from the source data that have been made since the. More...
 
_.Library.Status TestTimeClass (_.Library.String pClassName, _.Library.Integer pTest, _.Library.String pFormat)
 This utility method tests a DeepSee time level class to. More...
 
_.Library.Date UnformatDate (_.Library.String pValue, _.Library.String pFormat)
 Unformat a date value according to the given format and convert to $H (or ""). More...
 
_.Library.Date UnformatPartialDate (_.Library.String pValue, _.Library.String pFormat)
 Unformat a date value according to the given format and convert to $H (or ""). More...
 
_.Library.Status UnlockFactList (_.Library.String pCubeName, _.Library.List pFactList)
 Release the update locks for the selected fact list.
 
_.Library.Status UpdateDimensionProperty (_.Library.String pCubeName, _.Library.String pSpec, _.Library.String pValue, _.Library.String pKey)
 Programmatic API for updating the value of a dimension property after a cube has been built. More...
 
 WriteDependencyGraph (_.Library.String pCubeName)
 Write the cube dependency graph for the given cube.
 

Additional Inherited Members

- 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...
 

Detailed Description

This class contains a number of DeepSee utility methods.

Member Function Documentation

◆ AddHijriTimeInterval()

_.Library.Date AddHijriTimeInterval ( _.Library.Date  pDate,
_.Library.String  pInterval,
_.Library.String  pCalendar 
)
staticprivate

Add a time interval to a given date (in $H format).


The interval is of the form "99y99m99d" (years, months, and days). There can be a leading minus sign.

◆ AddTimeInterval()

_.Library.Date AddTimeInterval ( _.Library.Date  pDate,
_.Library.String  pInterval 
)
staticprivate

Add a time interval to a given date (in $H format).


The interval is of the form "99y99m99d" (years, months, and days). There can be a leading minus sign.

◆ Analyze()

_.Library.Status Analyze ( _.Library.String  pCubeName,
_.Library.String  pFlags,
_.Library.Boolean  pVerbose 
)
staticprivate

Loop over all indices for a given cube and show details.


pCubeName is the name of the cube.
pFlags is a set of flags that can control what is analyzed: flags include "i" (include indices), "f" (include facts), "c" (include cell cache). The default is "i".
pVerbose indicates that status information is to be displayed while the analysis is done.

◆ AnalyzeMissing()

_.Library.Status AnalyzeMissing ( _.Library.String  pCube)
staticprivate

Examine the levels and measures for a given cube and report on how many missing values there are.


pCubeName is the name of the cube.

◆ AtScaleExportCube()

_.Library.Status AtScaleExportCube ( _.Library.String  pCubeName,
_.Library.String  pFileName,
_.Library.String  pCalendar 
)
staticprivate

Produce a serialized representation of the cube model suitable for import to an AtScale environment.

The JSON output will be saved in the file pFileName.
If a calendar has been created to support time dimensions in the AtScale environment, that can be passed in via pCalendar using either table or class reference syntax.

◆ BuildCube()

_.Library.Status BuildCube ( _.Library.String  pCubeName,
_.Library.Boolean  pAsync,
_.Library.Boolean  pVerbose,
_.Library.Boolean  pIndexOnly,
_.Library.Integer  pMaxFacts,
_.Library.Boolean  pTracking,
_.Library.String  pBuildStatistics,
_.Library.String  pFactList 
)
staticprivate

Update all facts in the DeepSee cube pCubeName

with data from the source table.
This will delete any information currently in the cube.

pAsync controls whether DeepSee performs the build in multiple background processes. If this argument is true, the system uses multiple processes and does not return until they are all complete. If this argument is false, the system uses a single process and does not return until it is complete.
If you have specified initialBuildOrder, the system will reset the value of pAsync to 0 and use a single process to build the cube. The presence of initialBuildOrder in the cube definition will override this setting and will force pAsync=0. The parameter may be passed by reference to communicate to the caller whether or not this override has taken place.
When a limit is imposed on background agents for a particular namespace using <method>SetAgentCount</method>, only one build may be active at a time in that namespace. This will not have any effect on behavior of builds in other namespaces.
If pVerbose is true, then status information is written to the console.
If pIndexOnly is true, only rebuild the fact table indices.
If pMaxFacts is non-zero, then only build this number of facts.
pTracking is an internal argument used when this method is run in the background and specifies that status information should be stored.
pBuildStatistics returns an array of information about the cube build.
The array has four subscripts. For example, if tStats is the argument used, as in:
do ##class(DeepSee.Utils).BuildCube("PATIENTS",1,,,,,.tStats) the array will look like the following:
tStats("elapsedTime")=10.000643
tStats("errors")=1
tStats("factCount")=5000
tStats("missingReferences")=1

If the pFactList is supplied the build will only update the columns listed in that fact list. The list must consist of the specific fact names and can have either a comma-delimited or $LB format. If this list is supplied, the specific facts being updated will be individually marked as unavailable for queries and queries referencing dimensions based on those facts will throw an error on prepare.

◆ BuildDimensionTableIndices()

_.Library.Status BuildDimensionTableIndices ( _.Library.String  pCubeName,
_.Library.Boolean  pVerbose 
)
staticprivate

Rebuild the indices for every dimension table used for cube pCubeName.

If pCubeName is "*", then perform this on every cube within the current namespace that is visible to the current user.

◆ BuildStatus()

BuildStatus ( _.Library.String  pCubeName)
staticprivate

Command line utility for monitoring cube build progress.

This repeats the same information

available to the Architect's build winow in a terminal.

◆ ComputeAge()

_.Library.Integer ComputeAge ( _.Library.Date  pStart,
_.Library.Date  pEnd,
_.Library.String  pUnits 
)
staticprivate

Compute the "age" (time difference) between pStart and pEnd as a number.

of units specified by pUnits ("years","months","days").

◆ ComputeAggregateCombos()

_.Library.Status ComputeAggregateCombos ( _.Library.String  pCubeName,
  pCombos,
_.Library.Boolean  pVerbose,
_.Library.Boolean  pTracking 
)
staticprivate

Loop over fact table for cube and precompute the aggregates for the specified combinations.

in pCombo.
pCombo(n) = "FactName1,FactName2,MsrName1"

◆ ComputeAggregateGroup()

_.Library.Status ComputeAggregateGroup ( _.Library.String  pCubeName,
_.Library.String  pGroupName,
_.Library.Boolean  pVerbose 
)
staticprivate

Precompute the aggregates witin the given cube and the given group name within the cube's.

CellCache specification.
Set pGroupName to "*" for all groups.

◆ ComputeCellCache()

_.Library.Status ComputeCellCache ( _.Library.String  pCubeName,
  pSpec 
)
staticprivate

Generate and execute a query that will force the update of the.

cell cache for given cube and levels.

◆ ConvertDate()

_.Library.Date ConvertDate ( _.Library.String  pDate,
_.Library.String  pDateType 
)
staticprivate

Utility method.

Convert a date value to Date ($H) format.

pDateType indicates the incoming date format.

◆ CreateParameterNonce()

_.Library.String CreateParameterNonce ( _.Library.String  pParm)
staticprivate

Sometimes we need to pass parameters to another process via a URL.

I.E. has trouble with large URL parameters, so the best approach is to store the parameter text in a global and pass a one-time token (or nonce) as part of the URL. Assumes that the parm unencrypted. Returns "ERROR:"_details if there is an error.

◆ CreateQueryNonce()

_.Library.String CreateQueryNonce ( _.Library.String  pText,
_.Library.String  pMode 
)
staticprivate

Sometimes we need to pass a query (or XML) to another process via a URL.

I.E. has trouble with large URL parameters, so the best approach is to store the query text in a global and pass a one-time token (or nonce) as part of the URL. Assumes that the query is encrypted. Returns "ERROR:"_details if there is an error.

◆ CubeExists()

_.Library.Boolean CubeExists ( _.Library.String  pCubeName,
_.Library.Status  pStatus 
)
staticprivate

Given the logical name, pCubeName of a DeepSee cube,.

test if it exists.

◆ DayOfWeekToNumber()

DayOfWeekToNumber (   pDayName,
_.Library.Boolean  pFullName,
_.Library.String  pLocale 
)
staticprivate

Method to convert day of week name to a number from 1 to 7

pDayName: full day name (e.g. Monday) or day short name (e.g. Mon)
pFullName: If true pDayName is the full day name: if false, pDayName is the short day name
pLocale: if not specified, default to current locale.

◆ DeleteFact()

_.Library.Status DeleteFact ( _.Library.String  pCubeName,
_.Library.String  pSourceId,
_.Library.Boolean  pVerbose 
)
staticprivate

For the specified cube, delete one fact from the source table (with id of pSourceId).

If pVerbose is true, then status information is written to the console.
This method logs current time as the cube's last data update but does not advance the cube's DSTIME timestamp.

◆ DeleteNamedFilter()

_.Library.Status DeleteNamedFilter ( _.Library.String  pCube,
_.Library.String  pFilterName,
_.Library.Boolean  pUseCubeVersion 
)
staticprivate

Delete the given named filter for the given cube.

If pFilterName is "*", then delete all named filters for the cube.

◆ DeletePivotVariable()

_.Library.Status DeletePivotVariable ( _.Library.String  pCube,
_.Library.String  pVariableName,
_.Library.Boolean  pUseCubeVersion 
)
staticprivate

Delete the given pivot variable for the given cube.

If pVariableName is "*", then delete all pivot variables for the cube.

◆ DeleteSharedCalcMember()

_.Library.Status DeleteSharedCalcMember ( _.Library.String  pCube,
_.Library.String  pCalcMbrName,
_.Library.String  pDimension,
_.Library.Boolean  pUseCubeVersion 
)
staticprivate

Delete the given shared calculated member for the given cube.

If pCalcMbrName is "*", then delete all shared calculated members for the cube.

◆ ExcelFormatDate()

_.Library.String ExcelFormatDate ( _.Library.String  pDate,
_.Library.String  pCalendar 
)
staticprivate

Given a date in $H format and a calendar, return the number of days since Jan 0 1900.

This is excel's version of $H and is needed to export dates as dates to excel

◆ ExecutePivot()

_.Library.Status ExecutePivot (   pPivotFullName,
  pParms,
  pResultSet 
)
staticprivate

Programmatically execute a stored pivot table.

The pPivotTableName is the full

Folder/SubFolder/Name of the pivot table. Execute parameters may optionally be passed in through the pParms array. If desired, the resultset constructed in the execution procedure can be returned using pResultSet.

◆ ExportCSVToFile()

_.Library.Status ExportCSVToFile ( _.Library.String  pFile,
_.Library.String  pParms,
  pOutFile 
)
staticprivate

Export a DeepSee query or KPI to the file pFile in CSV format.


pParms controls the content and display of the export.
pParms("TITLE") = title
pParms("SUBTITLE") = subtitle
pParms("SHOWDATE") = "on" (includes current date and time in the export) pParms("SIMPLE") = 1 (exports only the data table without any filter or title information)

Data export should rely on either a base MDX query or an available KPI.
pParms("MDX") = MDX Statement to execute
pParms("KPI") = KPI class name
Exports operating in MDX mode expect filter clauses to be included in the query. When filters are being applied to the KPI class, they may be provided in the array:
pParms("FILTER",filterName) = filterValue
Filters can optionally be included as a printed table in the export, provided by the FILTERNAMES and FILTERVALUES parameters:
pParms("FILTERNAMES") = A $C(10)-delimited list of filter names to display
pParms("FILTERVALUES") = A $C(10)-delimited list of filter values to display

Defined listings can be applied to a resultset using:
pParms("LISTINGNAME") = Name of a listing to execute.
A KPI must support use of a named listing or else this will be ignored. An MDX query must be in DRILLTHROUGH mode and the cube must have that listing defined for the listing to be applied.

◆ ExportExcelToFile()

_.Library.Status ExportExcelToFile ( _.Library.String  pFile,
_.Library.String  pParms 
)
staticprivate

Export a DeepSee query or KPI to the file pFile in CSV format.


pParms controls the content and display of the export.
pParms("TITLE") = title
pParms("SUBTITLE") = subtitle
pParms("SHOWDATE") = "on" (includes current date and time in the export)
Data export should rely on either a base MDX query or an available KPI.
pParms("MDX") = MDX Statement to execute
pParms("KPI") = KPI class name
Exports operating in MDX mode expect filter clauses to be included in the query. When filters are being applied to the KPI class, they may be provided in the array:
pParms("FILTER",filterName) = filterValue
Filters can optionally be included as a printed table in the export, provided by the FILTERNAMES and FILTERVALUES parameters:
pParms("FILTERNAMES") = A $C(10)-delimited list of filter names to display
pParms("FILTERVALUES") = A $C(10)-delimited list of filter values to display

Defined listings can be applied to a resultset using:
pParms("LISTINGNAME") = Name of a listing to execute.
A KPI must support use of a named listing or else this will be ignored. An MDX query must be in DRILLTHROUGH mode and the cube must have that listing defined for the listing to be applied.

◆ ExportPDFToFile()

_.Library.Status ExportPDFToFile ( _.Library.String  pFile,
_.Library.String  pParms 
)
staticprivate

Export a DeepSee query or KPI to the file pFile in CSV format.


pParms controls the content and display of the export.
pParms("TITLE") = title
pParms("SUBTITLE") = subtitle
pParms("SHOWDATE") = "on" (includes current date and time in the export)
Data export should rely on either a base MDX query or an available KPI.
pParms("MDX") = MDX Statement to execute
pParms("KPI") = KPI class name
Exports operating in MDX mode expect filter clauses to be included in the query. When filters are being applied to the KPI class, they may be provided in the array:
pParms("FILTER",filterName) = filterValue
Filters can optionally be included as a printed table in the export, provided by the FILTERNAMES and FILTERVALUES parameters:
pParms("FILTERNAMES") = A $C(10)-delimited list of filter names to display
pParms("FILTERVALUES") = A $C(10)-delimited list of filter values to display

Defined listings can be applied to a resultset using:
pParms("LISTINGNAME") = Name of a listing to execute.
A KPI must support use of a named listing or else this will be ignored. An MDX query must be in DRILLTHROUGH mode and the cube must have that listing defined for the listing to be applied.

◆ FilterSpecToArray()

_.Library.Status FilterSpecToArray ( _.Library.String  pCube,
_.Library.String  pSpec,
  pFilterArray 
)
staticprivate

Convert a string pSpec into array form and add it to the array pFilterArray.

The

value for pSpec may be any valid MDX WHERE clause referencing non-calculated members. If a member being inserted into the array already exists, the selection data will be replaced by the intersection of the preexisting member or set and the new member or set provided by the argument.

◆ FindCubeMembers()

_.Library.Status FindCubeMembers ( _.Library.String  pCube,
_.Library.String  pSearchKey,
  pMembers,
_.Library.String  pDimList,
_.Library.Boolean  pIncludeLevelNames,
_.Library.Boolean  pIncludeMeasures,
_.Library.Boolean  pIncludeComputed,
_.Library.Integer  pMaxResults 
)
staticprivate

Utility method to retrieve pMaxResults cube members based on a simple search key. By default, this

method will return normal cube members only, but a range of flags serve to indicate which type of results to return on top, as long as they match the search key (level names, measure names or computed members).
Members are returned as

pMembers(n) = $lb(Caption, Spec, ["measure"|"level"|"member"])

</p

Use pDimList to limit the search scope to those dimensions, hierarchies or levels listed in this comma-separated list of specs.

This method does not return "all" levels, nor will it check cube relationships.

◆ FixBuildErrors()

_.Library.Status FixBuildErrors ( _.Library.String  pCube,
_.Library.Boolean  pVerbose 
)
staticprivate

For the given cube, iterate over all facts in the build error log and attempt to.

reprocess each fact. If the processing succeeds, remove the item from the error log.

◆ FormatDate()

_.Library.String FormatDate ( _.Library.Date  pDate,
_.Library.String  pFormat 
)
staticprivate

Format a date value (in $H format) according to the format in pFormat.


The format string can contain:
"y" - Year number (4 digits).
"q" - Quarter number.
"m" - Month number, with no leading zero.
"mm" - Month number, with leading zero.
"mmm" - Short name of month (using server locale).
"mmmm" - Long name of month (using server locale).
"d" - Day number, with no leading zero.
"dd" - Day number, with leading zero.
"ddd" - Short name of day (using server locale).
"dddd" - Long name of day (using server locale).
"\x" - display character "x"
" " - space
"/" - "/"
"-" - "-"
"." - "."

◆ FormatPartialDate()

_.Library.String FormatPartialDate ( _.Library.String  pDate,
_.Library.String  pFormat 
)
staticprivate

Format a date value (in partial date ODBC format) according to the format in pFormat.


The format string can contain:
"y" - Year number (4 digits).
"q" - Quarter number.
"m" - Month number, with no leading zero.
"mm" - Month number, with leading zero.
"mmm" - Short name of month (using server locale).
"mmmm" - Long name of month (using server locale).
"d" - Day number, with no leading zero.
"dd" - Day number, with leading zero.
"ddd" - Short name of day (using server locale).
"dddd" - Long name of day (using server locale).
"\x" - display character "x"
" " - space
"/" - "/"
"-" - "-"
"." - "."
Missing pieces are replaced with the localized text "Unknown".

◆ GetAgentCount()

_.Library.Integer GetAgentCount (   pType,
_.Library.Status  pStatus 
)
staticprivate

Get the current default agent count for the group specified by pType.

pType can be used to query any of the limits:

  • "build" - number of agents that will be requested for a single worker group performing cube build tasks
  • "runTime" - number of agents that will be requested for queries and processing of user code such as KPIs
  • "buildMax" - the maximum number of agents that can be active for build tasks
  • "runTimeMax" - the maximum number of agents that can be active for user tasks

◆ GetBaseCube()

_.Library.String GetBaseCube ( _.Library.String  pCubeName)
staticprivate

Given the logical name, pCubeName of a DeepSee subject area known to exist,.

return its base cube.

◆ GetCountCaption()

_.Library.String GetCountCaption ( _.Library.String  pCubeName,
_.Library.Status  pStatus 
)
staticprivate

Given the logical name, pCubeName of a DeepSee cube,.

return the display name of its COUNT measure.

◆ GetCountName()

_.Library.String GetCountName ( _.Library.String  pCubeName,
_.Library.Status  pStatus 
)
staticprivate

Given the logical name, pCubeName of a DeepSee cube,.

return the logical name of its COUNT measure.

◆ GetCubeActionClass()

_.Library.String GetCubeActionClass ( _.Library.String  pCubeName,
_.Library.Status  pStatus 
)
staticprivate

Given the logical name, pCubeName of a DeepSee cube,.

return the class name of it associated actionClass, if any.

◆ GetCubeClass()

_.Library.String GetCubeClass ( _.Library.String  pCubeName,
_.Library.Status  pStatus 
)
staticprivate

Given the logical name, pCubeName of a DeepSee cube,.

return the class name of the cube definition.

◆ GetCubeFactClass()

_.Library.String GetCubeFactClass ( _.Library.String  pCubeName,
_.Library.Status  pStatus 
)
staticprivate

Given the logical name, pCubeName of a DeepSee cube,.

return the class name of its fact table.

◆ GetCubeFactCount()

_.Library.Integer GetCubeFactCount ( _.Library.String  pCubeName,
_.Library.Status  pStatus 
)
staticprivate

Given the logical name, pCubeName of a DeepSee cube,.

return the number of rows within its fact table.

◆ GetCubeFactTable()

_.Library.String GetCubeFactTable ( _.Library.String  pCubeName,
_.Library.Status  pStatus 
)
staticprivate

Given the logical name, pCubeName of a DeepSee cube,.

return the SQL name of its fact table.

◆ GetCubeLevels()

_.Library.Status GetCubeLevels ( _.Library.String  pCube,
  pLevels,
_.Library.Boolean  pSkipAll,
_.Library.Boolean  pSkipComputed 
)
staticprivate

Return a list of all levels within the given cube.


On return pLevels contains a list of all levels of the form:
pLevels(n) = $LB(type,dimName,hierName,levelName)
Type is "l" for level, "m" for measure (in which case there is no levelName) or "r" for relationship (in which case there is only a dimension name).
If pSkipAll is true, do not return any "all" levels.
If pSkipComputed is true, do not return any levels for computed dimensions.

◆ GetCubeList()

_.Library.Status GetCubeList (   pList,
_.Library.String  pType,
_.Library.Boolean  pNonAbstract,
_.Library.String  pBaseCube 
)
staticprivate

Return an array of all currently defined DeepSee Cubes visible to the current user.

This is used by utilities.
This array takes the form:
pList(NAME) = $LB(name,caption,moddate,type)
pType, if defined, can be "cubes" or "subjectAreas". This will limit the returned list to those item types.
pNonAbstract, if true, limits the returned items to non-abstract cubes.
pBaseCube, if provided, limits the returned items to the base cube and its descendants.
If there are no cubes, then pList will be undefined.

◆ GetCubeListingFields()

_.Library.Status GetCubeListingFields ( _.Library.String  pCube,
_.Library.List  pFields 
)
staticprivate

Return an array of all defined listing fields for the given cube.

The array is of the form:
pListings(name) = $LB(caption,expression)
If there are no listing fields, then pFields will be undefined.

◆ GetCubeListings()

_.Library.Status GetCubeListings ( _.Library.String  pCube,
_.Library.List  pListings,
_.Library.String  pType 
)
staticprivate

Return an array of all (non-default) listings for the given cube.

The array is of the form:
pListings(name) = $LB(caption,fields,order,type,source,edit)
If there are no listings, then pListings will be undefined.
If pType is defined, then only return listings of the given type.

◆ GetCubeMeasures()

_.Library.Status GetCubeMeasures ( _.Library.String  pCube,
  pMeasures,
_.Library.Boolean  pSkipCalculated 
)
staticprivate

Return the measures within the given cube as an array of form:

pMeasures(n) = $LB(name,caption,type,hidden,factName)
If pSkipCalculated is true, then do not include calculated measures.

◆ GetCubeMemberCount()

_.Library.Integer GetCubeMemberCount ( _.Library.String  pCubeName,
_.Library.Status  pStatus,
_.Library.String  pDimName,
_.Library.String  pHierName,
_.Library.String  pLevelName 
)
staticprivate

Given the logical name, pCubeName of a DeepSee cube,.

return the number of members within the given dimension level.

◆ GetCubeModifiedDate()

_.DeepSee.Datatype.dateTime GetCubeModifiedDate ( _.Library.String  pCubeName,
_.Library.Status  pStatus 
)
staticprivate

Given the logical name, pCubeName of a DeepSee cube,.

return the date and time that the cube definition was last modifed.

◆ GetCubeName()

_.Library.String GetCubeName ( _.Library.String  pCubeName,
_.Library.Status  pStatus 
)
staticprivate

Given the logical name, pCubeName of a DeepSee cube,.

return its name in its original case.

◆ GetCubeSearchableMeasures()

_.Library.Status GetCubeSearchableMeasures ( _.Library.String  pCube,
  pMeasures 
)
staticprivate

Return the searchable measures within the given cube as an array of form:

pMeasures(n) = $LB(name,caption,type)

◆ GetDashboardList()

_.Library.Status GetDashboardList (   pList)
staticprivate

Return a list of all currently defined DeepSee dashboards visible to the current user.

This is used by utilities.
This list takes the form:
pList(NAME) = $LB(name,caption,moddate,type)

◆ GetDataSourceTree()

_.Library.Status GetDataSourceTree ( _.Library.String  pClass,
  pTree,
  pParms,
_.Library.Integer  pLevel,
_.Library.String  pParentRef,
_.Library.String  pRoot 
)
staticprivate

Return the properties of a cube data source in a format that can be consumed.

by a Zen dynaTree control.
pRoot is used to specify that an incremental load of children is requested; if provided it is the spec of a parent node.

◆ GetDefaultHierarchy()

_.Library.String GetDefaultHierarchy ( _.Library.String  pCubeName,
_.Library.String  pDimName 
)
staticprivate

Given the logical name, pCubeName of a DeepSee cube,.

and a dimension name, return the name of the default Hierarchy (this is only defined if there is no more than one hierarchy for this dimension).

◆ GetDefaultLevel()

_.Library.String GetDefaultLevel ( _.Library.String  pCubeName,
_.Library.String  pDimName,
_.Library.String  pHierName 
)
staticprivate

Given the logical name, pCubeName of a DeepSee cube,.

and a dimension and hierarchy name, return the name of the default Level (this is only defined if there is no more than one level for this hierarchy).

◆ GetDefaultMeasure()

_.Library.String GetDefaultMeasure ( _.Library.String  pCubeName)
staticprivate

Given the logical name, pCubeName of a DeepSee cube,.

return the name of the default Measure. Note: this is no longer used by DeepSee.

◆ GetDefaultMember()

_.Library.String GetDefaultMember ( _.Library.String  pCubeName)
staticprivate

Given the logical name, pCubeName of a DeepSee cube,.

return the default cube element (dimension and possibly level) as a string ("[Product].[Name]").
Note: this is no longer used by DeepSee.

◆ GetDependencyGraph()

_.Library.Status GetDependencyGraph (   pGraph,
_.Library.String  pCubeName,
_.Library.String  pDirection,
_.Library.Integer  pLevel 
)
staticprivate

Get the cube dependency graph for the given cube:

pGraph(cube, dependentCube) = ""

◆ GetDimensionInfo()

_.Library.Status GetDimensionInfo ( _.Library.String  pCubeName,
_.Library.String  pSpec,
  pDimNo,
  pHierNo,
  pLevelNo,
_.Library.String  pRelationName,
_.Library.String  pRelationSpec,
_.Library.String  pSpecInfo,
  pLocalCalcMembers,
_.Library.Boolean  pStrict,
  pLocalNamedSets 
)
staticprivate

Return the dimension,hierarchy, and level number of the specified element.

within the specified cube.
pCubeName is the name of the cube.
pSpec specifies the dimension in the form: "Dim.Hier.Level" or "Dim.Hier.Level.member".
If pStrict is false, then find a level: Hier or Level can be omitted if they are not ambiguous.
pSpecInfo is the array produced by parsing pSpec. This is returned as a convenience.
pLocalCalcMembers is an optional list of locally defined calculated members. pLocalNamedSets is an optional list of locally defined named sets.

◆ GetDimensionList()

_.Library.Status GetDimensionList ( _.Library.String  pCube,
  pInfo,
_.Library.Boolean  pIncludeCalcMbrs,
_.Library.Boolean  pUseInFilter,
  pExtendedInfo 
)
staticprivate

Return a list of the dimensions (and measures) within the specified cube.


On return, pInfo will contain array of the form:
pInfo(DimNo,HierNo,LevelNo) = $LB(type,DimName,HierName,LevelName)
type can be "d","h","l","m","r" or "all" for dimension, hierarchy, level, measure, relationship or all level.
Note that all measures are found under DimNo 0 and have no LevelName. Dimensions whose name starts with "%" are not listed.
Dimensions that only contain calculated members are returned as:
pInfo(-1,hierNo,memberNo)
If pUseInFilter is true, then only return levels whose useInFilter flag is true.
If pExtendedInfo is true, also return $LB(factNumber, factID, SQL column ID, isEnabled, inProgress) settings.

◆ GetDimensionMembers()

_.Library.Status GetDimensionMembers ( _.Library.String  pCubeName,
_.Library.String  pSpec,
_.Library.String  pContext,
  pMembers,
_.Library.Integer  pMaxMembers,
_.Library.String  pMemberClass,
  pRelatedFilters,
_.Library.Integer  pCalcMode,
_.Library.String  pSearchKey 
)
staticprivate

Return a list of members of the specified dimension.

for the specified cube.
pCubeName is the name of the cube.
pSpec specifies the dimension in the form: "Dim.Hier.Level".
pContext is used to indicate a particular calling context. This affects the behavior when trimming the list of members using related filters.
The list is returned via pMembers. This takes the form:
pMembers(n) = $LB(value,name,memberId,memberKey,[description])
Return the member class as a convenience.
If pRelatedFilters is provided, it is an array of other filter values to use to restrict the set of members. It takes the form:
pRelatedFilters(spec) = key
If pCalcMode is 1, then only return calculated members. If pCalcMode is -1, then only return non-calculated members.

◆ GetDimensionProperties()

_.Library.Status GetDimensionProperties ( _.Library.String  pCube,
_.Library.String  pDimName,
_.Library.String  pHierName,
_.Library.String  pLevelName,
  pProperties 
)
staticprivate

Return the properties of a given level within the given cube as an array of form:

pProperties(n) = $LB(name,caption,type)

◆ GetDimensionSpec()

_.Library.Status GetDimensionSpec ( _.Library.String  pCubeName,
_.Library.String  pSpec,
_.Library.Integer  pDimNo,
_.Library.Integer  pHierNo,
_.Library.Integer  pLevelNo 
)
staticprivate

Given the dimension,hierarchy, and level number for a dimension.

within the specified cube, return it's specification string.

◆ GetDimensionTables()

_.Library.Status GetDimensionTables ( _.Library.String  pCubeName,
  pStarTables,
_.Library.Boolean  pCardinality 
)
staticprivate

Return an array of the dimension tables (class names) used for a given cube.

If pCardinality is true, compute the size of each table.

◆ GetFunctionList()

_.Library.Status GetFunctionList (   pList,
_.Library.Boolean  pAsTree 
)
staticprivate

Return a list of all currently defined MDX functions.

This is used by utilities.
If pAsTree is true, return a format that a tree control can consume.

◆ GetFunctionSet()

_.Library.Status GetFunctionSet (   funcset,
_.Library.String  pClass 
)
staticprivate

Builds a list of functions (methods) for a given FunctionSet class.

This list is returned in funcset.
The list is of the form list(NAME) = $LB(class,name,specparsed,return).
This method is not currently used. [Previously private]

◆ GetKPIClass()

_.Library.String GetKPIClass ( _.Library.String  pKPIName,
_.Library.Status  pStatus 
)
staticprivate

Given the logical name, pKPIName of a DeepSee KPI,.

return the class name of the KPI definition.

◆ GetKPIList()

_.Library.Status GetKPIList (   pList)
staticprivate

Return a list of all currently defined DeepSee KPIs visible to the current user.

This is used by utilities.
This list takes the form:
pList(NAME) = $LB(name,caption,moddate,type)

◆ GetKPIModifiedDate()

_.DeepSee.Datatype.dateTime GetKPIModifiedDate ( _.Library.String  pKPI,
_.Library.Status  pStatus 
)
staticprivate

Given the logical name, pKPI of a DeepSee KPI,.

return the date of the time the KPI definition was modified (in $H format).

◆ GetKPIName()

_.Library.String GetKPIName ( _.Library.String  pKPIName,
_.Library.Status  pStatus 
)
staticprivate

Given the logical name, pKPIName of a DeepSee KPI,.

return its name in its original case.

◆ GetKPIPlugInList()

_.Library.Status GetKPIPlugInList (   pList,
_.Library.String  pBaseName,
_.Library.String  pPlugInType,
_.Library.Boolean  pUseCubeVersion 
)
staticprivate

Return a list of all currently defined DeepSee "Plug-in" KPIs visible to the current user.

If pBaseName is provided, then only list plug-ins visible to this base cube.
This is used by utilities.
This list takes the form:
pList(NAME) = $LB(name,caption,moddate,type)
pList(NAME,"props",propName) = ""

◆ GetLevelNameForKey()

_.Library.Status GetLevelNameForKey ( _.Library.String  pCubeName,
_.Library.String  pSpec,
_.Library.String  pKey,
_.Library.String  pValue 
)
staticprivate

Give a cube, a level within the cube, and the key value of a member of the level,.

return the name of the level member.
pCubeName is the name of the cube.
pSpec specifies the dimension in the form: "Dim.Hier.Level".
pKey is a key value. This may include the &[] around the key value.
pValue is the returned display value.

◆ GetMDXFromPivot()

_.Library.String GetMDXFromPivot (   pPivotFullName,
_.Library.Status  pStatus,
_.Library.Boolean  pExecute,
  pParms,
_.DeepSee.ResultSet  pResultSet 
)
staticprivate

Method for programmatically creating a pivot table

The GetMDXforPivot method returns the MDX query for saved pivot.

Arguments:
pPivotFullName The name of the pivot including folder name
Format: folder/pivot name
Example: My Folder/My Pivot

pExecute Boolean value (optional):
0 - Do not execute the MDX query (Default)
1 - Execute the MDX query

pResultSet Output argument (optional):
Instance of DeepSee.ResultSet for the MDX query:
This can be used to access the query results, meta data, statistics, etc.
To get the text of the MDX query, use only the pPivotFullName argument
To get the text of the MDX query and run the query, use pPivotFullName and pExecute
To get the text of the MDX query, run the query, and get the ResultSet, use pPivotFullName, pExecute and pResultSet

◆ GetMeasureFact()

_.Library.Status GetMeasureFact ( _.Library.String  pCube,
_.Library.String  pMeasureName,
_.Library.String  pMeasureFact 
)
staticprivate

Given a cube and a measure name, i.e.

"Patient Count", return the fact table column name for that measured.

◆ GetMemberCaption()

_.Library.Status GetMemberCaption ( _.Library.String  pCube,
_.Library.String  pDimName,
_.Library.String  pHierName,
_.Library.String  pLevelName,
_.Library.String  pCaption 
)
staticprivate

Return the localized display name for a given element within the given cube given a dimension,.

hierarchy, and level name.

◆ GetMemberDescription()

_.Library.Status GetMemberDescription ( _.Library.String  pCube,
_.Library.String  pDimName,
_.Library.String  pHierName,
_.Library.String  pLevelName,
_.Library.String  pDescription 
)
staticprivate

Return the localized description for a given element within the given cube given a dimension,.

hierarchy, and level name.

◆ GetMemberTree()

_.Library.Status GetMemberTree ( _.Library.String  pCube,
  pTree,
_.Library.String  pVisited,
_.Library.Boolean  pSkipMeasures,
_.Library.String  pRoot,
_.Library.List  pLocalCalcMembers,
_.Library.List  pLocalNamedSets,
_.Library.String  pRelatedBy,
_.Library.Integer  pLevel,
_.Library.Boolean  pSkeleton 
)
staticprivate

Get the members (dimensions, measures, and actual members of dimensions) of the specified cube as a tree format that can.

be displayed within a <class>ZEN.Component.dynaTree</class>.
pCube is the cube name.
pTree is an array returned by reference that contains the member data.
pSkipMeasures is used internally and indicates that measures (as well as named filters) should not be listed.
pRoot is used to specify that an incremental load of children is requested; if provided it is the spec of a parent node.
pLocalCalcMembers is used to pass in additional calculated members.
pLocalNamedSets is used to pass in additional named sets.
pVisited and pRelatedBy are not used.
pSkeleton indicates that members and relationships are not displayed.

◆ GetMetricList()

_.Library.Status GetMetricList (   pList)
staticprivate

Return a list of all currently defined Business Metrics visible to the current user.

This is used by utilities.
This list takes the form:
pList(NAME) = $LB(name,caption,moddate,type)

◆ GetModel()

_.DeepSee.Model.cube GetModel ( _.Library.String  pCubeName,
_.Library.Status  pStatus 
)
staticprivate

Given the logical name, pCubeName of a DeepSee cube,.

return an instance of the <class>DeepSee.Model.cube</class> meta-data object that describes the cube.
Return "" if the given cube does not exist.
This method does not work on SubjectAreas; use GetSubjectAreaModel.

◆ GetNamedFilters()

_.Library.Status GetNamedFilters ( _.Library.String  pCube,
  pFilters,
_.Library.Boolean  pUseCubeVersion 
)
staticprivate

Return all named filters for a given cube as an array of form:

pFilters(n) = $LB(name,tooltip,spec,cube)

◆ GetPivotList()

_.Library.Status GetPivotList (   pList,
_.Library.Boolean  pHidden,
_.Library.String  pCubeName 
)
staticprivate

Return a list of all currently defined DeepSee Pivots visible to the current user.

This is used by utilities.
This list takes the form:
pList(NAME) = $LB(name,caption,moddate,type)
If pHidden is true, then include trash and local items.
If pCubeName is provided, then only list pivots based on it.

◆ GetPivotVariableValues()

_.Library.Status GetPivotVariableValues ( _.Library.String  pCube,
_.Library.String  pVariableName,
  pValues,
_.Library.Boolean  pUseCubeVersion 
)
staticprivate

Find all values for a given pivot variable.


Return pValues(n) = $LB(text,spec)

◆ GetPivotVariables()

_.Library.Status GetPivotVariables ( _.Library.String  pCube,
  pVariables,
_.Library.Boolean  pUseCubeVersion 
)
staticprivate

Return all pivot variables for a given cube as an array of form:

pVariables(n) = $LB(name,caption,defValue,context,desc)

◆ GetRelatedCube()

_.Library.String GetRelatedCube ( _.Library.String  pCubeName,
_.Library.String  pRelationName 
)
staticprivate

Given the logical name, pCubeName of a DeepSee cube,.

and the name of a relationship in the cube, return the name of the cube referred to by the relationship.

◆ GetResultSetFromPivot()

_.DeepSee.ResultSet GetResultSetFromPivot (   pPivotFullName,
_.Library.Status  pStatus,
_.Library.Boolean  pExecute,
  pParms,
  pMDX 
)
staticprivate

Programmatically create an instance of a <class>DeepSee.ResultSet</class> from.

a stored pivot table. The pPivotTableName is the full Folder/SubFolder/Name of the pivot table. By default, the query is only prepared and returned ready for execution. The query can be asynchronously executed as part of the retrieval process by setting pExecute=1. Execute parameters may optionally be passed in through the pParms array.

◆ GetSQLTableName()

_.Library.String GetSQLTableName ( _.Library.String  pClass,
  pVerifyExists 
)
staticprivate

Returns the SQL table name for class pClass.

Returns the empty string if the supplied pClass

does not have an associated table.

◆ GetSharedCalcMembers()

_.Library.Status GetSharedCalcMembers ( _.Library.String  pCube,
  pCalcMbrs,
_.Library.Boolean  pUseCubeVersion 
)
staticprivate

Return all shared calculated members for a given cube as an array of form:

pCalcMbrs(n) = $LB(name,tooltip,dimension,cube)

◆ GetSubjectAreaModel()

_.DeepSee.Model.SubjectArea.subjectArea GetSubjectAreaModel ( _.Library.String  pName,
_.Library.Status  pStatus 
)
staticprivate

Given the logical name, pName of a DeepSee subject,.

return an instance of the <class>DeepSee.Model.SubjectArea.subjectArea</class> meta-data object that describes the cube.
Return "" if the given cube does not exist.
This method does not work on base cubes; use GetModel.

◆ GetTimeLevelCalendar()

_.Library.String GetTimeLevelCalendar ( _.Library.String  pClassName)
staticprivate

Protected lookup of the calendar used for a time function.

If the argument pClassName

is not a valid time class (extends <class>DeepSee.Time.AbstractLevel</class>), then the method returns an empty string.

◆ GetTimeLevelClasses()

_.Library.Status GetTimeLevelClasses (   pClasses)
staticprivate

Builds a list of available time level classes.

The list is of the form pClasses(calendar,NAME) = class. [Previously private]

◆ GetTimeLevelType()

_.Library.String GetTimeLevelType ( _.Library.String  pClassName)
staticprivate

Protected lookup of the type of a time function.

If the argument pClassName

is not a valid time class (extends <class>DeepSee.Time.AbstractLevel</class>), then the method returns an empty string.

◆ GetWorksheetList()

_.Library.Status GetWorksheetList (   pList,
_.Library.Boolean  pHidden 
)
staticprivate

Return a list of all currently defined DeepSee worksheets visible to the current user.

This is used by utilities.
This list takes the form:
pList(NAME) = $LB(name,caption,moddate,type)
If pHidden is true, then include trash and local items.

◆ IsCubeAbstract()

_.Library.Boolean IsCubeAbstract ( _.Library.String  pCubeName,
_.Library.Status  pStatus 
)
staticprivate

Given the logical name, pCubeName of a DeepSee cube,.

test if it is abstract.
An abstract cube does not contain any data and cannot be queried.

◆ IsCubeCompound()

_.Library.Boolean IsCubeCompound ( _.Library.String  pCubeName,
_.Library.String  pJoinList,
_.Library.Status  pStatus 
)
staticprivate

Given the logical name, pCubeName of a DeepSee cube,.

test if it is a compound cube (composed of two or more cubes joined together).

◆ IsDataConnector()

_.Library.Boolean IsDataConnector ( _.Library.String  pClassName,
_.Library.Status  pStatus 
)
staticprivate

Test whether pClassName is a DataConnector.

This uses a direct global lookup so users do not need to rely

on access to Dictionary tables

◆ IsRelationship()

_.Library.Boolean IsRelationship ( _.Library.String  pCubeName,
_.Library.String  pDimension 
)
staticprivate

Given the logical name, pCubeName of a DeepSee cube,.

and the name of a dimension, test if the dimension is a relationship.

◆ IsValidCubeName()

_.Library.Boolean IsValidCubeName ( _.Library.String  pCubeName,
  pReason 
)
staticprivate

Test the raw string to verify it is a valid cube name.

A valid cube name must begin with an

alpha-numeric character or an underscore. Remaining characters in the cube name must be alpha-numeric, space, underscore, period, slash, and colons.

◆ KPIExists()

_.Library.Boolean KPIExists ( _.Library.String  pKPIName,
_.Library.Status  pStatus 
)
staticprivate

Given the logical name, pCubeName of a DeepSee cube,.

test if it exists.

◆ LoadCellCache()

_.Library.Status LoadCellCache ( _.Library.String  pCubeName)
staticprivate

Compute pre-loaded cell cache entries for the given cube.

based on the cell cache specification within the cube's definition.

◆ LockFactList()

_.Library.Status LockFactList ( _.Library.String  pCubeName,
_.Library.List  pFactList,
  pLocked,
  pLockTimeout 
)
staticprivate

Take out locks for the specific column identifiers in a pFactList under the synchronze lock.

This

will prevent a general build or a synchronize but will not prevent selected updates of other columns in the fact table.

◆ MarkFactsEnabled()

_.Library.Status MarkFactsEnabled ( _.Library.String  pCubeName,
_.Library.String  pFactList,
  pEnabled,
  pInProgress 
)
staticprivate

Mark dimensions as enabled or disabled according to pEnabled.

If the fact list is not supplied, mark all as enabled. Otherwise,

mark only the dimensions supplied in the fact list.
This method can also optionally mark that a dimension is in the process of updating using the pInProgress paraeter.

◆ NormalizeFactList()

_.Library.List NormalizeFactList (   pFactList,
_.Library.Status  pStatus,
  pCubeName 
)
staticprivate

Take as input a pFactList in either comma-delimited string or $LB format and.

return a fact list in $LB format with any empty entries removed. If pCubeName is supplied, any supporting fields that are required to produce a successful Selective Build given the cube definition are added to the original list.

◆ ParseRangeExpression()

_.Library.Status ParseRangeExpression ( _.Library.String  pRange,
  pOutput,
_.Library.String  pContext,
_.Library.String  pCode 
)
staticprivate

Parse the given DeepSee range expression.


A range expression takes the form:
spec:replace;spec:replace;
spec takes the form:
value | (value,value) | [value,value]
() specifies a non-inclusive edge of a range.
[] specifies a inclusive edge of a range.
pContext is used for error reporting. pCode contains a generated expression that implement the range expression (using x as an input value).

◆ ParseSQLFieldList()

_.Library.Status ParseSQLFieldList (   pFieldString,
  pDomain,
  pFieldArray,
_.Library.Boolean  pLocalize 
)
staticprivate

Split a single fieldList string into the individual fields.

The output pFieldArray returns each SELECT item in pFieldArray(termNumber) = $LB( $LB(fieldIdenitifier,"AS",logicalHeader), $LB(fieldIdenitifier,"AS",displayHeader)) The pLocalize parameter can be used to request behavior of the $$$TEXT macro in the header portion: 0 - Return the original text value from $$$TEXT 1 - Return the header value localized to the language of the current client When pLocalize is used, a default domain can be provided in pDomain. This domain will be used for translation for each instance of $$$TEXT that does not specify its own domain.

◆ PrecomputeAggregates()

_.Library.Status PrecomputeAggregates ( _.Library.String  pCubeName,
_.Library.Boolean  pAsync,
_.Library.Boolean  pVerbose,
_.Library.Boolean  pTracking 
)
staticprivate

Precompute aggregate values for the given cube (if its precompute property is non-zero).


If pAsync is true, then background tasks are used.
If pVerbose is true, then status information is written to the console.

◆ ProcessFact()

_.Library.Status ProcessFact ( _.Library.String  pCubeName,
_.Library.String  pSourceId,
_.Library.Boolean  pVerbose,
_.Library.Integer  pMissingReferences,
_.Library.String  pFactList 
)
staticprivate

For the specified cube, update one fact from the source table (with id of pSourceId).

If the fact does not yet exist, it is inserted, if does exist it is updated.
If pVerbose is true, then status information is written to the console.
pMissingReferences how missing references to related cubes were encountered. Refer to the <method>SynchronizeCube</method> for details.
This method logs current time as the cube's last data update but does not advance the cube's DSTIME timestamp.

◆ PurgeDSTIME()

_.Library.Status PurgeDSTIME ( _.Library.Integer  pVerbose,
_.Library.String  pPurged 
)
staticprivate

<method>PurgeDSTIME</method> purges all nodes in ^DeepSee.Update that have already been processed by all cubes,

and by all classes that extend <class>DeepSee.TimeSync</class>. This method checks the DSTIME value for each cube, and for each class that extends DeepSee.TimeSync, and computes the oldest DSTIME value that has not yet been synchronized. All DSTIME values older than that time are purged from the DSTIME index.

If a class has entries in the DSTIME index and no cubes use that class as a source class then those DSTIME entries are not purged.

Parameters

pVerbose

Input

If true then status messages will be displayed on the current device.

pPurged

Output

An array of DSTIME entries that have been purged. For example:

            purged("DeepSee.Study.CityRainfall")=1
            purged("DeepSee.Study.Patient")=2
            purged("HoleFoods.Transaction")=0
                

The array subscript is the class name and the value is the DSTIME value that was purged.


Return value: This method returns a Status value indicating success or failure.

◆ PurgeListings()

_.Library.Status PurgeListings ( _.Library.Integer  pVerbose,
  pStartDay 
)
staticprivate

Purge all entries in the listing cache older than pStartDay.

If this is

omitted, the start day used will be the current day.

◆ PurgeUpdateBuffer()

_.Library.Status PurgeUpdateBuffer ( _.Library.String  pClass,
_.Library.String  pPurgeUpTo,
_.Library.Boolean  pIncrement,
_.Library.Boolean  pVerbose 
)
staticprivate

Purge the ^OBJ.DSTIME update buffer when there are no cubes present to clear entries.

via updates.
pClass [Required] - The class to be purged from the ^OBJ.DSTIME update buffer. The "*" wildcard may be used to purge all classes present in the buffer.
pPurgeUpTo [Required] - This is the oldest timestamp that must be retained in the purge. Every entry older than this will be removed. The "*" wildcard may be used to remove all entries for the given pClass.
pIncrement - If true, the purge method will automatically advance the top node of ^OBJ.DSTIME to advance the timestamp of all non-interval type entries to support the next purge. This parameter is set to 1 by default.

◆ Reset()

_.Library.Status Reset ( _.Library.Boolean  pClearCells)
staticprivate

Stops all DeepSee background agents, clears any pending tasks,.

and clears the result cache for the current namespace. If pClearCells is true, then the cell cache for the current namespace is also cleared.
This method is provided as a convenience for developers for use on development or test systems. You should not use this method on production systems as it will have immediate effect on the performance of end user operations.

◆ RunServerAuditCode()

_.Library.Status RunServerAuditCode ( _.Library.String  pDashboardId)
staticprivate

Run the server audit code.


This gives customer applications a chance to audit viewing of DeepSee dashboard pages. This is called whenever a DeepSee dashaboard is viewed in the user portal.
The server audit code is a valid ObjectScript expression stored in the ^DeepSee.AuditCode global. Server audit code should not write any output to the current device nor should this code kill any % variables required by Zen or DeepSee.
The variable, dsDashboard, will contain the id (name) of the current dashboard item.

◆ RunServerCloseCode()

_.Library.Status RunServerCloseCode ( )
staticprivate

Run the server close code.


This gives customer applications a chance to clear environmental settings. This method is called whenever a DeepSee session is closed or when a background process completes work on a DeepSee.WorkMgr queue.
The server close code is a valid ObjectScript expression stored in the ^DeepSee.CloseCode global. Server close code should not write any output to the current device nor should this code kill any % variables required by Zen or DeepSee.

◆ RunServerInitCode()

_.Library.Status RunServerInitCode ( )
staticprivate

Run the server init code.


This gives customer applications a chance to establish environmental settings. This is called whenever a DeepSee session is created or when a background process begins work on a DeepSee.WorkMgr queue.
The server init code is a valid ObjectScript expression stored in the ^DeepSee.InitCode global. Server init code should not write any output to the current device nor should this code kill any % variables required by Zen or DeepSee.

◆ SavePivotVariable()

_.Library.Status SavePivotVariable ( _.Library.String  pCube,
_.Library.String  pVariableName,
_.Library.String  pInfo,
_.Library.Boolean  pUseCubeVersion 
)
staticprivate

Save a pivot variable.

The variable's attributes are in the array pInfo.

◆ SetAgentCount()

_.Library.Integer SetAgentCount ( _.Library.Integer  pNumAgents,
  pType,
_.Library.Status  pStatus 
)
staticprivate

Set the default number of background processes used by DeepSee for the group specified by pType.

Tasks executed by background agents are divided into "build" and "runTime" groups. This method can be used to set a per-group limit or to set a maximum number of processes that may be active across multiple groups. The limits can be set with the following value for pType:

  • "build" - number of agents that will be requested for a single worker group performing cube build tasks
  • "runTime" - number of agents that will be requested for queries and processing of user code such as KPIs
  • "buildMax" - the maximum number of agents that can be active for user tasks
  • "runTimeMax" - the maximum number of agents that can be active for user tasks

◆ SetDSTimeIndex()

SetDSTimeIndex ( _.Library.String  pClassName,
_.Library.String  pObjectId,
_.Library.Integer  pAction,
_.Library.Integer  pInterval 
)
staticprivate

Set an entry into the DS Time index used to track changes to transactional classes.


This is intended for classes that use DSTIME="manual" and wish to maintain the DSTIME index manually. It should be called whenever an instance of the class is inserted, updated, or deleted.
pClassName is the (case-sensitive) class name of the transactional class.
pObjectId is object id of the affected object instance.
pAction is 0 for updates, 1 for inserts, and 2 for deletes.
pInterval is the time interval value corresponding to the DSINTERVAL parameter. If this is not greater than zero then a standard DSTIME index entry is set, otherwise a DSINTERVAL index entry is set.

◆ SynchronizeCube()

_.Library.Status SynchronizeCube ( _.Library.String  pCubeName,
_.Library.Boolean  pVerbose,
_.Library.Integer  pFactsUpdated,
_.Library.Boolean  pReadCommitted,
_.Library.Boolean  pCheckReferences,
_.Library.Boolean  pAsync,
_.Library.String  pSynchronizeStatistics 
)
staticprivate

For the specified cube, find and apply all changes from the source data that have been made since the.

last call to this method. If pVerbose is true, then status information is written to the console.

On return, pFactsUpdated will return the number of facts updated.

By default, reads from the source table use READ COMMITTED mode, you can turn this off (if you can tolerate reads of values from uncommitted transactions) by setting pReadCommitted to 0.

If this cube has facts that reference (via relationships) facts within another cube and any of those remote facts are missing (because the related cube has not been synchronized), then this method will report success and the missing references will be treated as build errors.
To avoid this type of error, it is better to plan your synchronization so that the related cubes are synchronized first (in the same order the cubes are built).

The pCheckReferences argument is deprecated and no longer has any effect on updates.

pAsync controls whether DeepSee performs the synchronize in multiple background processes. If this argument is true, the system uses multiple processes and does not return until they are all complete. If this argument is false, the system uses a single process and does not return until it is complete.
By default this method runs in the synchronous mode to avoid any potential interference with agents involved in background processing. If asynchronous mode is turned on, the synchronization work will be divided among all available Low priority agents.

pSynchronizeStatistics returns an array of information about the synchronize.
The array has four subscripts. For example, if tStats is the argument used, as in:
do ##class(DeepSee.Utils).SynchronizeCube("PATIENTS",1,,,,,.tStats) the array might look like the following:
tStats("elapsedTime")=.000643
tStats("errors")=1
tStats("factCount")=5
tStats("missingReferences")=1

If any errors occur during the synchronize process but all source records are successfully checked, this cube will treat processing for this timestamp as complete. The expectation is that any individual update errors can and should be resolved individually or through the <method>FixBuildErrors</method> method and not by the synchronize itself.

◆ TestTimeClass()

_.Library.Status TestTimeClass ( _.Library.String  pClassName,
_.Library.Integer  pTest,
_.Library.String  pFormat 
)
staticprivate

This utility method tests a DeepSee time level class to.

verify that it is implemented correctly.
There are several tests:
Test 1: test the Convert, KeyToValue, and ValueToKey methods.
Test 2: test the Convert, KeyToValue, and ValueToKey methods.

◆ UnformatDate()

_.Library.Date UnformatDate ( _.Library.String  pValue,
_.Library.String  pFormat 
)
staticprivate

Unformat a date value according to the given format and convert to $H (or "").


See <method>FormatDate</method> for information on formats.

◆ UnformatPartialDate()

_.Library.Date UnformatPartialDate ( _.Library.String  pValue,
_.Library.String  pFormat 
)
staticprivate

Unformat a date value according to the given format and convert to $H (or "").


See <method>FormatDate</method> for information on formats.

◆ UpdateDimensionProperty()

_.Library.Status UpdateDimensionProperty ( _.Library.String  pCubeName,
_.Library.String  pSpec,
_.Library.String  pValue,
_.Library.String  pKey 
)
staticprivate

Programmatic API for updating the value of a dimension property after a cube has been built.

Set tSC = ##class(DeepSee.Utils).UpdateDimensionProperty( "Holefoods","[Outlet].[H1].[Region].&[Asia]","Asia2")

It takes the following arguments:
pCubeName-name of the cube.
pSpec-specification of member to update as an MDX expression. This must completely specify a level and a single key value within the level. For example: "[Product].[P1].[Product Category].&[Candy]"
You can set the value of a dimension property by adding Properties(propName) to the end of the spec: "[Outlet].[H1].[City].&[23].Properties(""Population"")" pValue-if defined, this is new NAME value for a dimension member or the value to use for a dimension property.
pKey-if defined, this is new KEY value for a dimension member. Ignored for a dimension property.
There a number of restrictions on this method:
You cannot update a time dimension.
You cannot update a member of relationship.
You cannot update a level property whose isReference is true.