Discuss formulas and business rules for your application.
Recently active
Hi all,I'm developing a dashboard that will likely be used by 10 different people. I'd like to lock the access to other users if one user has the dashboard already open (and maybe until he/she clicks on a button to unlock it?)Does anyone have a reliable approach to do this?Thanks in advance!
Hi I have created a member list on Account dimension members to pull accounts with Account type "Balance Recurring". Now I need to use this member list in Finance BR - Calculate Function Type to loop through this member list and copy data from December to Jan.I would like assistance on the syntax to filter by this member list on a data buffer function to pull the December data. Also I would like to know whether the member list will be executed one time and stored in the memory and used across all entities OR will it be executed for each entity when it runs through the consolidation process?I want to make sure using member list to achieve this data copy is performance efficient than directly filtering the members within the Finance Calculate BR using api.Data.GetDataBufferUsingFormula("RemoveNoData(FilterMembers(A#Root.Base.Where(AccountType = 'BalanceRecurring')
Hi ! I want to confirm a data management behaviour... Right now I have data in a driver on Entity 9999, that I need in order to calculate data on entity 1032. The output should be on entity 1032. I am using a data management job where the DUCS are set for Entity 1032. However when I run the DM, my data buffer is not getting any data for Entity 9999. I think somewhere someone mentioned that using SetDataBufferVariable you can retain data in the whole Data Management sequence, so I tried to change the Data Management DUCS to "E#9999, E#1032". But the variable seem to be cleared when cycling to the second entity. Then my question is : How can I get my data buffer to "read" data from another entity (E#9999) when my data management job run on E#1032 ? Here's my code which obviously doesn't work at the moment. The goal is simply to have databuffer1 get data from Entity 9999, and databuffer2 to get data from current entity 1032: Dim dbr1 As DataBuffer = NothingIf api.Pov.Enti
Hi all,I'm working on a Business rule that will be triggered as soon as a user clicks on a button within a dashboard.Is there a way to retrieve the Username of the user that clicks on the button? Thanks in ad
Hello - is there a way to make the below work inside GetDataBufferUsingFormula .Getting Error processing script 'V#Periodic:F#EndBal_Input:A#:U1#USF02'.Dim SrcDataBuffer As DataBuffer = api.Data.GetDataBufferUsingFormula("FilterMembers(V#Periodic:F#EndBal_Input:S#Actual:T#" & sLastActMth & ":U1#" & mCostCenter.Member.name & ",[A#[PNL].Base.Where((Name StartsWith '4') or (Name StartsWith '5') or (Name StartsWith '7') or (Name StartsWith 'X'))], [U3#[TopUD3].Base],[U2#[TopUD2].Base])").Looks like not recognizing filter with 'or' inside where clause. Below works fine without an 'or' condition.Dim SrcDataBuffer As DataBuffer = api.Data.GetDataBufferUsingFormula("FilterMembers(V#Periodic:F#EndBal_Input:S#Actual:T#" & sLastActMth & ":U1#" & mCostCenter.Member.name & ",[A#[PNL].Base.Where(Name StartsWith '4')], [U3#[TopUD3].Base],[U2#[TopUD2].Base])").
Hey all, I'm struggling to figure out how to define a TableViewColumn to be of type Decimal instead of the default type being Text. I'm in the section where I create a TableViewRowHeader and adding TableViewColumns to it. I can create a new column: Dim myTableViewColumn As New TableViewColumn myTableViewColumn.Name = "Col1" But when I try to set the type to this column, I get an error " Input string was not in a correct format." when trying to retrieve the table: myTableViewColumn.DataType = XFDataType.Decimal Is this syntax correct? I'm assuming that it's in the column definition where I should be defining the datatype but now not so sure. Hopefully someone can point me in the right direction. As a side note, page 15 in the Table Views User Guide makes reference to a function called CreateTableViewColumn. Is this a custom function or part of the OS library. The compiler doesn't recognize this function.
Is there any way we can use the transformation profile one to one mappings in a data table. Preferable to use in a connecter Drill back code. Is there any Data base table for the same.If not, we have a create a custom XFC table in application DB to refer the same that replicates the transformation profile.
Hi all,the SetDataCell command I am trying to use is behaving in a strange way and I would like to check if that is a bug, if it is by design, or if I may be doing something wrong.I am trying to use the SetDataCell command to clear data on the Origin=Forms. The command looks like this (it is part of a custom calc rule):'Clear data on the Form memberapi.Data.SetDataCell("Cb#Main:E#" & MainPovEntity & ":S#" & MainPovScenario & ":A#AC410000:U1#None:U2#None:U3#" & UD3Name & ":U4#None:U5#Local_GAAP:U6#None:U7#None:U8#None:O#Forms", 0, True)Now, if the UD3 member which I am trying to clear has data on the Origin=Import member, the Forms member is correctly set to zero by the rule. However, if the UD3 member has no data on the Origin=Import member (on that specific Pov intersection defined by the rule above), the Forms member retains its value. Anyone else experienced this behavior? Thank you
Hi, I'd like to use the ClearStageData function within a business rule. I am already successfully using other similar functions like ExecuteParseAndTransform or LoadCube. This is the sample given within OneStream: Dim objLoadTransformProcessInfo As LoadTransformProcessInfo = BRApi.Import.Process.ClearStageData(si, wfClusterPk, sourceId) The issue I have with the ClearStageData function is that I don't understand what I should pass as sourceId. Can any of you clarify it or point me to any relevant documentation? Thank you
The below code copy the Prior Period FX Rates from one Type to Another. This will read the currency from the application properties. I have hard coded the Period but you can use WF or Global or Param and call in the DM/Dashboard. 'Get the Period Dim CurrentPeriod As String = "2021M1" Dim PriorPeriod As String = "2020M12" 'Get Currency from properties Dim objAppProperties As AppProperties = BRApi.Utilities.GetApplicationProperties(si) Dim currency() As String = objAppProperties.CurrencyFilter.Split(",") 'Add FX rates For Each c As String In currency Dim fxRatePkUsingNames As New FxRatePkUsingNames("AverageRate", PriorPeriod, c.ToString, "USD") Dim objFxRateUsingNames As FxRateUsingNames = BRApi.Finance.Data.GetStoredFxRate(si, fxRatePkUsingNames) If objFxRateUsingNames.Amount > 0 Then Dim fxTargetRatePkUsingNames As New FxRatePkUsingNames("ActPriorMon", CurrentPeriod, c.ToString, "USD") Di
We have a dashboard with a button that displays a dialog for user entry. The base dashboard has a cubeview that needs to refresh based on the values modified via BRApi.Finance.Data.SetDataCellsUsingMemberScript() calls. We are using a XFSelectionChangedUIActionType.CloseDialog task result to close the user entry dialog. Is there a way to programmatically refresh the base dashboard?
I need to test if a workflow channel is locked in a BR before performing the BR actions. Can I test if the channel is locked? How?
The display of the parameter shows 2 Accounts selected but when retrieving the parameter in the business rule only the first one is passed.If I display the list box selections on the dashboard it shows the correct selections, comma separated.If a comma is in the string that is passed to the Business rule, only the information before the comma is recognized. If there is no comma, the whole string is recognized. Label:Copy '|!Prm_SourceScenario_QMC!|' To '|!Prm_TargetScenario_QMC!| ' For A# '|!Prm_SourceAccount_QMC!|' , T#'|!Prm_SourceTime_QMC!|' , V#'|!Prm_SourceView_QMC!|' , F#'|!Prm_SourceFlow_QMC!|' Button:{CopyQuorumToForecast_QMC}{Prm_SourceScenario_QMC=[|!Prm_SourceScenario_QMC!|], Prm_TargetScenario_QMC=[|!Prm_TargetScenario_QMC!|], Prm_SourceAccount_QMC=[|!Prm_SourceAccount_QMC!|], Prm_SourceTime_QMC=[|!Prm_SourceTime_QMC!|], Prm_SourceView_QMC=[|!Prm_SourceView_QMC!|], Prm_SourceFlow_QMC=[|!Prm_SourceFlow_QMC!|]} &n
Hi Experts,I want to limit my cons member only to "Elimination". can I use "api.pov.cons.Name.XFEqualsIgnoreCase("Elimination")"
Hi Experts,When do we exactly use DataBuffer1, DataBuffer2 in rules. while we have databuffer in api.much appreciate if one example can be provided atleast
Hi Experts,I am trying to read the member ID in data buffer to assign some values accordingly, But it is giving in correct ID seemsin the log file i can see ID as "-1" , Generally Member ID was different in the dimension library if this is readying correctly - Kindly confirmDim vSrcUD2Split As String() = Split(sText2,":")Dim GetUD1Ac As String = Trim(vSrcUD2Split(0)):Dim GetUD1Mvt As String = Trim(vSrcUD2Split(1))Dim vTgtActID As Integer = api.Members.GetMember(DimType.Account.Id,GetUD1Ac).MemberPk.MemberIDapi.LogMessage(vTgtActID) Outcome is : -1
Hi,I'm using a Derivative Check Rule for the first time - using the sample available in GolfStream (HoustonSalesDetailOffset > ValidateCheckSum) - the Rule itself is working fine, I am getting the correct Pass/Fail Status. My question is where can I expect to see the CheckRuleMessage displayed?GolfStream Sample: My Result (partial screenshot only as from Client App):It feels like there's a column missing from the screen? Or perhaps it should be a pop-up window on the right like with other Validation/Intersection errors?Thanks in advance for any help!
I have a case where the client needs to add members to a dimension regularly and the ADM, Add Dimension Members, dashboard is idea as found in GolfStream. However, there is a problem in the ADM_SolutionHelper rule that stops this from running. It doesn't compile properly. Error compiling Business Rule 'ADM_SolutionHelper'. 1) Error at line 136: Property 'Name' is 'ReadOnly'. 2) Error at line 137: Property 'DimId' is 'ReadOnly'. Can someone explain how to resolve this please.
Hi, I'm trying to copy data from Actuals into Forecast, but it seems to only work for Input and Forms Origin members, and not for Adj. Here is my formula, which I put on the Forecast Scenario: 'Copy data from Source Scenario for months 1-5 Dim currMonthNum As Integer = api.Time.GetPeriodNumFromId(api.Pov.Time.MemberId) Dim sScenario As String Dim ScenarioSource As String = api.Scenario.Text(api.Pov.Scenario.MemberId, 1) If ScenarioSource = "" Then sScenario = api.Pov.Scenario.Name Else sScenario = ScenarioSource End If If currMonthNum = 1 Or currMonthNum = 2 Or currMonthNum = 3 Or currMonthNum = 4 Or currMonthNum = 5 Then If api.Cons.IsLocalCurrencyforEntity() And Not api.Entity.HasChildren() Then api.Data.Calculate("S#Forecast2:A#All = S#" & sScenario & ":A#All") api.Data.Calculate("S#Forecast2:A#All:O#AdjInput = S#" & sScenario & ":A#All:O#AdjInput") End If End If Not sure what I'm doing wrong. Any ideas? Thanks!
Does anyone know if it's possible to access XFStrings through Business Rules? We are adding other languages to our application and we are using XFStrings for Cube Views and Dashboards. We want to present our custom BR error messages in the user's chosen language so we thought XFStrings would be a good place to keep them. However we don't know if it's possible and if it is possible, how to do it. We are currently using Transformation Rules for some other areas but we want to have a single place where the translations can be managed. Thanks
Hi,I have a data management step which runs an extensibility rule. In the rule I am using the “Throw New XFUserMsgException” command to return error messages.For example:Throw New XFUserMsgException(si,"","","Error: Copy cannot be completed. Source Scenario/Year must be different from target Scenario/Year")Gives the following result when conditions are met: When the step completes without error a box message appears, like the following one: How can I control the message shown when the step is successfully completed? I.e., how do I return a message in a box message without throwing an error?
Hi All,We have a requirement where we need to write a custom consolidation rule for Subsidiary(Method) entities.Kindly provide us with a sample business rule along with the functions to be used. so that we can modify as per the business need.Requirement:1) Subsidiary: Entity owned at = 57%.2) The Subsidiaries financial statements are consolidated and eliminated. 3) The Equity associated with the subs financial statements are eliminated against the Holding companies Investment in the sub. 4) The owned portion of Equity is eliminated and the unowned portion is reclassed to Minority Interestregards,BCG
Got a task to copy certain file from FileShare to Documents\Public because users security settings. Wanted to go with the standard System.IO.File.Copy(strSourceFile,strTargetFile) where source and targets are sting. Can get full source file path using the FileShareFolderHelper. However can't get full path to the target, that is under FileSystemLocation.ApplicationDatabase. Any suggestions how can I get the target path or otherwise copy the file in question?
Within the Extender business rule used to integrate with our ERP system I would like to loop through all the "Import" steps within a specific node of workflow hierarchy and to read the values of the "TextX" properties. I've heard that this is possible but have no idea where to start. Any guidance would be greatly appreciated. Yan
Hi guys,I coudn't find the proper hint in OneStream.In my dashboards, I'm using several XFBR string rules or Dashboard extender rules. I would like to move some of them to Workspace assemblies, available starting version 7.4. If I do so, does anybody know how to call a function in there?Stupid example, I'm defining the position of a temporary file to download with an XFBR rule called MyXFBR, function CleanUsername.UrlOrFullFileName=[Internal/Users/XFBR(MyXFBR, CleanUsername)/Temp/FileToDownload.csv] Now I've created the same function CleanUsername in a Workspace assembly named MyAssembly, in a file named FolderManagement.vb. How this should be amended?XFBR(MyXFBR, CleanUsername)?? XFBR(MyAssembly, FolderManagement, CleanUsername) ?? it doesn't look very good.... That's pretty new, but I hope a few guys in this community have used it already.
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.