The OneStream Community is temporarily frozen until June 29th due to the ongoing maintenance. Please read the blog post here to learn more.
Forum Discussion
bennovak
3 years agoNew Contributor III
Time Parsing Rule
I am trying to write a parser business rule to pull out the middle portion of a date string from a data source.
The file has the date as "1-Jan-23" and I want to pull out the Jan. On the data sour...
- 3 years ago
Here are a couple ways to do this depending on the requirement:
'returns period in Mn notation (e.g. M1, M2...) Dim month As Integer = DateTime.ParseExact(args.Value, "d-MMM-yy", CultureInfo.InvariantCulture).Month return $"M{month}" 'returns the Three letter month abbreviation (e.g. Jan, Feb...) Dim strMonth As String = DateTime.ParseExact(args.Value, "d-MMM-yy", CultureInfo.InvariantCulture).ToString("MMM") return strMonth
JackLacava
OneStream Employee
3 years agoParsing dates is better done the way RobbSalzmann showed, but for the generic case when you want to split a delimited string, don't rely on brittle indexes - you can use StringHelper.SplitString instead:
' split a string separated by '-'
Dim fields As List(Of String) = StringHelper.SplitString( _
"1-Jan-23", "-", _
StageConstants.ParserDefaults.DefaultQuoteCharacter)
BRApi.ErrorLog.LogMessage(si, fields(0)) ' will output 1
BRApi.ErrorLog.LogMessage(si, fields(1)) ' will output Jan
BRApi.ErrorLog.LogMessage(si, fields(2)) ' will output 23
Related Content
- 2 years ago