Recent Content
Is it possible to wrap text in a column header and change its width within a Cube View?
Answer Text wrapping is not currently available within a Cube View itself. This functionality is offered in Excel or within a grid view component showing next to the data explorer then set word wrapping on the grid view within a dashboard. Source: Office Hours 2020-05-17 Partner Enablement1.7KViews12likes0CommentsExtender: Auto Update Member Property
This snippet will modify a Member property that can vary by Scenario Type and/or Time. Just pass the relevant ScenarioType ID or Time member ID to set it in a more specific way; it will then appear as a "Stored Item" in the interface. Note: SaveMemberInfo does not create entries in Audit tables, which means the Audit Metadata report will not contain anything related to this operation. For this reason, we do not recommend to use this snippet outside of implementation activities or in production environments. 'Get the MemberInfo object for the member you want to update, in this example an Account. Dim objMemberInfo As MemberInfo = BRApi.Finance.Members.GetMemberInfo( _ si, DimType.Account.Id, "<Member Name>", True) ' Retrieve member properties so we can modify them. Dim accountProperties As AccountVMProperties = objMemberInfo.GetAccountProperties() ' change the Account Type accountProperties.AccountType.SetStoredValue(AccountType.Revenue.Id) ' change default Text1 value ' if you want to set it for a specific ScenarioType and/or time, ' use the relevant values in the first 2 parameters accountProperties.Text1.SetStoredValue( _ ScenarioType.Unknown.Id, DimConstants.Unknown, "<UpdatedValue>") 'Save the member and its properties. Dim isNew As TriStateBool = TriStateBool.TrueValue BRApi.Finance.MemberAdmin.SaveMemberInfo(si, objMemberInfo, False, True, False, isNew)Filter IC Dimension by Entity Property
A common requirement for reporting is to be able to filter the IC dimension by some property that exists only on the original Entity members. This can be achieved with a custom Member List defined in a Finance business Rule. Select Case api.FunctionType ' MemberListHeaders support is optional but good practice Case Is = FinanceFunctionType.MemberListHeaders Dim mListHeaders As New List(Of MemberListHeader) ' add the name of your list: mListHeaders.Add(New MemberListHeader("withText1")) Return mListHeaders ' Here we do the real work Case Is = FinanceFunctionType.MemberList If args.MemberListArgs.MemberListName.XFEqualsIgnoreCase("withText1") Then ' this list of members will be populated later Dim ICs As New List(Of Member) ' amend parameters as necessary here Dim dimensionName as String = "CorpEntities" Dim memberFilter as String = "E#Root.Base.Where(Text1 <> '')" ' filter the Entity dimension by some criteria Dim entities As List(Of MemberInfo) = brapi.Finance.Members.GetMembersUsingFilter(si, _ brapi.Finance.Dim.GetDimPk(si, dimensionName), _ memberFilter, _ True) ' retrieve IC members corresponding to the selected Entity members ' and push them into output list For Each entityMInfo As MemberInfo In entities if entityMInfo.getEntityProperties().isIC then ICs.Add(brapi.Finance.Members.GetMember(si, dimtypeId.IC, entityMInfo.Member.Name)) end if Next ' wrap with the MemberList object and return Return New MemberList(New MemberListHeader("withText1"), ICs) This can then be referenced in CubeViews and elsewhere like this:Question: Is there any security options to limit a user's ability to submit data using excel?
Answer Submitting data via excel will respect the security model set up in OneStream. So consider typical security setup. Also consider using constraints to manage "valid" data intersections. Inputting data via set cell will get tracked in the audit logs, however, clearing this data can be problematic if you wish to clear all out all submitted cells. Rather than using set cell, another option is to set up an excel import which would go through stage and allow for clearing of the data set. There is a pending enhancement request to have an option available to restrict some users from submitting via excel. Source: Office Hours 2020-7-2 - Partner Enablement937Views7likes3CommentsFinance Dynamic Calc: Annotations Consolidations
This DynamicCalc formula consolidates Annotations for entities in a hierarchy. 'Cube View definition 'Row Definition: E#[Total GolfStream].tree 'Col1 Definition: V#Annotation:Name("Comment") 'Col2 Definition: V#Annotation:UD8#DynamicTextCons:Name("Consolidated") 'UD8 Member setup 'Name: DynamicTextCons <-- If this is changed it must be updated in the CV Col2 definition above. 'Formula Type: DynamicCalc 'Allow Input: True 'Is Consolidated: False 'In Use: True 'Assign the formula below to the UD8 member to show the consolidated text Dim iEntityID As Integer = api.pov.Entity.MemberId Dim iETestID As Integer Dim strETestName As String = string.empty Dim eTest As Member Dim sSave As String = string.empty Dim sSource As String = string.empty If api.View.IsAnnotationType Then If api.Entity.HasChildren() Then For Each etest In api.Members.GetDescendents( _ api.Dimensions.GetBaseDim(dimtypeid.Entity).DimPk, iEntityID) iETestID = etest.MemberId sSource = api.Data.GetDataCellEx("U8#None:E#[" & etest.Name & "]:C#" & _ api.Entity.GetLocalCurrency(iETestID).Name).DataCellAnnotation If Not sSource.Equals(String.Empty) Then sSave = sSave.Trim & "; " & eTest.Name & ": " & sSource End If Next Else sSource = api.Data.GetDataCellEx($"U8#None:E#[{api.pov.entity.Name}]").DataCellAnnotation If Not sSource.Equals(String.Empty) Then sSave = ";" & sSource End If End If End If If Not sSave.Equals(String.Empty) Then Return right(sSave, len(sSave)-1).Trim Else Return Nothing End If Source: Snippet Editor: Finance - Common Account - DynamicCalcHow can I bypass importing lines of data?
'Check the parsed value for the criteria string If StringHelper.FindIgnoreCase(args.Value, "[String To Find]") Then ' Set the bypass switch on the globals object ' in order to tell the parser engine to skip this line. globals.Bypass = True End If Return args.Value2KViews4likes0CommentsQuestion: Is there a way to report the total of a group of members based on a text attribute with multiple dimensions in a row?
Question (cont) The example below is for an operating expense that I want to be filtered using a text property of “HP” (a specific business line). I thought the following would work, but it is still pulling in the total company business line, not just a total of the “HP” UD3 members. A#Marketing:U1#TotalBU:U2#Top:U3#CustomerGroup_0002.Base.Where(Text1 contains HP):Name(Market) I don’t need an expansion of the customers (UD3) but a total of the relevant members. Answer Using CVR Math in a cubeview row will not work in this situation. CVR Math Example A Dashboard XFBR String will be needed to aggregate the members with the Text property to produce a total. XFBR Example Source: Office Hours 2021-02-04 - Partner Enablement2.6KViews4likes0CommentsQuestion: Is there any documentation to help in discussing calculated/derived values showing grey/black values?
Answer •Generally, derived values are dependent upon Scenario No Data zero view settings or overrides to the Account No Data Zero View Settings which dictate how the system interprets the lack of data on an intersection basis. •In cases like the below, data that doesn’t change YTD based on the no data zero view settings will appear as grey. •You can set a text color on the Cubeview (i.e black) so all values show in a single colour, which would override the default grey/black. •You can also use a UD8 dynamic rule to hide derived values in future periods, if necessary. Source: Office Hours 2020-06-18.1.4KViews4likes0Comments