Recent Discussions
Multiple source columns to a single target dim based on hierarchical relationships - Mapping
Hello Experts, Here's the scenario: We have a flat file coming from the client's source with multiple source columns. We need "Region", "Cost Center", and "Business Unit" in this case from the file to build the solution. We have developed an unique UD2 dimension in the app which will act as a target dimension for these 3 source columns(Region, CC, & BU). Creating a one to one mapping for all the possible combinations for (Region, CC, & BU) would be tedious. Currently, we are thinking of writing a Complex Expression in the UD2(target) transformational rule, that would first lookup the parent values of all the base members from the 3 columns combination and return the respective value of it's target. Something like the below snippet. Any sample code or alternative solution would be really helpful. Thanks! Dim U1 As String = args.GetTarget("U1#") Dim U3 As String = args.GetTarget("U3#") Dim U4 As String = args.GetTarget("U4#") Dim objDimPk As DimPk = BRApi.Finance.Dim.GetDimPk(si, CostCenter) Dim sValue As Integer = BRApi.Finance.Members.GetMemberId(si, dimTypeId, memberName) Dim eValue As Integer = BRApi.Finance.Members.GetMemberId(si, dimTypeId, memberName) Dim bValue As Boolean = BRApi.Finance.Members.IsDescendant(si, objDimPk, sValue, eValue, dimDisplayOptions) If (U1 = "ABC" And IsDescendant(U4, "CostCenter", "XYZ")) Then Return "TARGETUD2" Else Return "" End IfNitishKrishB8 days agoNew Contributor II28Views0likes0CommentsSendMail input string not in the form for an e-mail address
Hello everyone, We recently made the jump from version 7 to 9, and a rule that was previously working is now throwing an error. We are trying to use the BRApi.Utilities.SendMail functionality after a certification is done through the DataQualityEventHandler, but OS is giving us the following message when executing the certification The specified string is not in the form required for an e-mail address. We verified the toEmailAddresses parameter is a List(Of String) with a single item in the format "user@mail.com". What can be causing this issue?Belmontes10 days agoNew Contributor16Views0likes0CommentsHow to write Smart Integration Function in Assembly
Hi, I have created one one Smart integration function in to transfer file from sftp server to share point server. can we use smart integration function as a file or use existing smart integration function as dependency , not sure just need suggestions.rhm1 month agoNew Contributor28Views0likes0CommentsSaveCustomDataTable behaviour in different Versions of OS
I have used SaveCustomDataTable in OS v9.01 where you need to clear the data before loading the table and it works fine. Recently i was building similar logic in OS v8.2 and noticed that it was truncating my table , is this expected or is there something i am missing it is the standard call: BRApi.Database.SaveCustomDataTable(si, "Application",Table,dt,True)crappos1 month agoNew Contributor II20Views0likes0CommentsAsync processing in a Connector Business Rule
Hi All, I am writing an Connector BR to connect to a system via their API. I first build the rule as a Extender rule so that I can test the logic. So far it works great. It uses Asynchronous processing on all of the web calls. When I try to move that code into a Connector BR, I am having an issue on the GetFieldList part of it. When I try to use it in a data source, I get the following error: Unable to cast object of type 'System.Threading.Tasks.Task`1[System.Object]' to type 'System.Collections.Generic.List`1[System.String]'. I am guessing this is because the Main module in the BR is public async Task<obect> Main so whatever is returned is going to be a Task<object>. Has anyone done Asynchronous processing in the connector rule and had the GetFieldList part working. My only thought to get around this is the write the data to a table/file with the Extender BR then the Connector reads that. Any thoughts are greatly appreciated. Scott16Views0likes0CommentsCentral Import and Account Reconciliations
I’m starting an Account Reconciliations implementation and the current process loads Actuals for all entities through a central import. They do have individual workflows for each entity where security is assigned at that level and used for planning and reporting. For RCM they want to look at their recs at that level too (WF entity) but data is not flowing through. Did the discovery both at the Central and individual levels and only the Central inventory is being populated. I guess it’s because data is not being loaded to stage into those WFs. Is there a way to work around this or will data need to be loaded at the entity level for it to work?mlopez2 months agoNew Contributor II28Views0likes0CommentsShow the Workflow Multi-Period Processing page from a dashboard button
Hi all, is there a way to open the "Workflow Multi-Period Processing" page from a dashboard button? we were able to open the pages for specific time (YYYYMM) and the different steps Import, forms, Adj. But what about the Multi-Period processing which is exeucted at the year level (e.g. 2025)? Which is the Workflow name to use in the Change POV and Workflow button POV Action? here is how we set the button Can anyone help? Thanks and regards MassimoMStucchi2 months agoNew Contributor III35Views0likes0CommentsWorkflow channels with scenario copies
Hi All, In our multi year planning process, most entities need to upload four sets of fixed costs (all loaded by the same team, but sent to that entity's finance team by different functional teams), in addition to all the driver-based costs we're calculating (mostly based on form inputs). For the four sets of fixed costs, we have four import profiles under the same parent workflow. The entities import their files and then run a DM sequence from a dashboard to run the validate/load for a range of years they can select. When they run this sequence, all import profiles (under the same parent) that have been imported are validated and loaded. We had not set up workflow channels on the different loads, and everything was working as expected. The different import profiles will use some of the same accounts, but different sets of cost centers. We did not see any collision of data when the same accounts were loaded, and if a balance that had previously been loaded in one import was removed from the import template and reimported, the data in that account would be cleared from the cube (even if that account was only used by one of the four imports) after the next validate/load. Now that we have started to copy cube data from one completed scenario (CY) to another blank scenario (CY_v2), so that some changes can be made to CY_v2, we were running into issues with our fixed cost loads in CY_v2 (balances not clearing, other values being overwritten). This makes sense, and we had not considered loading the fixed costs to copied scenarios. We would like to be able to only load one of the four imports (if say the G&A load is the only one with changes) in the CY_v2 scenario. We were hoping that workflow channels on the imports would solve the issue in the copied-to scenarios, but after completing that set up (changing accounts to nodatalock, setting up different data source members for each of the four imports, creating the channels, and applying the channels to the data source members), we are still seeing balances "stuck" in CY_v2 when previously loaded balances to a unique account are removed from the latest upload for one of the imports. We had also gone back and reloaded the "source" scenario with the channels applied, before copying the data and trying to load only a single template to CY_v2. Is there a way to use workflow channels so that all data loaded through that channel is cleared and replaced when a new import is loaded to a data source member where the channel is applied, or will accounts no longer in the latest import be left un-cleared? The documentation on the level 2 and level 3 data units seems to indicate that those accounts will not be cleared, but that does not match the behavior we see in the original loads of multiple sibling import profiles (described and bolded in my second paragraph). It also doesn't seem to match how a typical, iterative planning process would work. Any feedback would be appreciated. Thanks, James55Views0likes0CommentsErrors creating New Task in Data Import Schedule Manager
I am getting several errors when setting up a New Task in the Data Import Schedule Manager. We are on OS version 9.01.17403, and I have installed the latest version of DSM, which is 8.4.0_SV100. I suspect this may be a version compatibility issue, so I am curious if anyone has been able to get this solution to work in a 9.01 application. I have already uninstalled and reinstalled the solution, which didn’t resolve the issues. Below are the two errors I am seeing: When choosing Global Scenario from the Scenario(s) drop down list, I get an immediate error “Error processing member. The item was not found. Member, 11111111.” The details state: Unable to execute Business Rule ‘DSM_Paramhelper’ where it appears to be trying to call the Global Scenario by OneStream.Client.Api.DashboardsAjaxServiceReference.DashboardsAjaxServiceClient.GetParameterDisplayInfosUsingDashboardNameCompressed(SessionInfo si, LoadDashboardInfo loadDashboardInfo, Boolean isForDashboardUIWithInteractiveComponents, Dictionary`2 custSubstVarsAlreadyResolved). If I pick a specific Scenario, I am getting a different error. It allows me to pick the Scenario and Time, but when save the Task, I get “The input string ‘’ was not in a correct format.”. The error details show it is an issue with the same Business Rule ‘DSM_SolutionHelper’ where Conversion from string “” to type ‘Double’ is not valid. The input string ‘’ was not in a correct format. OneStream.Client.Api.DashboardsAjaxServiceReference.DashboardsAjaxServiceClient.StartExecuteSelectionChangedServerTaskCompressed(SessionInfo si, Boolean isSystemLevel, Guid primaryDashboardID, Guid embeddedDashboardID, Guid componentID, PageInstanceInfo pageInstanceInfo, XFSelectionChangedServerTaskInfo serverTaskInfo) Any advice on how to correct these issues would be greatly appreciated.53Views1like0Comments