Discuss formulas and business rules for your application.
Recently active
Hi Everyone. I want to perform a subtraction of columns 1 and 2, I did it with the code below, but I see that it affects my performance too much, so I would like to know what other option I can do to do something like this without affecting the performance too much, I added that it waits 600 seconds but it still takes too much time. GetDataCell(T#WFYear-|!PLN_ParamNextFcstYear!|):Name(test) (I am subtracting the current year's values from the next year's values.)
Hi Community,I am building a Business Rule which will pull data base level data for a specific parent under the Account dimension.I am using FdxExecuteDataUnit to pull data from the cube, but I am not able to add Parent.Base as Account filter in the parameter. It's seem like I am only able to put a member directly and not and .Base member in the filter. Dim sFilter As String = "Origin='Import' and Flow='EndBal_Input'"BRApi.Import.Data.FdxExecuteDataUnit(si, sCubeName, $"E#{sEntFilter},E#82,E#85", sCons, scenarioId, $"S#{sScenario}", $"T#{vPeriod}", sView, True, sFilter, 4, False) Thank
Hello, where can I find the definitions of the LogonStatus codes in the UserLogonActivity table? I checked the design document and didn't see them there. Thanks!
Hi Everyone. I have the following Databuffer, but what I want to do is to change the accounts to the following: A#TRAVEL.Base, ,A#OTHERINCEXP.Base,A#ADVERTEXP.Base, A#PRINTINGSUP.Base, A#REPMAINT.Base, A#DELIVEXP.Base, A#COMMUNEXP.Base, A#PROFEES.Base, A#PROFEESDSPMT.Base, A#OTHERCONT.Base, A#DEPAMOREXP.Base, A#RENTEXP.Base, A#UTILITIESEXP.Base, A#OTHOCCOST.Base Dim SrcDataBuffer As DataBuffer = api.Data.GetDataBufferUsingFormula("FilterMembers(CB#[HLFPLN]:E#" & curEntity & ":S#[" & curScenario & "]:T#2024,[A#OCCUPANCYEXP.Base, A#CONTROLEXP.Base, A#OTHERINCEXP.Base],[U1#" & curDepartment & ".Base])") but at the end I want to remove some specific accounts, so I would like to know how to do this without the parents that have the .base, example: 612900 621105
Hi, I'm currently setting FxRates via BR using below snippet: objFxRatePk = new FxRatePkUsingNames(osFxRateType, osFxRateDate, sourceCurrency, targetCurrency); objFxRate = new FxRateUsingNames(objFxRatePk, decimal.Parse(rate), true, false); objFxRateList.Add(objFxRate); // <removed for brevity) BRApi.Finance.Data.SetFxRate(si, item); // <snip> BRApi.Finance.Data.LockFxRate(si, rateType, currentMonth); It works fine but when a new source currency is added, it doesn't show up in Application/FX Rates table. *** EDIT - realized I didn't phrase this very well *** Am I missing a step somewhere? Am I missing a step somewhere to automate this? Or is it not possible?
For context, we have a button on a dashboard that triggers a function held in the workspace assemblies (specifically as Dashboard Extender). That function starts a data management sequence. When the user presses the button OS just stops. You can't check status, you can't navigate anywhere else in the instance. The button remains depressed seizing hold of your instance until the DM sequence is complete. The issue is this sequence takes up to 30 minutes to complete. You can open a new instance and move on, but that is highly inconvenient. Is there a way to set it up in the assembly dashboard extender that the DM sequence runs as a background job, and the button doesn't need to stay active until complete? Thanks,
I can extract data by using SQL in the System and Application Tables, but I don't know how to extract the Data from the System Tab -> Logging -> Logon Activity, Task Activity or Error Log. If I choose right click and export, then I just get the current screen. Thanks in advance of any help / suggestions. Tom
I am trying to write a parser business rule to give the portion of a string that begins with US and the 6 characters after from a data source. For example, the imported line reads "mmmmmmmmmUSxxxxxxmmmmmmm" and I want to parse out USxxxxxx to which is mapped in the transformation rules. I also need it to be dynamic because the line will not always be in the same character place. It could also be "mmmmmUSxxxxxxmmm" or anywhere else within the text. I have tried using the rule below but it is not bringing back any values. The import is reflecting "blank." Dim sText As String = args.Value Dim result As String = "" If sText.Contains("US") Then result = sText.Substring(sText.IndexOf("US"),8) End If Return result
Hi, I am trying to achieve variance and change sign flip using UD8 member and based on account type however it is working for some accounts and not for all types of accounts. If someone handles the situation thru UD8 member, please share your experience or thoughts here. Thank you. Here is the quick code snipped what I am using. Dim acctType As String = api.Account.GetAccountType(api.Pov.Account.MemberId).NameIf api.cons.IsLocalCurrencyForEntity And acctType.XFEqualsIgnoreCase("Asset") Then api.data.Calculate("UD8#MonthlyVariance=RemoveZeros((U8#None:T#Pov-U8#None:T#PovPrior1))")Else If api.cons.IsLocalCurrencyForEntity And acctType.XFEqualsIgnoreCase("Liability") Then api.data.Calculate("UD8#MonthlyVariance=RemoveZeros((U8#None:T#Pov-U8#None:T#PovPrior1)*(-1))")End If
I am developing a member formula which uses Percent Of Ownership in calculation. I am using the following to get Percent of Ownership: Dim pOwn As Decimal = api.Entity.PercentOwnership(entityID, parentID) In the context of this calculation I have parentID but I only have a name for the entity. How can I get the Member ID from the Member Name? Additional question: what will the code above return if there is NO parent/child relationship between parentID and entityID? "0"? Thanks in advance. Yan
Hi all, I am baffled as to why I am unable to retrieve the Text2 ( or 3 or 4 ) attribute value in a workflow profile. I use the following code to get the Text1 value : Dim wfClusterPK As WorkflowUnitClusterPk = si.WorkflowClusterPk Dim wfScenarioTypeID As Integer = BRApi.Workflow.General.GetScenarioTypeId(si, wfClusterPK) Dim sVarStep2 As String =BRApi.Workflow.Metadata.GetParent(si,args.SubstVarSourceInfo.WorkflowUnitInfo.ProfileName).GetAttributeValue(wfScenarioTypeID, 18000) However, if I substitute 20000, 22000 or 24000 as the attribute it will not apply this in the business rule. I have checked the database tables and the values are there with those attribute values and the scenarioTypeId is set to 0 for Actual. Here is the database filter, so the value are there, but why even I hard code the scenariotype as 0 will it not retrieve these values for me. At present, am only just trying to get them to show in the error log. I am running the cubeview from the workflow profile, previou
Hi All Does anyone know if you can get the current member name in a Member Formula? As an example, I have the UD8 member UD8 AverageRate_Budget - I want that information without manually adding a variable. I have a lot of members whose member names contain all the information for their value. It would save me a lot of time if I had one script that I could copy to all the members without editing them to update the member name. The members are DynamicCalc if that makes a difference. I have tried args.DataCellArgs.FunctionName and args.CustomCalculateArgs.FunctionName but they both raise an error. Thanks Marcus
We have a job that leverages the Global Time and Scenario to copy Actuals over into our Fcst Scenario. My question is around the ability of a BR to change data in a certified scenario. From what we are finding, even if we certify the Fcst Scenario, when the rule runs and the Global period has not changed, the BR copies/updates the Fcst period with Actuals. Part of the problem is that sometimes we have to move the period forward for our operational folks while we are still working on Fcst so the Global Fcst scenario stays the same but the period get moved. This then creates a situation where our DM jobs update the current period (Import Origin) with $$ which throws off our Fcst. My question is: Is there a systematic way to prevent this or do I need to add logic in my BR to check the status of something (note: this copy is not tied to any WF's, just a general copy this to that). Goal is that once we certify our Fcst WF's (Entities are tied to these WF's), no
I am writing to the community to see if anyone knows of a way to programmatically update a Parameter from a Business Rule to update the Filter Property (for a Member List or really any type of list). I can see the way to set the "Default Value" of a property but not a way to update the List which the property gets its values from. The member Filter is set to just reference Net Sales, but what I'd like to really do here is build the Member Filter from a list that I create in a business rule (Dashboard Extender, call to an Extender Rule, etc). I only see these options: This will set the value to 2024, but it has to be already in the List... This throws an error after the 1st entry, but still won't render in a combo box because I'm not really adding it to the List of Member Filters... This will set the 1st value, but doesn't work for a list ... only 1 value... I don't see in the api an ability to modify the Filter property or really inspect a parameter and change its other properties.
Hi there!I am using OS v8.1 and SIC with latest ERPConnectStandard20.dll and the other dlls.I can connect to SAP and retrieve data using READTABLE. Now I am trying to use CreateFunction but I am struggling.In my Smart Integration Function I have this : Imports System Imports System.Collections.Generic Imports System.Data Imports System.Data.Common Imports System.Globalization Imports System.IO Imports System.Linq 'Added for SAP ERP Connect Imports Microsoft.VisualBasic Imports ERPConnect Imports ERPConnect.Utils Namespace OneStream.BusinessRule.SmartIntegrationFunction.SAPTest8 Public Class MainClass Public Shared Function RunOperation() As DataTable Dim r3Conn = New R3Connection("1.1.1.1", "00", "user", "pass", "EN", "224") r3Conn.Protocol = ClientProtocol.NWRFC r3Conn.Open() Dim r3Func As RFCFunction = r3Conn.CreateFunction("BAPI_MATERIAL_GET_DETAIL") r3Func.Exports("MATERIAL").ParamValue = "1001" r3Func.Execute() Return r3Func.Imports("MATERIA
Hello community, Has anyone used a cube view extender rule to change between the portrait/landscape paper orientation on a PDF report? In our example, we are trying to use a parameter that allows the user to select the column template set needed, and although the idea of calling out the CV column template name sounds logical, I don't think OS has the capability to do this, similar to a column name as shown in the below example. Putting it out there just in case, as I promised our user we will explore different avenues.
Hi All, Is there a way to the use cb#cube in the data buffer FilterMembers? I'm trying the following, but it does not work. Dim sourceBuffer As DataBuffer = api.Data.GetDataBufferUsingFormula("RemoveZeros(FilterMembers(Cb#Cube:V#Periodic, [A#123.Base], [U7#Top.Base]))",) Thanks.
I have an XFBR on the time filter on a Data Management step that pulls a list of time. When I run it on the Data Management tab it runs just fine and works. Now when i try to put that on a button to run on a dashboard, I get an error. I have tried using the Execute Data Management Sequence Server Task as well as running it through an extender rule. I am passing the required parameters to the either situation but im still getting an error? Why would it work on the Data Management Tab and not work while running it through a button?
I was wondering if it is even possible to create a transformation rule which involves different dimensions like the following composite A#[5000-0002]:UD4#[2010]:UD2#[2412] but adding ranges to it. so instead of having 10 different TR that have the UD4 going from 2010, 2011, 2012 to 2020, have only one composite including a range for the UD4 mentioning 2010~2020. Is that possible? what would be the TR be?Thanks
Does anyone know how to get access to the "OneStreamGatewayService" Import through a Smart Integration Function in OneStream WinApp. I am trying to run remote business rules/ remote queries through SIC but cannot seem to find any documentation related to SIC Server assemblies needed, or BR Assemblies needed to access this Import. See line 10 below
Hello Community, I have a puzzler for you. My confirmation rule is set to evaluate a data intersection. If the intersection is greater than zero, then an annotation is required in another intersection. I have tested both of the intersections in a quick view to ensure I have identified the correct data intersection members. When tested, the rule identifies the numeric intersection (first condition), delivers the error message, but does not identify the annotation intersection as being present. Below is the rule: 'Check an Account value and if it is greater than zero, request a comment be made to a Cube View under the Analysis section of this pageargs.ConfirmationRuleArgs.DisplayValue = api.Data.GetDataCell("Cb#Consol:E#" & api.Pov.Entity.Name &":T#WFPrior3:C#Local:S#Actual:V#YTD:A#9610:F#EndBalInput:O#BeforeAdj:I#None:U1#Admin:U2#Top2:U3#TLOB:U4#None:U5#None:U6#None:U7#USGAAP:U8#None").cellAmountIf args.ConfirmationRuleArgs.DisplayValue = 0 Th
How can we reference substitution variables like |CVYear| in a Business Rule? These variables are great for Cube Views, but now I'd like to access it directly in a Business Rule (custom calculate). Dim ExampleCVYearDataBuffer As DataBuffer = api.Data.GetDataBufferUsingFormula( "T#[CVYear]" ) Error processing Data Management Step 'Enrollment'. Unable to execute Business Rule 'zzzAdjRevenueDriverValue'. Invalid script 'T#[CVYear]' near 'CVYear'. Dim ExampleCVYearDataBuffer As DataBuffer = api.Data.GetDataBufferUsingFormula( "T#[|CVYear|]" ) Error processing Data Management Step 'Enrollment'. Unable to execute Business Rule 'zzzAdjRevenueDriverValue'. Invalid script 'T#[|CVYear|]' near '|CVYear|'. At a minimum I'd like to know how to print the contents of the variable CVYear to the log. api.LogMessage("Value of |CVYear| " & BRApi.Dashboards.Parameters.GetLiteralParameterValue(api.SI, True, "CVYear") ) api.LogMessage("Value of |CVYear| " & BRApi.Da
I am building a Dashboard XFBR String to return a different Origin member depending on whether the time is before or after 2020. If the time is equal to or prior to 2020, it returns "Top". If the time is 2021 or newer, it returns "BeforeElim". The time is selected by a parameter when the user launches a cube view. The issue I am facing is using multiple time periods in a report. I need one time column to return 2020M12, and another column to return 2021M1. This is pulled as T#FirstPeriodInYearPrior1(|!TimeParameter!|) and T#|!TimeParameter!|, respectively. My XFBR can read |!TimeParameter!| but not the time function result. Typically, I would use Time = parameter, but if I do that it cannot return two different results for the 2020 and 2021 time periods. CVTime does not work here either as I'm specifying the time in the member filters instead of the POV. MFTime gives an error if I try to use it.. Any help is appreciated. I am not sure how to make the XFBR acknowledge the ti
Hi, Can someone suggest if the text file can be converted into xml file via business rule?
Hi Community, I have a rule that is using DataBuffer to copy data from 1 cube to another. The 2 cubes use separate Flow Dimensions . right now I have given in the following way : Is there any way I can give individual mappings of the base members instead of copying parent data. For example :Suppose BGBAL and EBAL are base members of F#SF_Movement. Map F#BGBAL in source Dimension to F#BegBal in Destination Map #EBAL in Source Dimension to F#EndBal. in Destination Is such data mapping possible ?. Thanks for the help.
Already have an account? Login
No account yet? Create an account
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.