Objects Join in SailPoint IIQ Report

Use Case: Multi Join in SailPoint IIQ Report
In a single identity cube multiple persona model, there are multiple authentication sources linked to one identity cube. Each link has its own attributes, including the manager of the persona. The goal is to pull a report of persona managers from a specific department.

The standard Identity Manager report does not provide this data because the persona manager is not stored at the identity level.

Solution:
To retrieve this information, we can use the join option in the data source to join the two objects using a common key.

Sample Code Snippet:

Link.linkinactive==“false” && (Link.application.name == “Non-Employee App1” || Link.application.name == “Non-Employee App2”) <ReportColumnConfig …// here you can add all the fields you need from the identity object

Explanation of the Code Snippet:

  • Inside the live report, a data source is specified with the objectType as “Identity” and the type as “Filter.”
  • The join option is used to specify the joinProperty as “Link.personamanager” and the property as “name.” This means that we want to join the persona manager attribute from the Link object with the name attribute from the Identity object.
  • The query is defined to filter the results based on certain conditions. In this case, it checks if the Link is not inactive and if the Link’s application name is either “Non-Employee App1” or “Non-Employee App2.”
  • The column configurations for the report are defined within the section, but this part of the code is not included here.

By using the join option in the data source and defining the appropriate query, we can generate a multi-object join report in IIQ that includes the desired persona manager information from a specific department.

1 Like

Adding Code snippet…somehow it is not displaying correctly in the post

< LiveReport title=“Identity Filter Report”>
< DataSource objectType=“Identity” type=“Filter”>
< Join joinProperty=“Link.personamanager” property=“name”/>
< Query>Link.linkinactive==“false” && (Link.application.name == “Non-Employee” || Link.application.name == “SJH E-Directory” || Link.application.name == “Provider Forms”)
< /DataSource>
< Columns>
< ReportColumnConfig field=“name” header=“User Name” property=“name” sortable=“true” width=“110”/>

1 Like