Filtering Records for Cost Saving and Higher Efficiency

Filtering Records for Cost Saving and Higher Efficiency

Benefits of Filtering Records (Objects)

Reducing the number of records (objects) in JSM Assets is essential for several reasons:

  • Firstly, it can improve the overall performance and speed of the JSM Assets module. With fewer records to search through, queries can be executed more quickly, leading to enhanced efficiency in data retrieval and processing.

  • Additionally, a smaller database size can result in reduced storage costs and maintenance efforts .

    • By eliminating unnecessary or outdated records, organizations can streamline their data management practices, ensuring that only relevant and up-to-date information is retained. This not only optimizes resource utilization but also enhances data accuracy and integrity.

    • Atlassian announced the new pricing model for Consumption-based Pricing of Objects, as shown in the table.

Screenshot 2025-12-04 at 09.11.20.png

 

Screenshot 2025-12-04 at 09.11.20.png

 

 

For more and the latest information, refer to the Atlassian announcements:

Cloud Pricing Tables | Atlassian

 

Ultimately, reducing the number of records in JSM Assets promotes a more streamlined and effective data management strategy, benefiting both the organization and its users.

 

Out-of-the-box Filtering feature of JSM Assets

 

Our applications replicate the full data from the source. In some cases, you may want to filter the data based on conditions specific to your environment. For example:

Source

Object Type

Attribute Examples

Filter Condition

Source

Object Type

Attribute Examples

Filter Condition

Entra ID

(a.k.a. Azure AD)

Users

E-mail Address

User Principal Name

Ends with a specific domain

Entra ID

(a.k.a. Azure AD)

Groups

E-mail Address

Ends with a specific domain

 

 Instructions

 

  1. Go to Object Schema Configuration.

  2. Select the Import tab.

  3. Select “Edit Mapping” for the import configuration.

  4. Select Edit object type mapping for the Object Type that you would like to update.

Import Mapping.png
Import Mapping.png

 

  1. Change the setting for Filter data source by AQL and click Save button. 

Filter Objects.png
Filter Objects.png

Here are some example AQLs you could use:

Source

Object Type

Attribute Examples

Filter Condition

AQL

Source

Object Type

Attribute Examples

Filter Condition

AQL

Entra ID

(a.k.a. Azure AD)

Users

E-mail Address

Ends with a specific domain

"E-mail Address" endswith "pio.software"

Entra ID

(a.k.a. Azure AD)

Users

User Principal Name

Ends with a specific domain

"User Principal Name" endswith "pio.software"

Entra ID

(a.k.a. Azure AD)

Users

User Principal Name

Exists

"User Principal Name" is not empty

Entra ID

(a.k.a. Azure AD)

Users

User Principal Name

Doesn’t start with a “room” keyword

room15@pio.software

not in("User Principal Name" startsWith "room")

Entra ID

(a.k.a. Azure AD)

Users

Employee ID

Exists

(Some records don’t have an Employee ID because they are not real employees. For example, Meeting Rooms, etc. This way it is possible to eliminate them)

"Employee ID" is not empty

Entra ID

(a.k.a. Azure AD)

Users

Company Name

Is only a specific name. (This way only users registered for this company will be imported.)

"Company Name" = "Pio Software Ltd"

Entra ID

(a.k.a. Azure AD)

Groups

E-mail Address

Ends with a specific domain

"E-mail Address" endswith "pio.software"

Jamf

Storage

Serial Number

Import the physical disks only that have a serial number.

"Serial Number" is not empty

Datadog

Processes

Process Command

Imports only the Java processes

"Process Command" startsWith "java"

 

Please note that the AQLs you will use in this filter shouldn’t have a referenced attribute. Let’s explain one scenario in detail:

Status: Let’s assume you have an object type called Users, and it has a referenced attribute called “Office Location”.

Used AQL filter: "Office Location" = "London"

Result: No objects imported.

Reason: JSM Assets import engine processes the incoming data in 2 steps. First steps imports the objects without any references. Then in the second step it maps all the referenced objects with each other. Since in the first step, the “Office Location” value will be empty the AQL will filter out all the objects. No new objects will be created.

 

We hope that this example helps.