Get atribute value from a reference object

Hi,

We have in our CMDB scheme an object Computer with a referenced atribute object called Contract, this Contract has a numeric atribute Cost

We need to make a table showing all Active (Status) Computers with their respective contract and cost, but we cannot seem to get the cost through the Computer, we only get the Contract, but the Cost property appears empty.

Hi @Cr0w,

Cost is not related to the Computer directly but thorough Contract. In this case, you might want to define the calculated measure (in Measures) to follow a path of relation and retrieve the Cost value.

First, chose to represent Computers on rows (dimension Objet on rows and dimension Object Type on pages with selected value Computer).
For the calculated measure to retrieve Contract of Computer and then Cost of Contract, you might want to use functions GetMemberByKey(), GetLinkedMember() and get().

--look for the contract of the Computer in Object dimension based on contract key value
[Object].[Object].GetMemberByKey(
  --get the key of Contract for the selected Computer
  [Object].CurrentMember.GetLinkedMember("Computers Contract").Key
--get Cost of the Contract
).get("Contracts Cost")

Please validate and update the property names in the formula to match your Insight object and attribute names in eazyBI.

More details on used functions are in the documentation:

You might also check out this community post on how to retrieve attribute values for Insight data:

Best,
Zane / support@eazyBI.com

1 Like

Hello @zane.baranovska ,

that’s great explanation, I was able to solve a tricky customer request with it. But they tried me with another interesting one :slight_smile:

Is it possible to extract attribute data from multiple object connection?

Continuing with the example above, we have the computer object and the referenced attribute object called Contract. But the Contract object also has a referenced attribute object called Supplier, which has the numeric attribute Phone number.

What do you think is creating a table with the following values?

Thanks a lot,
Robert

Hi @Robert,

Yes, you can get attribute values from several linked objects. In that case, you might want to use function GetLinkedMembers() to retrieve a set of several linked objects and function Generate() to concatenate a list of individual object attributes (MDX function reference).

Check out this community post on a similar use case:

Best,
Zane / support@eazyBI.com

Hi @zane.baranovska ,

Happy New Year! :slight_smile:

Thanks for your answer, but after several attempt I was not able to solve the problem. Could you please give me a hint how to define the attribute of the third object in the “object chain”?

Computer - Contract - Supplier - > Phone number of the supplier

NonEmptyString(Generate(
[Object].GetLinkedMembers(‘Computer Contract’),
[Object].GetLinkedMembers(‘Contract Supplier’),
[Object].CurrentMember.GetString(‘Supplier Phone number’)
))

Thank you!
Robert