# Report Filter Join Identity and Link Object

**URL:** <https://community.sailpoint.com/discuss/t/report-filter-join-identity-and-link-object/34333>\
**Category:** Implement & Extend\
**Tags:** search-reports\
**Created:** [August 1, 2024, 5:56am UTC](https://community.sailpoint.com/discuss/t/report-filter-join-identity-and-link-object/34333 "2024-08-01T05:56:13Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Aishwarya\_BM](https://avatars.discourse-cdn.com/v4/letter/a/c68b51/32.png) [@Aishwarya\_BM](https://community.sailpoint.com/discuss/u/Aishwarya_BM)\
**Post date:** [August 1, 2024, 5:56am UTC](https://community.sailpoint.com/discuss/t/report-filter-join-identity-and-link-object/34333/1 "2024-08-01T05:56:13Z")

</div>

Hi,

Good day!

I am trying to create a custom report with Filter type of Data source.

I am facing issues with joining identity and link object.

The report return 0 objects which is not true, there are objects that match the criteria.

Criteria is to get all identities of type **xxx** which are inactive, have disabled account:&nbsp; **AppXYX** &nbsp;and have&nbsp; **accountAttributeXYZName** value as **xyzValue.**

I have made the account attribute searchable and it works fine if i just add Link filter.

Can anyone check and let me know what is wrong with this filter and how i can fix it?

Below is my data source code,

\<DataSource objectType=“Identity” type=“Filter”\>  
\<QueryParameters\>  
\<Parameter argument=“id” property=“Identity.id”\>  
\<QueryScript\>  
\<Source\>

**import sailpoint.object.\*;**  
**import sailpoint.reporting.\*;**

**QueryOptions qo = new QueryOptions();**

**qo.addFilter(Filter.join(“id”,“Link.identity.id”));**  
**qo.addFilter(Filter.eq(“inactive”,true));**  
**q0.addFilter(Filter.eq(“type”,“xxx”));**

**qo.addFilter(Filter.eq(“Link.iiqDisabled”,true));**  
**qo.addFilter(Filter.eq(“Link.application.name”,“AppXYX”));**  
**qo.addFilter(Filter.eq(“Link.accountAttributeXYZName”,“xyzValue”));**

**return qo;**

\</Source\>  
\</QueryScript\>  
\</Parameter\>  
\<Parameter argument=“identities” property=“id”/\>  
\</QueryParameters\>  
\</DataSource\>

Thank You!

---

<div class="post-metadata">

**Author:** ![Vaishali\_Hebbar](https://avatars.discourse-cdn.com/v4/letter/v/34f0e0/32.png) [@Vaishali\_Hebbar](https://community.sailpoint.com/discuss/u/Vaishali_Hebbar)\
**Post date:** [August 7, 2024, 4:33am UTC](https://community.sailpoint.com/discuss/t/report-filter-join-identity-and-link-object/34333/2 "2024-08-07T04:33:52Z")

</div>

Hi&nbsp; @Aishwarya_BM ,&nbsp; &nbsp;Please try the below query and remove the&nbsp;\<Parameter argument=“identities” property=“id”/\> line.

import sailpoint.object.QueryOptions;  
import sailpoint.object.Filter;  
import sailpoint.object.Link;

QueryOptions qo= new QueryOptions();

Filter f=Filter.subquery(“id”, Link.class, “identity.id”, Filter.and(Filter.eq(“IIQDisabled”, “true”),  
Filter.eq(“name”, “AppXYX”), Filter.eq(“accountAttributeXYZName”, “zzz”)));

qo.addFilter(f);

qo.addFilter(Filter.eq(“inactive”,true));  
qo.addFilter(Filter.eq(“type”,“xxx”))

return qo;

---

<div class="post-metadata">

**Author:** ![Aishwarya\_BM](https://avatars.discourse-cdn.com/v4/letter/a/c68b51/32.png) [@Aishwarya\_BM](https://community.sailpoint.com/discuss/u/Aishwarya_BM)\
**Post date:** [August 7, 2024, 9:46am UTC](https://community.sailpoint.com/discuss/t/report-filter-join-identity-and-link-object/34333/3 "2024-08-07T09:46:49Z")

</div>

Thanks&nbsp; @Vaishali_Hebbar &nbsp;for the post.

I was successfully able to join both tables and query the objects with subquery method.
