Dictonary variable

OS_Pizza
Contributor III

I want to update the parameter of my dictonary . How can i achieve it? .add adds the value in the dictonary. Is there any update function to update the value of that key in dictonary

Dim params2 As New Dictionary(Of String, String)
params2.Add("Entity_param_db","E001" )

For Each MemberOfList As MemberInfo In Nonstreamproduct
             params2.Add("Entity_param_db",MemberOfList.Member.Name)
             BRApi.Utilities.StartDataMgmtSequence(si,dataMgmtSeq2, params2)
Next

1 ACCEPTED SOLUTION

JackLacava
Moderator
Moderator

Two ways:

' Explicit
myDict.Item("myKey") = newValue
' Shortcut
myDict("myKey") = newValue

For more help, have a look at the official documentation from Microsoft.

View solution in original post

4 REPLIES 4

JackLacava
Moderator
Moderator

Two ways:

' Explicit
myDict.Item("myKey") = newValue
' Shortcut
myDict("myKey") = newValue

For more help, have a look at the official documentation from Microsoft.

Thanks for this. I eneded up using removing the key value before iterating next loop and then adding it back.

 

DRusconi
New Contributor II

Hi, to handle duplicated or non-existing keys, I would suggest you to use a couple of nifty extended dictionary methods available in OneStream: XFGetValue and XFSetValue.

Dim params As New Dictionary(Of String, String)
params.XFSetValue("sameKey", "A")
params.XFSetValue("sameKey", "AB")
Dim sValue As String = params.XFGetValue("noKey", "defaultValue")

Yaseen
New Contributor III

Hi OS, Can you please share how you did the setup for dictionary, i am trying to do below by adding cost centers from "mCostCenter As MemberInfo In listCCs" to a dictionary.  It looks like you were creating the list as well.

 

I need the values out of cube view selection to use in the business rule in api.data.calculate. Need is to capture and save the values before applying in the calculations. Idea is to use dictionary to add "mCostCenter As MemberInfo In listCCs" to dictionary and loop thru the list in the dictionary to reduce BR processing time. 

Appreciate sample code to add memberinfo to the dictionary.