42
Unit 5: Searching ■fr >*-*ÿ qrc— O «h-r '.4— OL-O,— Company O ’U

Unit 5: Searching in Agiloft · 3. Searches Overview • At its core, Agiloft is a collection of interrelated tables which communicate with one . another. • A search is a filter

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Unit 5: Searching in Agiloft · 3. Searches Overview • At its core, Agiloft is a collection of interrelated tables which communicate with one . another. • A search is a filter

Unit 5: Searching

■fr

>*-*ÿ

qrc—

O«h-r'.4—

OL-O,—

CompanyO ’U

Page 2: Unit 5: Searching in Agiloft · 3. Searches Overview • At its core, Agiloft is a collection of interrelated tables which communicate with one . another. • A search is a filter

2

Questions Covered

• What is a search?

• How do we save searches for later use?

• From where can saved searches be run?

• What types of search criteria are possible?

• How do we create a search that has some criteria added at run-time?

• Where will our saved searches be used?

Page 3: Unit 5: Searching in Agiloft · 3. Searches Overview • At its core, Agiloft is a collection of interrelated tables which communicate with one . another. • A search is a filter

3

Searches Overview

• At its core, Agiloft is a collection of interrelated tables which communicate with one another.

• A search is a filter applied to find records in a specific table.

• Example: “Find all problem requests assigned to me or one of my teams whose status is not Closed” (see image below).

General Sorting Options Apply

Next j Finish I Cancel I

Tooltip: You can create complex Boolean expressions to search across all text fields (‘-TEXT-' selection), or specific fields, in combination with date/time filters. Add <

Please note: Execution of a Simple filter over multi-value Linked Fields can take excessive time when run for huge tables. Consider using a Related Table filter inste

Add Filters:Simple I Time I Calendar I Advanced I Related Table I Run-Time I Duplicate I First/Last

( ▼ Assigned Person ▼ equals,

or g ▼] Assigned Team 0| is contained in,« |V|J Variable 0ior 0 0 Assigned Team 0 equals, = |V|) Variable 0

|V| Variable |V| $GLOBAL.my_Full_N<,0 now m

and fV]| Status ▼ does not equal, != ▼ Value j*- Closed 0 (rf now g ffl

Next I Finish I Cancel I

Page 4: Unit 5: Searching in Agiloft · 3. Searches Overview • At its core, Agiloft is a collection of interrelated tables which communicate with one . another. • A search is a filter

4

Where are Searches Used?

• Searches are used in many ways in Agiloft. They are crucial for:

Triggering automation, such as email notifications, field updates, and escalation behavior.

Defining the records to be included in reports.

Finding records that need to be worked on.

Defining valid values for linked fields.

Defining group permissions for view/edit access to specific records.

Setting field values automatically based on specific criteria.

Defining the records that appear on the staff home page.

• It is essential to learn how to create accurate and complex searches in order to use Agiloft’s power effectively.

Page 5: Unit 5: Searching in Agiloft · 3. Searches Overview • At its core, Agiloft is a collection of interrelated tables which communicate with one . another. • A search is a filter

5

Where are Searches Created?

• There are 3 main ways to initiate searches:

Using the Global Search Box at the top of the screen – this searches for the text across all tables of the system:

Using the Main Search Block to run a simple search (see next slide) – this can be the quickest way to find records of interest while working in a table.

Using the Search wizard, by mousing over Search and clicking New to create and save a more complex search – this is used to create searches that will be used by reports, rules, linked field filters, and so on. We refer to these as saved searches.

Add Filters:Calendar ¥ Advanced ¥ Related Table ¥ Run-Time ¥ Duplicate ¥ First/LastSimple ¥ Time

fiEfOEGB

Page 6: Unit 5: Searching in Agiloft · 3. Searches Overview • At its core, Agiloft is a collection of interrelated tables which communicate with one . another. • A search is a filter

6

Main Search Block

• Enter text in the right-hand value box to find records that contain that text. You can choose a specific field from the left drop-down to limit the search to that field. To search for an empty field, leave the value box empty.

Show All removes any filters to show all permitted records.

Refine lets you add criteria to an already executed search.

String runs the search on strings instead of whole words.

Context shows the context of the result beneath each found record.

Active Only (defined in More Options) further filters to active records only.

More Options is used to set some other values and define “Active” records.

Search: -TEXT- ▼ contains □Id GO

Show All Q Refine ,_j String [_) Context i_i Active Only More Options

Page 7: Unit 5: Searching in Agiloft · 3. Searches Overview • At its core, Agiloft is a collection of interrelated tables which communicate with one . another. • A search is a filter

7

Use the Main Search Block

• Navigate to the Contracts table in the left pane.

• If you do not see the search block, click Search in the action bar to expand it:

• Type “jared smith” into the value box to find all contracts that have Jared Smith somewhere in their field content.

Searches are not case sensitive.

• To find only records where Jared Smith is the contract requester, select the Requester Namefield from the first search drop-down then re-enter his name in the search field and click Go.

• To further reduce the search results, click the Refine box and search on Company Name = “Intuit”; this will find only records where Jared Smith is the Contract Requester for contracts entered into with Intuit.

• De-select Refine and click Show All to find all records again. Doing so will put –TEXT– back in the first drop-down.

Practice

Views <*> ▼ Search ,0 ▼ gfc ▼ 9 ©

';9-

Page 8: Unit 5: Searching in Agiloft · 3. Searches Overview • At its core, Agiloft is a collection of interrelated tables which communicate with one . another. • A search is a filter

8

Use the Main Search Block (continued)

• In the input box, type “136-143, 3” and click Go. This will automatically search for those IDs.

When the - TEXT- operator is selected, numbers or number ranges search within the record ID field. To search numbers contained in other fields, type them with quotes, e.g. “94043.”

• Find contracts whose value is more than or equal to $20,000. Select the Contract Amount field and use the operator is greater than or equal to and enter “20000.”

• Find all contracts with some value in the Parent Contract ID field. Select that field and use the operator does not equal with a blank in the value box and click Go.

• Find all contracts related to “Maintenance.” First, check the Context checkbox. Use the –TEXT– operator and search for “maintenance”. Below each record you see the field in which the search term was found. This includes attached files where the word was found within the file.

• Suppose you want to find maintenance contracts, but are concerned someone may have spelled the word incorrectly. Check the String box and type in “maint”. Notice, you find fewer records. Searching on strings does NOT search within attached files.

String searching is resource intensive so the box is automatically deselected after each time you use it.

Practice

';9-

A

Page 9: Unit 5: Searching in Agiloft · 3. Searches Overview • At its core, Agiloft is a collection of interrelated tables which communicate with one . another. • A search is a filter

9

Defining the Active Records in More Options

• The Active Only checkbox can be very useful; checking it filters the records currently displayed to those that meet the “Active Records” criteria defined in the More Options menu.

• Click More Options on the Search Block.

• Under Active Records, select the Status is Active saved search and click Finish.

• Return to the Contracts table and click Show All.

• Check the Active Only button. This reduces the set to records with a Status of Active. The Active Only filter can be applied to any found set to quickly refine it.

• Typically, when setting up a system you will design a search to find all the records of interest to most users to designate as the Active search. For contracts, it might be all those that are not Expired or Cancelled.

• Users can also define the Active search for themselves to use any criteria they want.

Practice

Page 10: Unit 5: Searching in Agiloft · 3. Searches Overview • At its core, Agiloft is a collection of interrelated tables which communicate with one . another. • A search is a filter

10

Saved Search Drop-down

• Saved searches are accessed under the Search menu by hovering over the down arrow to the right of the search button/magnifier glass.

Select “New” to create a Saved Search.

Select “Edit” to edit the currently selected Search.

Select “Manage” to view/edit existing Saved Searches and to define which are active, visible in the left pane and/or shown in the My Assigned area.

Active Saved Searches are listed below

Search jO T ± T 3 1 e T

J

act Assetmt Name

Collapse Search Options

Help

New ...

Edit ...

0 iPhon47002(Evo [

P4/2./48X/rOptiPMT (F933M25GMDVD-

0 iPhon47002(Evo [

Show All

Active Contract expiring withi...Active Contract expiring withi...

Active Customer ContractsActive Vendor ContractsC: Active Customer Contracts w...ÿ

C: Contracts renewed in last 3...C: Customer Support Contracts ...

C: Customer Support Contracts ...

Page 11: Unit 5: Searching in Agiloft · 3. Searches Overview • At its core, Agiloft is a collection of interrelated tables which communicate with one . another. • A search is a filter

11

Manage Searches

• Hover over the down arrow to the right of the Search icon and click Manage ….

• There are three options that define where saved searches appear for this user (each user can manage their own searches):

Active: Appears in the saved search drop-down menu below Manage.

Show in Left Pane: Shows the saved search underneath the relevant table in the left pane.

Show in My Assigned: Appears in the My Assigned tab of the left pane.

SearchP▼ Q ▼ Q S▼

ContractAmount

Collapse Search Options

Help

New ...

Edit ...

Manage ...

Name f Description Filter Active Show in Left Pane Show in My Assigned

My AssignedContracts (Internal Contract Owner-Agiloft System' orAssigned TeamÿAdmin Team.ProfessionalServices TeamfSystem Admin Team.Document...

mMy Contracts Requester Name-Agiloft System or Internal

Contract Owner-Agiloft System m m mMy Drafts Status-Draft and Internal Contract

Owner- ewsystem' m

Page 12: Unit 5: Searching in Agiloft · 3. Searches Overview • At its core, Agiloft is a collection of interrelated tables which communicate with one . another. • A search is a filter

12

Working with Saved Searches

• There are several places where you will need to create saved searches:

To filter source records available in a linked field set.

In rules to define the conditions that trigger an action.

To define the records to be included in a report.

• The Saved Search wizard has four tabs:

General: Defines the search criteria.

Sorting: Searches can sort the results by up to 5 criteria. The default sorting is by descending ID.

Options: Name your search so it can be saved. You can also define some summary criteria to display for the results and choose a specific view to use with the search.

Apply: Seen only by admin users, this defines which groups can access the search and which will see the search on the saved search drop-down, in the left pane, and on the My Assigned list.

Page 13: Unit 5: Searching in Agiloft · 3. Searches Overview • At its core, Agiloft is a collection of interrelated tables which communicate with one . another. • A search is a filter

13

General Tab: Search Filters

• There are several filter types available on the General tab.

• To add a filter, simply click one of the buttons. Each button press results in a row added to form the Search Criteria, with drop-downs for the field name, operators, and values:

• To eliminate a row, click the Garbage Can icon to the right and confirm the deletion.

• To move a row up or down in the order, mouse over the left of the row, where a grey arrow will appear, and click on it.

• To group criteria within complex Boolean conditions, use the parentheses dropdowns on the left and right end of each row.

Add Filters:

T Status T equals, = [T1 Value T Pending Approval Q 3now [7 “

and | T Approval Action [T]| equals, = T Value [~T] Approved - Route Forward T now| [T “

Page 14: Unit 5: Searching in Agiloft · 3. Searches Overview • At its core, Agiloft is a collection of interrelated tables which communicate with one . another. • A search is a filter

14

Search Filters Overview

• The remainder of this unit will provide practice working with each of the filter types. Here is a brief summary of each filter type:

Simple: Search records for a particular value within a field.

Time: Search records for a time stamp which is within or outside of some period relative to now.

Calendar: Search records for a time stamp which is within or outside of a given calendar period.

Advanced: Search records for changes to a given field.

Related Table: Search records which match a saved search in a related table.

Run Time: A Simple filter where the searched-upon value is entered by a user at run-time.

Duplicate: Search records for duplicate values.

First/Last: Search records for first or last x number of matches.

Page 15: Unit 5: Searching in Agiloft · 3. Searches Overview • At its core, Agiloft is a collection of interrelated tables which communicate with one . another. • A search is a filter

15

Simple Filters

• Simple filters are used in a variety of ways: To find a particular field value for a field.

To find records with an empty field using a variable of $null.

To match a field value using a variable.

To match a field value using a global variable. Global variables match a user record field value of the logged in user to a value in this field.

▼ Status equals. = J ▼ Value ['ÿ] Task Completed [ÿ '/j now V

▼ Assigned To ▼ equals. = [T] Variable j ▼ Snull .-O \ÿ/j now 0®

▼ Assigned To ▼ equals. = ▼ Variable [ÿ $updated_by 0 now -

▼ Assigned To ▼ equals. = ▼ Variable [ÿ] $updated_by P V! now | ▼ j

Page 16: Unit 5: Searching in Agiloft · 3. Searches Overview • At its core, Agiloft is a collection of interrelated tables which communicate with one . another. • A search is a filter

16

Values vs. Variables

• In the Simple filter, there is a drop-down with the option to search for a Value or a Variable.

• As you have seen in the preceding examples, selecting Value will search on a static value.

• Variables represent field names – they have a “$” prefix and contain no spaces.

• Variables are accessed by clicking the magnifying glass icon when the Variable option has been selected in the drop-down. On the Fields tab, click on the desired field to insert it.

• There are instances where you need to compare a value in a record (such as Assigned Team) to a value for the person who is logged in. User field values for the logged in user are called global variables.

• Global variables are accessed by selecting the Global Variables tab on the Formula Help screen. This tab shows all the fields available for the logged in user.

equals, = a Variable[V] O

Page 17: Unit 5: Searching in Agiloft · 3. Searches Overview • At its core, Agiloft is a collection of interrelated tables which communicate with one . another. • A search is a filter

17

Naming Saved Searches

Naming conventions are important when creating a complex system.

• When someone looks at the name of a saved search or the name of a rule or action, they should have a pretty clear idea of what it does. Note the names we use in the working examples that follow as samples of good practice.

• We use the following prefixes for saved search names to make it clear where they are used. This way, someone who sees the search out of context knows what will be affected if they change it:

R: – used by a rule P: - used as a group permissions filter

C: – used in a chart/report LF: - used as the filter for a linked field

MT: - multi-table, used to compare the value in a linked table to a value in the current table. It is critical to name these searches really clearly as they always appear out of context.

CF: - used as the filter on a calculation field

Page 18: Unit 5: Searching in Agiloft · 3. Searches Overview • At its core, Agiloft is a collection of interrelated tables which communicate with one . another. • A search is a filter

18

Create a Saved Search Using a Simple Filter

• Navigate to the Contracts table in the left pane.

• Hover over the down arrow to the right of the Search icon and click New. This will bring the Saved Search wizard.

• Click the Simple button to create a new Simple filter.

• Set the filter as follows: Status is more than Signed. Choice fields are in descending order. This search criteria will find all records with a status value above Signed on the drop-down list.

• Click the Options tab and select Yes for Save Search. Label the search “In Process and not yet Signed.”

• Click Finish to run your search, bringing up all contract records whose Status is any of Draft,Pending Contract Manager, Pending Approval, or Approved.

More than signed

Less than signed

Practice

is more than, > [V|| Value |V|Next I Finish j Cancel J

SignedActiveRenewedExpiredCancelled

Draft gDraftPending Contract ManagerPending ApprovalApproved

Page 19: Unit 5: Searching in Agiloft · 3. Searches Overview • At its core, Agiloft is a collection of interrelated tables which communicate with one . another. • A search is a filter

19

Time Filters

• Time filters measure the time from a Date or Date/Time field to some number of past or future days/hours/minutes. They are most commonly used for time-based rule notifications and reports.

Example: “Find all records whose Contract End Date is between 3 and 4 months in the future.” This search might be run once a month. It is common to combine two relative time criteria in this way. If today is Jan. 1, the criteria below will find records with a Contract End Date between April 1 and April 30.

• The drop-down with the choices: old/in the future defines the search to run in only one direction – old finds only records whose date is in the past, while in the future finds only records with dates in the future.

“Less than one week in the future” searches for greater than or equal to now and less than 7 days in the future and will not return a date from last month.

Since Date fields store a hidden time value, it is generally not a good idea to use an operator of equals when searching on a Date field.

C s Contract End Date [T] less than. < [T] 4 ][ Months [7] in the future [T]| now| T

(and QC H Contract End Date [V] is greaterthan or equals, >= [£] 3 _][ Months [£] in the future [£]| now| T

Page 20: Unit 5: Searching in Agiloft · 3. Searches Overview • At its core, Agiloft is a collection of interrelated tables which communicate with one . another. • A search is a filter

20

Create a Search with a Time Filter

• Create a new search.

• Click the Time button to add a new Time filter. Click the Time button again to add a second Time filter.

• Set the first filter to: Contract End Date is greater than 3 Months in the future.

• Set the dropdown between the two time filters to be and so that the search will match actively on both filters.

• Set the second filter to: Contract End Date is less than or equals 6 Months in the future.

• Click the Options tab and select Yes for Save Search. Label the search “Contract End Date 3 to 6 months in the future.”

• Click Finish to run your search.

• Experiment with a few searches with different search requirements.

Practice

Page 21: Unit 5: Searching in Agiloft · 3. Searches Overview • At its core, Agiloft is a collection of interrelated tables which communicate with one . another. • A search is a filter

21

Using Working Hours in Searches

• Relative Time searches (using a Time filter) have an option to include only time that occurred during, or outside of, a team’s working hours:

Example: If a ticket is submitted at 4:50pm and is to be escalated after one working hour to a manager, we can use a search in which Date Created is more than 1 hour old and check the option to include only the working hours of a team (9am to 5pm). This will result in the ticket being found only when the search is run after 9:50am of the following day.

Searches based on working hours should almost always use the Hoursoperator, not Days.

• We’ll learn more about working hours of teams in the next unit.

Limit to Working ▼ hours for

•lAdmin Team ▼ team

team in the Buyer Email field

Page 22: Unit 5: Searching in Agiloft · 3. Searches Overview • At its core, Agiloft is a collection of interrelated tables which communicate with one . another. • A search is a filter

22

Calendar Filters

• Calendar filters report on activity during a calendar period, including: year, quarter, month, week, day, hour, or minute.

• They are useful for finding records within a specified calendar time frame and are most often used in reporting.

• Calendar weeks run Sunday through Saturday.

• In the search above is equal to means the Date Created value “falls within the calendar period of” this calendar year.

Time filters search on an amount of time relative to a specific point in time (30 days from today) while Calendar filters search specific calendar periods (last month) relative to today.

A search run on March 15 using a Time filter for less than 30 days old will find dates from Feb 13 to March 15 while a Calendar filter for last month will return dates from Feb 1 to Feb 28.

▼ Date Created ▼ is equal to ▼ this ▼ Year ▼ now ▼

Page 23: Unit 5: Searching in Agiloft · 3. Searches Overview • At its core, Agiloft is a collection of interrelated tables which communicate with one . another. • A search is a filter

23

Create a Calendar Filter

• Create a new search.

• Click the Calendar button to create a Calendar filter.

• Set the filter to: Contract Start Date is equal to this Quarter.

• Click the Options tab and select Yes for Save Search. Label the search “Contract Start Date is equal to this Quarter.”

If this search is run in May, it will find all contracts with a start date between April 1 and June 30.

Practice

Page 24: Unit 5: Searching in Agiloft · 3. Searches Overview • At its core, Agiloft is a collection of interrelated tables which communicate with one . another. • A search is a filter

24

Advanced Filters

• Advanced filters are critical to automation. All fields tracked by the history field will appear for an advanced filter.

Only fields tracked by history will be available for an Advanced filter.

• Advanced filters find records in which a specific field:

Did not change during the last modification.

Changed from any value to any value.

Changed from any value to one or more specific values or from one or more specific values to any other value.

Changed from one or more specific values to some other one or more specific values.

• Two main operators are used for how the change occurred.

Last User’s Modification looks for changes made by a user. Even if other rules intervene and make additional changes, if the change was part of the last user’s change, it will be found.

Last Modification looks at the last change whether made by a user or a rule.

▼ Status ▼ In this period Last User’s Modification ▼ 0 Minute *

Did not change

changed from: Any valueAny ofÿ Pending Approval J Approved Sent for Vendor Signature Updated by Vendor

y_, Signed Active Fulfilled Renewed Expired Cancelled

to: Any valueAny of Pending Approval Approved Sent for Vendor Signature Updated by Vendor

Signed Active Fulfilled Renewed Expired Cancelled

Page 25: Unit 5: Searching in Agiloft · 3. Searches Overview • At its core, Agiloft is a collection of interrelated tables which communicate with one . another. • A search is a filter

25

Create an Advance Filter

• Before running this search, edit a contract record whose Status is Activeand change the Status to Expired.

• Then create a new search.

• Click the Advanced button to create a new Advanced filter.

• Set the filter to: Status In this period: Last Modification changed from: Any to Expired.

Normally, a rule changes the Status to Expired on the Contract End Date, so if you used the Last User Modification criterion it would never find a record.

• Click the Options tab and select Yes for Save Search. Label the search “Status last changed to expired.”

• Click Finish to run your search. You should find the record you just edited.

Practice

Page 26: Unit 5: Searching in Agiloft · 3. Searches Overview • At its core, Agiloft is a collection of interrelated tables which communicate with one . another. • A search is a filter

26

Related Table Filter

• This option allows searches to be run on Related Tables.

• Example: Companies have locations in a separate table and you want to search for all companies that have a location in China. Set up a saved search in the Location table for Country=China, then run that saved search on the related table for location within the Company table.

• This filter is not very commonly used. But it is important to realize that you cannot search within records in a related table using the normal search filters. You can, however, search within a Link to Selected Fields from Other Table (even with multiple values enabled) - each field you selected when creating that data type will show up on the drop-down list of fields to be searched.

Related Table I Run-Time

Page 27: Unit 5: Searching in Agiloft · 3. Searches Overview • At its core, Agiloft is a collection of interrelated tables which communicate with one . another. • A search is a filter

27

Create a Related Table Filter

• Create a new search.

• Click the Related Table button to create a new Related Table filter.

• Set the filter to: Insurance Certificates contains records that match the saved search Valid Certificates.

• Click Finish and then click Run without Saving to run your search, bringing up contract records that have Insurance Certificates in the related table with records matching the search criteria for Valid Insurance Certificates. The search criteria for Valid Insurance Certificates in this case is Status = Valid and Expiration Date >= Today.

• Click on the first record that appears to view it, and navigate to the Insurance/Assets tab to confirm that the related table of Insurance Certificates does indeed contain records that are valid.

Practice

Page 28: Unit 5: Searching in Agiloft · 3. Searches Overview • At its core, Agiloft is a collection of interrelated tables which communicate with one . another. • A search is a filter

28

Run-Time Searches

• Run-time searches create pop-ups allowing users to define some criteria at run-time on a preconfigured search. They are extremely useful for reports and ad hoc searching.

• Example: When the search below is run, a pop-up will appear that allows the user to type in the Vendor Company they are interested in.

• Other search criteria can be predefined, such as date range, status, etc. so the user is only asked for one criteria out of several.

[T]|Status |V| equals, = |V| Value |V| Active Eand [V Pÿ~| Company Name [T]| contains |~7] [ User enters data at run-time ] |ÿ) now □j®

Search Name: vendor active contracts

Company Name contains IPGO

Page 29: Unit 5: Searching in Agiloft · 3. Searches Overview • At its core, Agiloft is a collection of interrelated tables which communicate with one . another. • A search is a filter

29

Create a Run-Time Search

• Create a new search.

• Click the Simple button and add a simple filter for Status= Pending Approval.

• Click the Run-Time button and set the filter to: Company Name equals [User enters data at run-time].

• Click the Options tab and select Yes for Save Search. Label the search “Status Pending Approval for runtime Company.”

• Click Finish to bring up the run-time search pop-up. Type “Xerox” into the pop-up. If you’re not sure you have the name right, click the magnifying glass to search for the company.

• Then click Go on the run-time pop-up window to run the search, thus bringing up all records whose Status is Pending Approval and for which the Company is Xerox.

Practice

Page 30: Unit 5: Searching in Agiloft · 3. Searches Overview • At its core, Agiloft is a collection of interrelated tables which communicate with one . another. • A search is a filter

30

Duplicate Filters

• Duplicate filters help find duplicate records so they can be eliminated.

• They allow you to exclude a certain number of records from the results.

• Example: If a field needs to be made unique after it has duplicate values, a Duplicate filter can be used to find the duplicates so that they may be deleted.

Match on fields Contract Titled only report if 2 or more matches. Exclude first 0 records. Exclude NULL's (0) HI

Page 31: Unit 5: Searching in Agiloft · 3. Searches Overview • At its core, Agiloft is a collection of interrelated tables which communicate with one . another. • A search is a filter

31

Create a Duplicate Filter

• Create a new search.

• Click the Duplicate button to create a new Duplicate filter.

• Click the magnifying glass to bring up a pop-up window containing a list of fields from the Contract table. Select Contract Title and then click OK.

• Set the search parameters to only report if 2 or more matches. Exclude first 0 records.

• Click Finish and then click Run without Saving to run your search, bringing up a list of records in which the Contract Title is duplicated among two or more records.

There is currently no way to merge records when duplicates are found. Cleaning up duplicates is a manual process.

Practice

A

figJDzS3

Page 32: Unit 5: Searching in Agiloft · 3. Searches Overview • At its core, Agiloft is a collection of interrelated tables which communicate with one . another. • A search is a filter

32

First/Last Filter

• This filter is similar to the Duplicate filter but allows you to limit the results found based on a sort order.

• Example:

Find the last 3 products purchased by this customer.

Find the last 5 cases submitted from this location.

Find only the unique people who have submitted noise complaints last month.

Duplicate and First/Last cannot be run at the same time.

Match on fields Assigned To. Closed By,0 Report first 1 matches 0 UJ

Page 33: Unit 5: Searching in Agiloft · 3. Searches Overview • At its core, Agiloft is a collection of interrelated tables which communicate with one . another. • A search is a filter

33

Create a First/Last Filter

• Create a new search.

• Click Simple to create a Simple filter of Status does not equal Expired.

• Click the First/Last button to create a new First/Last filter.

• Click the magnifying glass to bring up a pop-up window containing a list of fields from the Contract table. Select Company Name and report on the first 1 matches.

• Click the Next button to move to the Sorting tab and select Date Created for First Sort in Descending order.

• Click the Next button again to move to the Options tab and select Yes for Save Search. Label the search “Latest Unexpired Contract for each Vendor.”

• Click Finish. This will show you only the single most recent contract per vendor that has not expired. The sort order defines which record is selected if there is more than one record per vendor.

Practice

Page 34: Unit 5: Searching in Agiloft · 3. Searches Overview • At its core, Agiloft is a collection of interrelated tables which communicate with one . another. • A search is a filter

34

Putting it All Together

• Most searches will combine multiple filters and contain multiple rows.

• And/Or operators and one or more parentheses are used to define the logic when using multiple criteria.

• Parentheses that are not needed by the system, because they represent the default order of execution, will be eliminated when the search is saved. Do not be dismayed, the correct grouping will still be used when the search is run.

• The Now button can be deselected to run a historical search. If you put in the criteria: Status = Active and deselect Now, you will find all records that were everActive, i.e. contracts that are now Expired (but were at some point Active) and those that are Active.

Historical searches are quite resource intensive and should be used sparingly.A

Page 35: Unit 5: Searching in Agiloft · 3. Searches Overview • At its core, Agiloft is a collection of interrelated tables which communicate with one . another. • A search is a filter

35

Create More Complex Searches

• Test your knowledge - On the Contracts table:

Create a search called “Not yet Signed and updated over 14 Days Ago” that finds all contracts that have not yet been signed and are not Active, Renewed, Cancelled or Expired and that were last updated over 14 days ago.

Create a search called “Active Contracts that I Requested” that finds contracts for which the Requester Name is me (my full name) and whose Status is Active.

Create a search called “Renewed without Notes” that finds all contracts in which the last change by a user set the Status to Renewed without modifying the Notes to/from Party Contacts.”

Create a search called “ Active Contracts expiring within next 90 Days” that finds all Active contracts expiring sometime within the next 90 days.

These saved searches can be found in the Training Sample KB.

Practice

Page 36: Unit 5: Searching in Agiloft · 3. Searches Overview • At its core, Agiloft is a collection of interrelated tables which communicate with one . another. • A search is a filter

36

Test Your Knowledge—Create Some Searches on Tasks

• Create a search called “My Assigned” that finds all tasks in which the Assigned Personis my name, or (the Assigned Team is contained in My Teams and the Assigned Person is blank), and whose Status is not Done and not Cancelled. Sort in ascending Date Due order. Add this search to the left pane.

• Create a search called “My Team Assigned” that finds tasks in which the Assigned Team is contained in My Teams and Status is not Done and not Cancelled. Add this search to the left pane.

• Create a search called “My Done Tasks” which finds all tasks whose Status is Done and whose Assigned Person is me (my full name), sorted by Date Completed in descending order.

• Create a search called “My Overdue Tasks” for all tasks whose Date Due has passed and whose Status is not Done and is not Cancelled and whose Assigned Person is me.

To save time, run the My Assigned search then choose Edit from the Search dropdown – delete the rows that are not needed, and replace them with the Date Due criterion. On the Options tab, be sure to check Save as new Saved Search then give the search a new name and label. This is a quick way to copy a saved search to create a new one that is slightly different.

Practice

Page 37: Unit 5: Searching in Agiloft · 3. Searches Overview • At its core, Agiloft is a collection of interrelated tables which communicate with one . another. • A search is a filter

37

Add Search to Task Field—Assigned Team

• Now we can do some further work on the Task and Project tables to apply what we just learned to create filters on some fields.

• Go back to Tasks > Setup Tasks and go to the Fields tab.

• Edit the Assigned Team linked set and click on Options tab. Let’s filter the teams so we don’t see teams such as Customer Team on the drop-down list.

• Scroll down to the Restrict the Teams from which the values may be imported and select a saved search then click the button to Create New Linked Field Search. Click Simple to create a Simple filter.

• Choose the Include Team in Assigned Team Dropdowns field contains Tasks. This will filter to teams that have been pre-designated for working on tasks.

• On the Options tab of the Search wizard, give the search a name: “LF: Include Team in Dropdown contains Tasks” (LF stands for Linked Field and tells us this search is used to filter a linked field). Click Finish to return to the field wizard. There, click Next, then click Finish to save the changes to the field.

Practice

Page 38: Unit 5: Searching in Agiloft · 3. Searches Overview • At its core, Agiloft is a collection of interrelated tables which communicate with one . another. • A search is a filter

38

Add Search to Task Field—Assigned Person

• Let’s add a filter to the Assigned Person field set as well. On the Fields tab, edit the Assigned Person linked set and click on Options tab. Let’s filter the Assigned Person to someone who is on the Assigned Team.

• Scroll down to the Restrict the People from which the values may be imported and select a saved search then click the button to Create New Linked Field Search. Click Simple to create a Simple filter.

• We are going to limit the values to people whose Teams field contains the Team in the Assigned Team field. Choose Teams contains item variable and click the magnifying glass to bring up the Formula Help wizard.

• When comparing the value in a linked record (Person) to a value in the current record (Task), we use the Parent Fields tab to define the field in the current (task) record. Navigate to the Parent Fields tab. Click on the Assigned Team field to insert it into the filter box.

• On the Options tab of the Search wizard, give the search the name: “MT: Person Teams contains Task Assigned Team” (MT stands for Multi Table and tells us this search is used to compare a value in the linked record to a field in the current table). Click Finish to return to the field wizard. There, click Next, then Finish to save.

Practice

Page 39: Unit 5: Searching in Agiloft · 3. Searches Overview • At its core, Agiloft is a collection of interrelated tables which communicate with one . another. • A search is a filter

39

A Few Notes on Filters and Default Values

• Adding a filter on a field that is set by a default value can compromise the behavior of the default value. Sometimes this is intentional, but in case it is not, you should be aware of the ramifications.

Example: You might set the Assigned Person for a support case to the person who created it, but filter it to only members of the Support Team. If a customer creates the case it will not be assigned to them because they are not on the Support Team, but if a support person creates the case, he will be assigned to it automatically.

When you use a default value of the person who created the record as we did for Assigned Person, it will only work properly if the person who creates the record meets any search filter on the linked field when the record form is opened.

• If when creating a task the Assigned Team is not set to a Team I am on, my name cannot appear in the value list for the Assigned Person and neither I nor the system default value can select me as the Assigned Person. The default value just won’t be set in this case.

• For the default value to work, the Assigned Team must have a default value of a Team the creator is on – changing it to one of his teams manually does not bring back the default value, as it refreshes the Assigned Person field to a blank value. So by adding the filter, we break the Assigned Person default value unless we also set a default value on the Assigned Team.

Page 40: Unit 5: Searching in Agiloft · 3. Searches Overview • At its core, Agiloft is a collection of interrelated tables which communicate with one . another. • A search is a filter

40

Projects Table: Number of Open Tasks

• Let’s add a new field to the Projects table. Go to Projects > Setup Projects and navigate to the Fields tab.

• Create a new Calculation on Multiple Linked Records and call it “Number of Open Tasks.” Choose the Related table: Tasks as the field you want to calculate.

• On the Options tab, choose Count, and instead of use all values choose the option a saved search and click Create New Linked Field Search.

• Click Simple twice to create two rows, and use the criteria: Status does not equal Done and Status does not equal Cancelled (note that multiple negative conditions are almost always combined with an AND operator).

• On the Options tab of the search, give the search the name: “CF: Status is not Done or Cancelled” (CF stands for calculation field). Click Finish to save the search.

• Back in the field wizard, be sure the new search is selected, then click on the Display tab to change the option to Do not pad with Zeros and click Finish to save the field. Add it to the layout and click Finish to save your changes.

Practice

Page 41: Unit 5: Searching in Agiloft · 3. Searches Overview • At its core, Agiloft is a collection of interrelated tables which communicate with one . another. • A search is a filter

41

Create an Embedded Search Result

• Let’s show all other projects for the project manager within a project record.

• Within the Projects table, create a new Embedded Search Result field.

• Name your embedded search result “Other Projects for this Project Manager.”

• Under the text Table, select the Project table from the drop-down menu.

• In the Permissions tab, select a saved search under the Additional Filters section and click the Create new Linked Field Search button.

• Create a search where Project Manager matches the “Parent Field” Project Manager and ID does not equal the “Parent Field” ID (to eliminate the current project from showing up).

• Save it as “MT: Project PM matches this Project PM and not same project.”

• On the Display tab, choose to left justify the field.

• Click Finish to save your field when you’re done.

• Add it to the Projects table layout and save.

Practice

Page 42: Unit 5: Searching in Agiloft · 3. Searches Overview • At its core, Agiloft is a collection of interrelated tables which communicate with one . another. • A search is a filter

42

Searching and Summary Conclusion

• We have learned the differences between the various search filters and how to use them.

• We have learned how to save searches for later use and for use within other contexts.

• We have learned the difference between using values and variables.

• We have added searches to some fields we created earlier and added new fields based on saved searches.