Skip to main content

%DeepSee.Time.WeekYear

Class %DeepSee.Time.WeekYear Extends %DeepSee.Time.AbstractLevel [ System = 3 ]

This class implements an ISO 8601 year and week level within a time dimension. This represents the week number (0 through 53) of a given year.
The key value for this level takes the form "YYYYWnn"

Parameters

DIMTYPE

Parameter DIMTYPE = "week";

Methods

%SupportsNOW

ClassMethod %SupportsNOW() As %Boolean

Return true if this level supports a NOW member.

%Convert

ClassMethod %Convert(pTime As %DeepSee.Datatype.dateTime, pTimeOffset As %String = "") As %Integer [ CodeMode = expression ]

Convert a $H value to the logical value used for this level. This is used within the computed field logic for properties within a fact table based on this level.
. In this case, we convert $H to an ISO Week: YYYYWnn

%Count

ClassMethod %Count(pCube As %String, pDimNo As %Integer, pHierNo As %Integer, pLevelNo As %Integer) As %Integer

Return the total number of members within this level.

%GetName

ClassMethod %GetName() As %String

Return the user-visible name of this level.

%KeyToValue

ClassMethod %KeyToValue(pKey As %Integer, pFormat As %String = "", pOffset As %String = "") As %String

Convert a level key value to a display value.

%ValueToKey

ClassMethod %ValueToKey(pValue As %String, pFormat As %String = "", pOffset As %String = "") As %Integer

Convert a level display value to its corresponding key value. Return "" if there is no corresponding key.

%KeyToBaseRange

ClassMethod %KeyToBaseRange(pKey As %String, Output pStart As %Date, Output pEnd As %Date, pOffset As %String = "") As %Status

Convert a week into starting and ending base values (in $H format).

%GetLevelMembers

ClassMethod %GetLevelMembers(Output pList As %List, pCube As %String, pFact As %String, pStartRange As %Date, pEndRange As %Date, pTimeOffset As %String = "", pFormat As %String = "") As %Status

Return an array of members of this level.

%GetRelatedKey

ClassMethod %GetRelatedKey(Output pRelatedKey As %String, pCube As %String, pFact As %String, pKey As %String, pRelation As %String, pOffset As %Integer = "", pEndKey As %String = "", pTimeOffset As %String = "") As %Status

Return, via pRelatedKey a key within this level related to pKey.

ISOWEEKSINYEAR

ClassMethod ISOWEEKSINYEAR(pYear As %Integer) As %Integer

Return the number of ISO weeks within a given year.

ISODOW

ClassMethod ISODOW(pDate As %Date) As %Integer

Return the ISO day of week for a given $H value: Monday = 1, Sunday = 7.

ISOWEEKNUM

ClassMethod ISOWEEKNUM(pDate As %Date) As %Integer

Compute the ISO week number (with no year) for a given $H value.

ISOWEEK

ClassMethod ISOWEEK(pDate As %Date, Output pWeek As %Integer, Output pYear As %Integer) As %String

Compute the ISO week number and corresponding year for a given $H value. Returns the ISO compatible display form of the week: YYYYWnn.

ISOWEEKToRange

ClassMethod ISOWEEKToRange(pWeek As %String, Output pStart As %Date, Output pEnd As %Date)

For a given ISOWEEK (YYYYWnn), find its start and end dates