Smart Integration Connector
Smart Integration Connector was launched as a feature of 7.3 and we have a new self-paced eLearning course available for you on Navigator to support this: OneStream Architecture: Smart Integration Connector (SIC) - Welcome to the OneStream Smart Integration Connector | Employee (thoughtindustries.com) Free to everyone who can access Navigator.6.1KViews4likes6CommentsHow to deal with an Amount Field that has space as a thousands separator AND a DR/CR indicator!
If you encounter an Amount field that has spaces as the thousands separator AND includes a DR/CR indicator (e.g. 12 345 678 D) then you'll need this to parse the value: Dim strRawAmount As String = api.Parser.DelimitedParsedValues(4) ' Zero-based and adjust for your columns! '----------------------------------------------------------------------------- ' If not empty then remove space separator and interpret D/C indicators If Not String.IsNullOrEmpty(strRawAmount) Then Dim strAmount As String = strRawAmount.Replace(" ", "") ' 12 345 678 D becomes 12345678D Dim strDRCR As String = Right(strAmount, 1) ' D or C on end of string? Dim dAmount As Decimal = Left(strAmount, len(strAmount) - 1).XFConvertToDecimal ' Strip D or C and convert to Decimal '----------------------------------------------------------------------------- ' Did conversion to Decimal work? If IsNumeric(dAmount) Then ' This is critical '----------------------------------------------------------------------------- api.ValueIsnumeric = True 'This is critical too!!! Select Case strDRCR Case "C" ' Credit Return (dAmount * -1).ToString Case "D" ' Debit Return (dAmount).ToString '----------------------------------------------------------------------------- End Select End If Else '----------------------------------------------------------------------------- ' Empty so bypass line globals.Bypass = True '----------------------------------------------------------------------------- End If Steve2.8KViews3likes5CommentsExcel Template upload - Data Source setup
Hi All, I'm trying to set up some Excel templates for the uploading Budget and Forecast data. I'm pretty happy with the Excel Template side, with the named range (XFD), and specific header formats, etc. However, I'm a bit lost on the Data Source set up, I get that you have to Allow Dynamic Excel Loads set to True, but what about the rest of the set up? Do I choose Delimited or Fixed file? It feels like this Data Source section is really for flat files, as it always wants to know the column number. I've tried importing the Excel into the Data Source in the same way I would for a csv file, but it just shows up as xml gibberish in the top box. It definitely feels like I'm missing something.Solved3.8KViews2likes3CommentsUnable to get value from another column in Parser BR
OneStream V7.0.1 We have a Data Source that takes data file that has 12 data columns Oct ... Sep. The year for the data in the 12 data columns is a field "Fiscal Year", the first column of the data file. We have a Parser BR that is called on each of the 12 data columns that looks at the first field in each record to get the year and concatenates that with the M<number> month for each month column to give the correct Time dimension member in which to store the data. e.g. 2023M1 The problem is we're getting the row header "Fiscal Year" instead of the year value in the record, so the string being returned looks like Fiscal YearM1 How do we get the year data from the first column instead of the column header? Public Function Main(ByVal si As SessionInfo, ByVal globals As BRGlobals, ByVal api As ParserDimension, ByVal args As ParserArgs) As Object Dim fiscalYear As String() = {"Oct","Nov","Dec""Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep"} Dim YearColPosition As Integer = 0 Dim year As String = String.Empty Dim month As String = String.Empty Try 'Both of these keep giving us the column header "Fiscal Year" 'instead Of the value In the currently parsed record year = api.Parser.DelimitedParsedValues(YearColPosition) 'year = args.Line.Split(",")(YearColPosition) 'this marries the index of the month name in the months array 'with M to give us the M1 notation for period. month = $"M{Array.IndexOf(fiscalYear, args.Value)+1}" BRApi.ErrorLog.LogMessage(si, $"Time: {year}{month}") Return $"{year}{month}" Catch ex As Exception Throw ErrorHandler.LogWrite(si, New XFException(si, ex)) End Try End FunctionSolved8.2KViews2likes23CommentsHow can I convert excel date integers into DateTime
I have a csv import coming from excel. One of the columns is of type date but when it gets saved into CSV the date is replaced by integers in the format excel uses to store dates. How can I convert those integers back into dates?Solved2.3KViews2likes1CommentFDX methods (like FdxExecuteCubeView) ... Why are they faster?
Recently I heard in these forums that FDX methods (likeFdxExecuteCubeView) should be used from a BR whenever the performance of the data is critical. Can someone help me understand why they are faster? We've already built quite a lot of client-integration software using cubeviews. The cubeviews are being executed via the REST api. We are retrieving data with "api/DataProvider/GetAdoDataSetForCubeViewCommand". Now that I have discovered the "FDX" methods, it puts me in the troublesome position. I realize that a ton of our integration software should probably be re-written to use those FDX methods. The re-write may take some time. Why won't onestream just extend the "normal" cubeview interface of the REST api, and add an option to run it in FDX mode? That would be similar to the "turbo" buttons they used to put on a the tower of a PC to make it run faster (for those users who had a preference between a fast computer and a slow one.) It would be helpful to understand the differences between these two (fast and slow) mechanisms for retrieving data from cube views.Solved9KViews1like15CommentsDerivative rules
Hi experts, I have a group of GL accounts that I need to map to either an expense / revenue based on the sum of the balances. I thought this would be easy enough with a derivative rule; first create an interim rule to aggregate the accounts and then create a final rule to check if the balance is greater / less than 0. Finally, I have used the final derivative rule in my target account mapping. But, this is not quite working as expected. It seems to just add the negative balances of the individual GL accounts under the "_N" rule and the positive balances under "_P" rule, therefore both my expense and revenue account in OS ends with a balance. Could you please suggest what I am doing wrong? Regards, SSolved6.8KViews1like7Comments