These are the slides I used during my half-day session, "Advanced IQA," at NiUG Discovery 2012 in Philadelphia, PA. Feel free to use them as the basis for your own training sessions.
4. SHARE, COMPARE, BECOME MORE AWARE
Why use IQA?
• Design a query once for multiple uses
• More flexible search options
– Multiple parameters in one query
– Parameters can be calculations
– Flexible results display
REVOLUTION 2012
8. SHARE, COMPARE, BECOME MORE AWARE
When should we use IQA?
Results need to be live links to a
Customer, Event registration, donation,
etc.
REVOLUTION 2012
9. SHARE, COMPARE, BECOME MORE AWARE
When should we use IQA?
Crystal Reports IQA
REVOLUTION 2012
10. SHARE, COMPARE, BECOME MORE AWARE
When should we use IQA?
Crystal Reports IQA
Reports with many parameters
REVOLUTION 2012
12. SHARE, COMPARE, BECOME MORE AWARE
When should we use IQA?
Extracting results into a spreadsheet
REVOLUTION 2012
13. SHARE, COMPARE, BECOME MORE AWARE
When should we NOT use
Reports that require:
• Formatting
• Layout
• Multiple levels of
grouping
• “Think spreadsheets”
REVOLUTION 2012
14. SHARE, COMPARE, BECOME MORE AWARE
How End-users Run IQAs
1. Find and select IQA
2. Click Run (or double-click)
3. (optional) Supply filter values & click
4. (optional) Select record or extract
results
REVOLUTION 2012
15. SHARE, COMPARE, BECOME MORE AWARE
How Report Designers create
1. Gather & Analyze reporting
requirements
2. Determine/create data Sources
(Business Objects) and link
3. Create Filters
4. Select Display fields
5. (optional) Set Sorting order, Security
6. Test
IQA Design Overview REVOLUTION 2012
16. SHARE, COMPARE, BECOME MORE AWARE
Gather reporting
• Do we already have something
similar? Where else will the
organization need to use similar
queries?
• Where is the data located in the
iMIS interface? How is it linked?
• What filters are needed?
• What columns do you need to
REVOLUTION 2012
17. SHARE, COMPARE, BECOME MORE AWARE
Analyze reporting
• Where does the desired data
live in iMIS? How is it related?
• How will users need to filter the
data?
• Do Business Objects exist to
access required data?
• Are subtotals, counts or
REVOLUTION 2012
18. SHARE, COMPARE, BECOME MORE AWARE
Basic vs. Advanced Mode
• Basic Mode
– Define sources + filters + what to display
– Run or Run as Report
• Advance Mode
– Using Queries in iMIS searches
– Aggregate criteria & display
– SQL Expressions in queries
REVOLUTION 2012
19. SHARE, COMPARE, BECOME MORE AWARE
Choosing Business Objects
iMIS Standard Prefixes
• Most built-in biz objects start with ‘Cs’
• Biz Objects built for Custom
Demographic tables typically start with
‘CsDemo_’
• Use Biz Obj Designer to see tables/
views/fields in each Biz Obj
• …use a naming standard for custom
REVOLUTION 2012
20. SHARE, COMPARE, BECOME MORE AWARE
Linking Business Objects
• In order to link two
Business Objects they
must share a common
field (often iMIS ID)
• The field names do not
have to be identical but CsContact CsActivity
the data must match for • iMIS ID • ID
a record to be included • Full Name • Activity
(using default link) • Informal Type
• Email • UF 1
• This is the same
concept as the (inner) •… • UF 2
join between relational •…
database tables
REVOLUTION 2012
21. SHARE, COMPARE, BECOME MORE AWARE
Alternative Link Types
• Left Join will include all records from Biz
Obj on left
– CsContacts Left Join CsDonations will include
all contacts, even those who didn’t donate
• Not Exist will return records not contained
in the other Biz Obj
– CsContacts Not Exist CsEventActivity will
return customers who did not register for a
REVOLUTION 2012
22. SHARE, COMPARE, BECOME MORE AWARE
Linking Business Objects
The specific type of relationship between two sources. The following relationship
operators are available in IQA. Each operator builds a different temporary source
against which the query is run:
•Equals - Defines an INNER JOIN between the two sources in the SELECT statement that
builds the query table.
•Left Join - Defines a LEFT OUTER JOIN between the two sources in the SELECT statement
that builds the query table.
•Exists - Defines an EXISTS subquery in the WHERE clause of the SELECT statement that
builds the query table. The subquery tests for matches between the specified columns
in the two sources.
•Not Exist - Defines a NOT EXISTS subquery in the WHERE clause of the SELECT statement
that builds the query table. The subquery tests for matches between the specified
columns in the two sources.
•Or Exists - Defines an OR EXISTS subquery in the WHERE clause of the SELECT statement
that builds the query table. The subquery tests for matches between the specified
columns in the two sources.
REVOLUTION 2012
23. SHARE, COMPARE, BECOME MORE AWARE
Saving: Folders & naming
• Decide whether to store all IQAs in
Customers or spread out among individual
iMIS modules
• Create and enforce an organizational folder
(e.g. departmental, functional) and IQA
naming strategy to easily find IQAs
• Create a policy among designers to make
copies when they are significantly modifying
an IQA – leave original for current uses
REVOLUTION 2012
24. SHARE, COMPARE, BECOME MORE AWARE
Saving: Folders & naming
• Well thought-out folders & naming
scheme give more context to IQA titles
• Use the description field when
creating/updating for historical notes
(unfortunately only visible to
designers, not end users)
REVOLUTION 2012
25. SHARE, COMPARE, BECOME MORE AWARE
Saving: Folders & naming
• Well thought-out folders give more
context to IQA titles
• Use the description field when
creating/updating for historical notes
(unfortunately only visible to
designers, not end users)
REVOLUTION 2012
26. SHARE, COMPARE, BECOME MORE AWARE
Aggregate Functions
• Can be used in two places in IQA
– Filters
– Display
• Scenario – Searching for high value
constituents
– Spent within the past year
– Life-time spending is over 10,000
REVOLUTION 2012
33. SHARE, COMPARE, BECOME MORE AWARE
In-Class Exercise #1
Find former/current committee
members that have not made a gift this
year
REVOLUTION 2012
34. SHARE, COMPARE, BECOME MORE AWARE
In-Class Exercise #1
1.Add CsContact and two CsActivity as
Sources
2.Relate CsContact.ID to CsActivity.ID
3.Relate CsContact.ID does not exist
CsActivity1.ID
4.Filter CsActivity for Activity Type =
COMMITTEE
5.Filter CSActivity1 for Activity Type =
REVOLUTION 2012
35. SHARE, COMPARE, BECOME MORE AWARE
In-Class Exercise #2
Find every member and indicate
whether they are going to a certain
event (leave the decision on which
event up to the end user of the IQA)
REVOLUTION 2012
36. SHARE, COMPARE, BECOME MORE AWARE
In-Class Exercise #2
1.Add CsContact and CsRegistration as
Sources
2.Relate CsContact.ID to
CsRegistration.BT_ID? using a left join
3.Filter CsContact.Member Type =
Member?
4.Filter CsRegistration for Meeting Code
= <leave this up to the IQA user>
REVOLUTION 2012
37. SHARE, COMPARE, BECOME MORE AWARE
Business Objects are an
abstraction layer
PDF
Busines
Busines
s Table iMIS
XLS IQA s
Business
Object or Database
Object
Object
View
On-
Screen
Table Business Objects can
enable field aliases,
data formatting, code
lookups, data from
REVOLUTION 2012
38. SHARE, COMPARE, BECOME MORE AWARE
Which layer does What?
PDF
Busines
Busines
s Table iMIS
XLS IQA s
Business
Object or Database
Object
Object
View
On-
Screen
Table • Reporting needs may require work
in any layer
• Start with the end in mind (left ->
right)
REVOLUTION 2012
39. SHARE, COMPARE, BECOME MORE AWARE
Business Object Designer
• Allows you to create/modify Business
Objects
• Located under Tools or iSA tab
REVOLUTION 2012
41. SHARE, COMPARE, BECOME MORE AWARE
Create Business Objects from
Custom SQL Views (1/2)
1. Create view in SQL Mgmt Studio; grant
the iMIS Group SELECT permissions:
(grant select on <view_name> to IMIS)
2. iMIS > Tools > Business Object
Designer
3. New > Design Business Definition
4. Give the biz obj a Name according to
your naming scheme & Description >
Create Object
REVOLUTION 2012
42. SHARE, COMPARE, BECOME MORE AWARE
Create Business Objects from
Custom SQL Views (2/2)
5. Go to the Database tab and click the Add
button
6. Find view (or table) (type first few letters) >
Click Add
7. Click Add All as Properties button (below field
list)
8. Click Save, Click Publish
REVOLUTION 2012
44. SHARE, COMPARE, BECOME MORE AWARE Note! Arrows will
not display in Edit
mode – only at
run-time.
Creating live links
Use keywords on Display tab in Alias
field to enable Select option
Keywords
key_conta Customers iMIS ID
key_event Events Order No
key_order Orders Order No
Full list: http://docs.imis.com/
15.2/
accessingmodulebasedreports4.ht
m
REVOLUTION 2012
45. SHARE, COMPARE, BECOME MORE AWARE
In-Class Exercise #3
Modify the event IQA created earlier to
enable the user to go to any event
registration directly from the IQA
results
REVOLUTION 2012
46. SHARE, COMPARE, BECOME MORE AWARE
SQL Expressions in Display
Use for non-persistent values you don’t
want to store in the database but need
for reporting
(e.g. specialized member name format)
vBoCsContact.FirstName+' '+vBoCsContact.LastName+' '+'is the '+vBoCsContact.Title+'.'
REVOLUTION 2012
47. SHARE, COMPARE, BECOME MORE AWARE
Turn Email and Website Fields
in Queries into Links (1/3)
IQAs fields that display an email/URL
(e.g. CsContact.Email) can display
their data as clickable links
3
REVOLUTION 2012
48. SHARE, COMPARE, BECOME MORE AWARE
Turn Email and Website Fields
in Queries into Links (2/3)
1. On the Display tab > Custom > SQL Expression
2. Enter the following into the SQL Expression field:
char(60) + 'a href="mailto:' + vBOCsContact.email + '"' + char(62) +
vBoCsContact.Email + char(60) + '/a' + char(62)
For URLs, leave out: mailto:' +
3. Give the SQL Expression an Alias, such as LinkedEmail
4. Click the symbol to add it to the list of Display fields
REVOLUTION 2012
49. SHARE, COMPARE, BECOME MORE AWARE
Turn Email and Website Fields
in Queries into Links (3/3)
REVOLUTION 2012
50. SHARE, COMPARE, BECOME MORE AWARE
Creating live links in 15.2
• Expanded options: content records,
navigation items or ASPX web pages
• Display tab > Link field (Advanced
mode)
http://docs.imis.com/15.2/linkingiqaresults2.htm
see “completed orders web part” example
REVOLUTION 2012
51. SHARE, COMPARE, BECOME MORE AWARE
Use relative date criteria
Make selections based on current date
rather than requiring user to enter a
fixed date.
Click the Run button and IQA will
enter the @date command, which
means current date.
REVOLUTION 2012
52. SHARE, COMPARE, BECOME MORE AWARE
Multiple Filter values
To search for multiple values, enclose in
quotes and separate with commas
(e.g. area code equals “314”,”512”)
REVOLUTION 2012
53. SHARE, COMPARE, BECOME MORE AWARE
Avoid Excel Extract Security
See this article for registry entry:
http://support.microsoft.com/kb/
948615
REVOLUTION 2012
54. SHARE, COMPARE, BECOME MORE AWARE
Formatting date/time fields
Annoyed by the time showing in your XLS?
Update field in Business Object Designer
Properties > Display > Display Mask
REVOLUTION 2012
55. SHARE, COMPARE, BECOME MORE AWARE
In-Class Exercise #4
Find a biz obj that uses the full date
(m/d/yyyy hh:mm:ss) and change it to
use the short date (m/d/yyyy).
Publish the biz obj and use it in an IQA
to verify the change in Display Mask.
REVOLUTION 2012
57. SHARE, COMPARE, BECOME MORE AWARE
Adding value lists to Filters
Update field in Business Object Designer
Properties > Values
REVOLUTION 2012
58. SHARE, COMPARE, BECOME MORE AWARE
Create Business Objects for all
User Defined Tables
1. Tools > Task Area (left) >
2. Utilities > User defined
tables
3. Click Build All (to the far
right)
REVOLUTION 2012
59. SHARE, COMPARE, BECOME MORE AWARE
IQAs can be Sources
Create very generic, frequently used
IQAs and add as you would a Biz Obj.
Make sure to display at least one key
field in the sub-IQA.
This is great
for code
lookup
tables. Many
are already
built in. See
the doc
system.
REVOLUTION 2012
60. SHARE, COMPARE, BECOME MORE AWARE
Display IQAs on WCM (1/2)
Find the IQA being used by Public Views
REVOLUTION 2012
62. SHARE, COMPARE, BECOME MORE AWARE
Display IQAs on WCM
• Keywords used in filters will return results
for current user or selected user:
• @LoggedInUser or @Me
• @SelectedUser or @SubjectContact
• @SelectedID
http://docs.imis.com/15.2/#!addingdynamicfilters.htm
REVOLUTION 2012
63. SHARE, COMPARE, BECOME MORE AWARE
Previous Versions of Biz Objs
• You can revert to previous versions of
Business Objects, but the versioning
system is not yet available for IQAs
– In the Business Object Designer select Biz
Obj, click Versions, select desired version
and click Revert.
– You will need to Compile and Publish the
object again
REVOLUTION 2012
64. SHARE, COMPARE, BECOME MORE AWARE
New IQA Features in 15.1
• Totals, counts, subtotals
• Output to PDF
• Output to SQL Server Reporting Services
(formatting, grouping, global formats)
without leaving iMIS
REVOLUTION 2012
69. SHARE, COMPARE, BECOME MORE AWARE
Cheat Sheet: Addresses
http://docs.imis.com/15.2/commonaddressjoins.htm
REVOLUTION 2012
70. SHARE, COMPARE, BECOME MORE AWARE
Cheat Sheet: Tables/Joins
ttp://docs.imis.com/15.2/index.htm?turl=commonreporttablesandjoins.ht
REVOLUTION 2012
71. SHARE, COMPARE, BECOME MORE AWARE
Support IQA!
A modern, flexible and free reporting tool.
advsol.com > Support > Tech Support > Support Request
REVOLUTION 2012
Notes de l'éditeur
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
Example: make IQAs of most common groups of people (current staff, curr vols, all vols, etc.) and then combine and reuse in other IQAs\n