Filter Insight object type attributes using an indirection

Rudy Tixhon July 28, 2021

Hello,

In Insight I try to filter an attribute of an object type using the relationship of another object type. Let me explain, I have the following configuration:

Schema1

"RAM" Object type

Attributes:

  • Value (Integer)

"Computer" Object type

Attributes:

  • Model (Object -> Computer model)
  • Amount of RAM (Object -> RAM)


Schema2

"Computer model" Object type

Attributes:

  • Max RAM (Object -> RAM)

 

Objects

RAM

  • Object1
    • Name = 8 gigabytes
    • Value = 8
  • Object2
    • Name = 16 gigabytes
    • Value = 16
  • Object3
    • Name = 32 gigabytes
    • Value = 32

Computer Model

  • Object1
    • Name = Lenovo XX
    • Max RAM = 16

I would like that when I create a new object for the Computer object type (and that the Lenovo XX model is chosen) that the choices offered in the Amount of RAM attribute be limited to 8 and 16 gigabytes and that the 32 gigabytes choice be not shown.

I tried to put a filter on the Amount of RAM attribute of the Computer object type but I do not find the IQL making reference to the Computer model/Max RAM.

???? = ${Model} and Value < "Computer model.Max"

Any idea?

 

Note: I have well read and watched :

1 answer

1 accepted

1 vote
Answer accepted
Peter-Dave Sheehan
Community Leader
Community Leader
Community Leaders are connectors, ambassadors, and mentors. On the online community, they serve as thought leaders, product experts, and moderators.
August 5, 2021

If this was possible, I think the Filter IQL would look something like this

Value <= ${Model."Max RAM".Value}
^ ^ ^ ^
| | | └--- Value attribute of RAM Object
| | └----Attribute on Computer Model object type that points to RAM object
| └--Placeholder: Attribute label for Computer object type
└--- Attribute of the RAM objectType

But I don't think it's possible to drill down from within into placeholders.
I believe the ${Model} can only return the object label.

So the only way to make this work is to change you Compter Model object type to let you select all the possible RAM option rather than just the Max.

Something like "Allowed RAMs" attribute with "unlimited" cardinality

Then in the Computer object Ram attribute, you would apply this filter:

object HAVING inboundReferences(ObjectType = "Computer Model" and Label = ${Model})

This returns all the RAM objects that have an inbound link from Computer Model that match Model you've just selected

Rudy Tixhon August 5, 2021

Thank you for your answer and the new approach ! 

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events