toquarter(X;Y)
Convert a string, date+time, or date to an integer value in the form Q. (Available as of version 18.02)
Syntax
toquarter(X;Y)
Input
Argument | Type | Description |
---|---|---|
X |
any | A scalar value or the name of a column containing date-related values Valid values can be of the form:
|
Y |
text | An optional argument specifying which date mode to use if the date has an
ambiguous format. For example, the string "1/2/3" can be interpreted as January 2,
2003 (using month/day/year format), or it can be interpreted as February 3, 2001
(using year/month/day format). Valid values are:
The default value is You can also add an
optional argument to tell Valid values are:
|
toquarter(X;Y)
can take a variety of input values and uses internal logic
to parse the dates. For example, the function assumes that a 4-digit number represents a
year, and that a month name or abbreviation (such as "Jan") is obviously a month. Any
ambiguities are resolved using the setting of the Y
argument.
Return Value
Returns an integer value in the form Q. If X
contains a
time stamp, it is discarded.
If the input is invalid and the Y
argument includes
'invalidna'
, the function returns a null value. If the input is invalid
and the Y
argument includes 'invaliderr'
, the function
throws an error. In this way, toquarter(X;Y)
provides date validation if
the input value is already in a date or date+time
format.
For more information about date formats, see Dates and time.
Example
The following example converts strings containing dates in various
formats to a year in the form Q. The Y
argument is
'mdymode'
, so that any ambiguous dates are parsed as month/day/year.
<table cols="date_text"> "31 Oct 2017" "February 3, 2016 04:45:01" "1/2/5" "15/3/12" "2021Q4" </table> <willbe name="date_toquarter" value="toquarter(date_text;'mdymode')"/>
The first date, 31 Oct 2017, is parsed correctly because there
is no ambiguity about "Oct" being the month. The second date, February 3, 2016
04:45:01, is parsed after dropping the time stamp. The third date,
1/2/5, is ambiguous, so the Y
argument tells
toquarter
to parse the date as month/day/year, or
01/02/2005. 15/3/12, cannot be
parsed as month/day/year because it is not a valid date, and returns a null value.
2021Q4
is converted to the Q format
4.