class %DeepSee.Time.Partial.WeekYear
extends %DeepSee.Time.AbstractLevel
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"
parameter CALENDAR = "partial";
parameter DIMTYPE = "week";
Type reported back to the UI. This determines what type of control to display
for filters based on this class.
classmethod %Convert(pTime As %DeepSee.Datatype.dateTime, pTimeOffset As %String = "")
as %Integer
Convert a partial date 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 yyyy-mm-dd to an ISO Week: YYYYWnn
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.
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.
classmethod %GetName()
as %String
Return the user-visible name of this level.
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.
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 partial date ODBC format).
classmethod %KeyToValue(pKey As %Integer, pFormat As %String = "", pOffset As %String = "")
as %String
Convert a level key value to a display value.
classmethod %SupportsNOW()
as %Boolean
Return true if this level supports a NOW member.
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.
classmethod ISODOW(pDate As %String)
as %Integer
Return the ISO day of week for a given ODBC date value: Monday = 1, Sunday = 7.
classmethod ISOWEEK(pDate As %String, Output pWeek As %Integer, Output pYear As %Integer)
as %String
Compute the ISO week number and corresponding year for a given ODBC partial date value.
Returns the ISO compatible display form of the week: YYYYWnn.
classmethod ISOWEEKNUM(pDate As %String)
as %Integer
Compute the ISO week number (with no year) for a given ODBC date value.
classmethod ISOWEEKSINYEAR(pYear As %Integer)
as %Integer
Return the number of ISO weeks within a given year.
classmethod ISOWEEKToRange(pWeek As %String, Output pStart As %String, Output pEnd As %String)
For a given ISOWEEK (YYYYWnn), find its start and end dates. Dates are returned in ODBC format