Announcement
ABCFeatured Content
Recent Activity
How can I force a delimited data source to not skip blank values in an Amount field?
I have a situation where I'm trying to load trial balances from QuickBooks. The source file I'm receiving has three comma-separated columns - Account+Description, Debit, Credit. QuickBooks has a quirky output format where some debit balances are shown as "$-" (presumably to represent 0.00), leaving the credit column blank. If there is a credit value in the credit column, the debit column is blank. This is messing with OneStream's numeric processing of the Amount column when Amount is mapped to Column 2 (Debit column). It is rejecting the "$-" field values and the blank field values as Non-Numeric Amounts (verified in the XFL log file for the load). I can successfully replace '$-' with 0 using the Substitute Settings in the data source's Amount dimension, but I cannot figure out how to replace 'no value' in the Debit column with 0 (so that the valid Credit column values don't get skipped). I'm using a Parser Business Rule to return the net amount (debit column 2 minus credit column 3) for the Amount value, but the records where the Debit column is blank never make it to the parser rule (e.g. accounts 1170, 2000, and 2002 in the screen capture of the source file) because of OneStream's built-in Non-Numeric Amount preprocessing. I've tried various combinations in the Substitution Strings settings, hoping to find one that replaces the empty field with '0', but with no luck. I've tried all of the following Find combinations (the '$-' does successfully produce a 0 by the way). And yes, I know the documentation lists |Null| as a valid Replace value, not a Find value, but I thought I would try it in the Find string just to see if it worked: $-^ ^$- |Null|^$- $-^|Null|22Views0likes1CommentAdding comments in cube view in front of calculated row
I’m working on a Cube View where one of the rows is a calculated row (using CVR / GetDataCell to derive the value from other rows). The users want to be able to enter comments directly in the Cube View in a column that appears “in front of” (or next to) this calculated row. Has anyone implemented comments or text entry against a calculated row like this? Specifically, I’m trying to understand: Whether it’s possible to add comments to a CVR-based calculated row (where the numeric data is not stored, only calculated at runtime). If not directly, what design patterns are recommended? Any examples of Cube View layout or member/filter tricks that let you show a calculated row and a comment entry cell side by side for that row. Environment is OneStream version 8.5.3, and this is a standard Cube View used for reporting (not a custom dashboard). Thanks in advance for any ideas or examples.saggarwal5 hours agoNew Contributor10Views0likes0CommentsScheduled Monthly Reports
Does anyone know where I can look to start getting a better understanding of automatically scheduled monthly reports or packages? We have several Business Units that all look at the information a bit differently. Any suggestions on what has worked for your Business Leaders in regards to what they see each month?Luke20266 hours agoNew Contributor16Views0likes1CommentTitle: Genesis Error Occurring for Some Users with Identical Access Rights
Hello, We are experiencing an intermittent Genesis error. All default values appear to be correctly configured, but the error is triggered for some users and not for others, even when they have the same security roles and access rights. The issue is also not tied to a specific report, as it can occur on different reports depending on the user. Has anyone encountered a similar issue? Example error message: We also noticed that when we remove the link between the Content and Main workspaces, the issue is resolved. However, this workaround does not work for all affected users. Thank you for your help.Saliha8 hours agoNew Contributor19Views0likes1CommentCPM Express IFRS (PV930 SV100) was released on June 9th!
1 MIN READ The Express Development team is excited to share that CPM Express IFRS (PV930 SV100) was released on June 9th! What’s new in IFRS? This latest release delivers greater transparency and control for finance teams, introducing the Consolidation Helper for clear audit trails into elimination and consolidation entries, a detailed documentation around the consolidation engine, an enhanced Consolidation Hub to handle proforma and what-if, Intercompany Matching at the transaction currency level, along with reporting, performance, and usability enhancements. Want to learn more? Read: Review of the release notes and product documentation on the Solution Exchange. Want to get involved? If you are a customer and are interested in how CPM Express is used, please contact your implementation partner or Customer Success Manager. If you are a partner and would like to learn more about CPM Express, please contact your Partner Alliances Manager. Looking for Training? Instructor-led training is coming at the end of June, watch for more details in Navigator. Have feedback? If you have feedback or receive it from customers or prospects, please share it with the team via this link so we can continue improving the solution.agoralewski9 hours agoCommunity Manager17Views0likes0CommentsCourse Announcement: Designing Dashboards for the Modern Browser Experience (MBE)
1 MIN READ This course is intended for administrators or consultants who want to build dashboards that can be used with the MBE. It covers dashboard design approaches, practical considerations, and explores how Smart Links can be used to share dashboards Delivery Types: On-Demand (OD) Duration: 1 Hour, 30 Minutes Availability: This Course is Free Course Link: Designing Dashboards for the MBEagoralewski10 hours agoCommunity Manager10Views0likes0CommentsIn the Windows application, is there a way for the Zoom to default to what was last selected – each page has a different zoom setting and each session requires users to set the zoom again.
Answer This has been submitted as an enhancement request (TFS 7944) and APPROVED for a future release…release date/version TBD. Source: Office Hours: 2019-08-22OSAdmin10 hours agoOneStream Employee611Views3likes1CommentMonthly Data from D365 into OneStream
Is there an interface from Dynamics 365 into OneStream? I have seen some comments mention direct connection with D365 using oData API. We have several business units across the world that will need to push month end data from D365. Is there a way they can just push the data from their end or would it have to come from OneStream to get the data?86Views0likes5CommentsNeed help on Clear Specific member data
Hi Team, I need your support regarding an issue I am facing with the dashboard-driven data clearing logic. Requirement: When specific Dimension/Members are selected in the dashboard, the attached code is expected to execute in Preview and Clear modes to remove the corresponding data. Issue Observed: The code runs successfully during execution. I can see the log message indicating that the data is “cleared.” However, the actual data is not getting cleared from the system. This suggests that while the process is triggering correctly, the clearing operation is not impacting the underlying data as expected. Could you please review and provide your suggestions on what might be causing this issue or any potential gaps in the approach? Let me know if you need additional details or logs from my end. Thanks in advance for your help. api.Data.SetDataCell(memberScript, amount, isNoData, isDurableCalculatedData) Imports System Imports System.Collections.Generic Imports System.Data Imports System.Data.Common Imports System.Globalization Imports System.IO Imports System.Linq Imports Microsoft.VisualBasic Imports OneStream.Finance.Database Imports OneStream.Finance.Engine Imports OneStream.Shared.Common Imports OneStream.Shared.Database Imports OneStream.Shared.Engine Imports OneStream.Shared.Wcf Imports OneStream.Stage.Database Imports OneStream.Stage.Engine Namespace OneStream.BusinessRule.Finance.EPM_Clear_Specific_Scenarios Public Class MainClass Public Function Main(si As SessionInfo, globals As BRGlobals, api As FinanceRulesApi, args As FinanceRulesArgs) As Object Try '======================================== ' VALID FUNCTION TYPE '======================================== If api.FunctionType <> FinanceFunctionType.CustomCalculate Then Return Nothing End If '======================================== ' PARAMETERS '======================================== Dim entityName As String = GetParam(args, "Entity") Dim scenarioName As String = GetParam(args, "ParamSScenario") Dim timeName As String = GetParam(args, "Time") Dim con as String="Local" Dim accountName As String = GetParam(args, "Account") Dim flowName As String = GetParam(args, "Flow") Dim originName As String = GetParam(args, "Origin") Dim icName As String = GetParam(args, "IC") Dim ud1 As String = GetParam(args, "UD1") Dim ud2 As String = GetParam(args, "UD2") Dim ud3 As String = GetParam(args, "UD3") Dim ud4 As String = GetParam(args, "UD4") Dim ud5 As String = GetParam(args, "UD5") Dim ud6 As String = GetParam(args, "UD6") Dim ud7 As String = GetParam(args, "UD7") Dim ud8 As String = GetParam(args, "UD8") Dim mode As String = GetParam(args, "Mode", "EXECUTE").ToUpper() Dim confirmDelete As String = GetParam(args, "ConfirmDelete", "NO").ToUpper() api.LogMessage("=== DATABUFFER CLEAR START ===") api.LogMessage("Mode=" & mode & " | ConfirmDelete=" & confirmDelete) '======================================== ' VALIDATION '======================================== If String.IsNullOrWhiteSpace(accountName) Then Throw New Exception("Account parameter is required.") End If '======================================== ' BUILD FILTER '======================================== Dim filter As String = "E#" & entityName & ":S#" & scenarioName & ":T#" & timeName & ":A#" & accountName If Not String.IsNullOrWhiteSpace(flowName) Then filter &= ":F#" & flowName If Not String.IsNullOrWhiteSpace(originName) Then filter &= ":O#" & originName If Not String.IsNullOrWhiteSpace(icName) Then filter &= ":I#" & icName If Not String.IsNullOrWhiteSpace(Con) Then filter &= ":C#" & "Local" If Not String.IsNullOrWhiteSpace(ud1) Then filter &= ":U1#" & ud1 If Not String.IsNullOrWhiteSpace(ud2) Then filter &= ":U2#" & ud2 If Not String.IsNullOrWhiteSpace(ud3) Then filter &= ":U3#" & ud3 If Not String.IsNullOrWhiteSpace(ud4) Then filter &= ":U4#" & ud4 If Not String.IsNullOrWhiteSpace(ud5) Then filter &= ":U5#" & ud5 If Not String.IsNullOrWhiteSpace(ud6) Then filter &= ":U6#" & ud6 If Not String.IsNullOrWhiteSpace(ud7) Then filter &= ":U7#" & ud7 If Not String.IsNullOrWhiteSpace(ud8) Then filter &= ":U8#" & ud8 api.LogMessage("Filter used: " & filter) '======================================== ' GET DATABUFFER '======================================== Dim dataBuffer As DataBuffer = api.Data.GetDataBufferUsingFormula(filter) If dataBuffer Is Nothing _ OrElse dataBuffer.DataBufferCells Is Nothing _ OrElse dataBuffer.DataBufferCells.Count = 0 Then api.LogMessage("No data found for given filter.") Return Nothing End If Dim totalCells As Integer = dataBuffer.DataBufferCells.Count api.LogMessage("Cells found: " & totalCells) '======================================== ' SAFETY LIMIT '======================================== If totalCells > 500000 Then Throw New Exception("Too many records selected (" & totalCells & "). Reduce filter.") End If '======================================== ' PREVIEW MODE '======================================== If mode = "PREVIEW" OrElse confirmDelete <> "YES" Then Dim previewCount As Integer = 0 For Each kvp As KeyValuePair(Of DataBufferCellPk, DataBufferCell) In dataBuffer.DataBufferCells api.LogMessage("PREVIEW: " & kvp.Value.CellAmount) previewCount += 1 Next Dim preview As New StringBuilder() preview.AppendLine("DATA SELECTED FOR CLEAR") preview.AppendLine("====================================") preview.AppendLine("Filter :") preview.AppendLine(filter.ToString()) preview.AppendLine("") preview.AppendLine("Total Cells : " & totalCells.ToString("N0")) 'preview.AppendLine("Total Amount: " & Kvp.value.cellamount.ToString("F2")) api.LogMessage("Total PREVIEW cells: " & previewCount) BRApi.Dashboards.Parameters.SetLiteralParameterValue( si, True, "ETPreviewData", preview.ToString()) Return Nothing End If '======================================== ' CLEAR MODE '======================================== Dim clearedCount As Integer = 0 Dim skippedCount As Integer = 0 For Each kvp As KeyValuePair(Of DataBufferCellPk, DataBufferCell) In dataBuffer.DataBufferCells Try Dim cellPk As DataBufferCellPk = kvp.Key Dim memberScriptBuilder As New MemberScriptBuilder() api.Data.ApplyDataBufferCellPkToMemberScriptBuilder(memberScriptBuilder, cellPk) Dim writeScript As String = memberScriptBuilder.GetMemberScript.ToString api.LogMessage("WriteScript" & writescript.ToString()) api.Data.SetDataCell(writeScript, 0D, True,True) clearedCount += 1 Catch exInner As Exception skippedCount += 1 api.LogMessage("SKIPPED: " & kvp.Value.CellAmount.ToString("F2") & " | Error: " & exInner.Message) End Try Next '======================================== ' SUMMARY '======================================== api.LogMessage("=== CLEAR SUMMARY ===") api.LogMessage("Script :" & filter ) api.LogMessage("Total Cells : " & totalCells) api.LogMessage("Cleared : " & clearedCount) api.LogMessage("Skipped : " & skippedCount) api.LogMessage("=== DATABUFFER CLEAR END ===") Return Nothing Catch ex As Exception Throw ErrorHandler.LogWrite(si, ex) End Try End Function '======================================== ' PARAM HELPER '======================================== Private Function GetParam(args As FinanceRulesArgs, name As String, Optional def As String = "") As String Try Dim v As String = args.CustomCalculateArgs.NameValuePairs.XFGetValue(name) If String.IsNullOrWhiteSpace(v) Then Return def Return v.Trim() Catch Return def End Try End Function End Class End Namespacevasantharaidu1 day agoNew Contributor III32Views0likes1Comment
Getting Started
Learn more about the OneStream Community with the links below.