Recent Discussions
Supplied parameter tied to Bound List not returning value
Hi community, I have an issue where i have a member list tied to a bound list. The bound list uses a SQL query to get the top member of a given dimension. I have this bound list tied to a supplied parameter that I have attached to a dashboard. The issue is that when I run the dashboard, it is not triggering the bound list, even though i am using the supplied parameter. If I remove the supplied parameter and run the dashboard, it prompts me with the bound list parameter showing the value i want to return, and thereafter, when i put the supplied parameter back it works. It seems like the system needs to trigger the bound list first, but I haven't found a way to do so yet. Any thoughts?Mike_Sabourin18 hours agoContributor II5Views0likes0Comments- SikandarHamid3 days agoNew Contributor12Views0likes1Comment
Version 9.0 Redacting information in Error Log
Dear Community Members, Has anyone experienced information in the log being redacted. I found this in the latest documenation. However, i see no pattern of what is considered sensitive. I have a data table dump in the decimal positions are redacted. I am logging the keys and values of two dictionaries. in both dictionaries the value is an integer. One value is shown while the other value in redacted. Both values come from a text member of a dimension member. In other cases i am logging the name of the business rule and the name of the function. Sometimes the RULENAME is redacted, sometimes it is not. Which leads me to believe that the logic thinks that the name is sensitive?! Is this sensitivity controllable maybe on the app settings on the server? Cause it seems overly sensitive or plainly wrong in determining what is sensitive and what is no.WernerN5 days agoContributor II75Views0likes6CommentsSubtle bug in Example for Dynamic Dimensions
In the example code for the Dynamic Dimension Service there appears to be a subtle bug which will affect refresh of the dimensions. ReadDynamicDimensionInfo(...) returns DateTime.Now: ' This api method will build the required object, straight from an SQL query. Return api.ReadDynamicDimensionInfo(si, args, DateTime.Now, numSecondsBeforeCheckTS, _ dbConn, sql.ToString, Nothing, Nothing, _ "Name", "Description", "UniqueID", "Name", "Parent", "ParentID", "Parent", "AggWeight", True) BUT ReadDynamicDimensionContentTimestamp sets the Timestamp as DateTime.UTCNow: 'Refresh once per minute (note: frequent refreshes such As one minute could degrade performance). Dim utcNow As DateTime = DateTime.UtcNow Return New DateTime(utcNow.Year, utcNow.Month, utcNow.Day, utcNow.Hour, utcNow.Minute, 0, 0, DateTimeKind.Utc) This will matter if your refresh period is < 13(?) hours AND if your TimeZone is ahead of UTC...... It's an easy fix though! SteveSteveK8 days agoNew Contributor III43Views2likes8CommentsWhat does api.Data.GetRelationshipChanges(dimensionName, startDate, endDate) return?
Hello, I already have a data file for cost centers and their Default values, but now I need to include the before and after changed values to the cost center member. I found this code: Function GetRelationshipChangesForTimeSpan(ByVal api As Api, ByVal dimensionName As String, ByVal startDate As DateTime, ByVal endDate As DateTime) As List(Of RelationshipChange) ' Initialize a list to store relationship changes Dim relationshipChanges As New List(Of RelationshipChange) ' Use the API to retrieve relationship changes relationshipChanges = api.Data.GetRelationshipChanges(dimensionName, startDate, endDate) ' Return the list of changes Return relationshipChanges End Function How can I tell what data it's actually returning, what columns? Is there a better way to do this? Any help is greatly appreciated! Thanks!cap0811 days agoNew Contributor III25Views0likes2Commentsis there a way to check the total value on each account in the staging?
Hi Community, We have a requirement to bypass lines from the source data for each account if the total equals to zero, regardless of the UD1 value. For example if these two lines are in the source data: Account 1, UD1_1, -100 Account 1, UD1_2, 100 we want to bypass account 1. Is there a way to achieve this result? in our case this is happening because we are adding UD1 in the source system and it's triggering a lot of unused accounts to now appear on our staging table because of the different UD1 members.saz14 days agoNew Contributor32Views0likes2CommentsHow can I subtract the result of two DIVIDE operations within a CALCULATE function?
Hi Everyone. I have the following CALCULATE expression, but it’s returning no results. The source values are not zero, so I’m not sure if the way I’m using the DIVIDE function is causing the issue, or if there is another problem Dim DBCInner As DataBuffer = api.Data.GetDataBufferUsingFormula("FilterMembers(A#RETBUYBACK:E#" & strEntTx3 & ":C#Local:O#Top:U2#INNER:UD3#COUNTRY_RPT + A#423100:E#" & strEntTx3 & ":C#Local:O#Top:U2#INNER:UD3#COUNTRY_RPT + A#411000:E#" & strEntTx3 & ":C#Local:O#Top:U2#INNER:UD3#COUNTRY_RPT)") api.Data.FormulaVariables.SetDataBufferVariable("DBCInner",DBCInner,False) Dim regionalRpt As DataBuffer = api.Data.GetDataBufferUsingFormula("FilterMembers(A#RETBUYBACK:E#" & strEntTx3 & ":C#Local:O#Top:U2#INNER:UD3#REGIONAL_RPT + A#423100:E#" & strEntTx3 & ":C#Local:O#Top:U2#INNER:UD3#REGIONAL_RPT + A#411000:E#" & strEntTx3 & ":C#Local:O#Top:U2#INNER:UD3#REGIONAL_RPT)") api.Data.FormulaVariables.SetDataBufferVariable("rptValue",regionalRpt,False) api.Data.Calculate("A#P_EBIPrct:O#Import:U2#P0000:UD3#REG_ADJ:U4#PJ00000 = Divide($rptValue,A#411000:E#"& strEntTx3 &":C#Local:O#Top:U2#INNER:UD3#REGIONAL_RPT) - Divide($DBCInner, A#411000:E#" & strEntTx3 & ":C#Local:O#Top:U2#INNER:UD3#COUNTRY_RPT)") I would appreciate your assistance.Marco18 days agoContributor II27Views0likes1CommentPeriodic data copy from YTD scenario
i have blow code to copy the periodic values from YTD scenario but it didn't work Dim sourceBuffer1a As DataBuffer = api.Data.GetDataBufferUsingFormula("FilterMembers(S#" & sSourceForecast & ",V#PERIODIC,A#Top.Base,O#AdjInput)", DataApiScriptMethodType.Calculate, False, destination) Dim sourceBuffer1b As DataBuffer = api.Data.GetDataBufferUsingFormula("FilterMembers(S#" & sSourceForecast & ",V#PERIODIC,A#Top.Base,O#Forms)", DataApiScriptMethodType.Calculate, False, destination) Dim sourceBuffer1 As DataBuffer = sourceBuffer1a + sourceBuffer1b If (Not sourceBuffer1 Is Nothing) Then Dim resultBuffer1 As New DataBuffer() For Each sourceCell As DataBufferCell In sourceBuffer1.DataBufferCells.Values Dim resultCell As New DataBufferCell(sourceCell) If sourceCell.CellStatus.StorageType=DataCellStorageType.Input _ Or sourceCell.CellStatus.StorageType=DataCellStorageType.Journals _ Or sourceCell.CellStatus.StorageType=DataCellStorageType.DurableCalculation Then resultCell.CellAmount = sourceCell.CellAmount resultBuffer1.SetCell(si, resultCell,True) End If Next api.Data.SetDataBuffer(resultBuffer1, destination,,,,,,,,,,,,,True) End If is there any other code suggestion?Manjunathak18 days agoNew Contributor III27Views0likes1CommentCustomize scenario visibility for some entities
Can someone help with creating a BR to customize scenario visibility for some entities using .NET ? I have a list of entities that don't share a common parent and want them to not be visible in the budget scenario.jaideepk2 months agoNew Contributor26Views0likes2CommentsClearing Files in User Temp Folder as Non Admin
Good afternoon, Does anybody know which security setting would allow a user to delete files from their Temp Folder? I have tried changing the below System and Application Security Roles with no luck. Each time i get an error saying the User does not have permission to write to that folder. Private Sub ClearUserTempFolder(ByVal si As SessionInfo) Try Dim userName As String = si.UserName.Replace(" ", "") Dim location As FileSystemLocation = FileSystemLocation.ApplicationDatabase Dim folderPath As String = $"Internal/Users/{userName}/Temp" Dim fileTypeFilter As XFFileType = XFFileType.All Dim contentFileExtensionFilters As List(Of String) = Nothing ' Get list of files Dim objList As List(Of XFFileInfoEX) = BRApi.FileSystem.GetFilesInFolder(si, location, folderPath, fileTypeFilter, contentFileExtensionFilters) If objList IsNot Nothing AndAlso objList.Count > 0 Then For Each file In objList Try BRApi.FileSystem.DeleteFile(si, location, file.XFFileInfo.FullName) BRApi.ErrorLog.LogMessage(si, $"Deleted file: {file.XFFileInfo.FullName}") Catch ex As Exception Throw ErrorHandler.LogWrite(si, New XFException(si, ex)) End Try Next Else BRApi.ErrorLog.LogMessage(si, $"No files to delete in {folderPath}") End If Catch ex As Exception Throw ErrorHandler.LogWrite(si, New XFException(si, ex)) End Try End SubBenEppel2 months agoNew Contributor III35Views0likes1Comment