crystal report writing from a - texas skyward user … skyward user group conference crystal report...
TRANSCRIPT
Texas Skyward User Group Conference
Crystal Report Writing from a
Customer’s Perspective
Agenda
• Why use Crystal Reports?
• Skyward Resources for Report Writing
• Basic Crystal Reports Skills
• Using Skyward’s Custom Reports Area
• Report Gallery
• Resources
• Q & A
Why Use Crystal Reports?
• Access to all Skyward tables and fields
• Full control of report formatting
• Ability to leverage multiple data sources
• Use of SQL queries
• Ability for automation via SAP Business Intelligence (Crystal Reports) Server
• Expands on capabilities for 3rd party exports.
• SkyDoc– Report Writing
• Custom Reports– Database Design Resources
– View Tables
• ALT + F2– Table location of current field (edit
mode)
• CTRL+SHIFT+ALT+F12– Browse Query Used
• Skyward SQL Query Tool
Skyward Resources For Report Writing
• Database design by system
• ODBC Information
• SQL Query Information
• Crystal Reports Information
-SkyDoc
• Custom Reports / Database Design Resources
– Redirects to SkyDoc
• Custom Reports / View Tables
– Table list, with all fields and Indices
-Custom Reports area of Skyward
• Student Profile / General / Profile / Date of Birth
Table = NAME
Field = BIRTHDATE
-CTRL+F2
-CTRL+SHIFT+ALT+F12
Example – Student Browse – General Address View – All Active
Tables and Filters Used:
• STUDENT-ENTITY
• Filtered to current entity (in this case 041)
• Filtered to STUDENT-STATUS = ‘A’
Table Links Used:
• STUDENT-ENTITY.STUDENT-ID = STUDENT.STUDENT-ID
• NAME.NAME-ID = STUDENT-ENTITY.STUDENT-ID
• Process SQL queries against the Skyward database
• ISCORP customers will need a connection string (see SkyDoc)
-Skyward SQL Query Tool (ODBC Query Tool)
Skills
• Grouping
• Sub Reports
• Local vs Shared Variables
• Parameters
• Summary Field
• Indices
• Table Order
Setup groups from the Group Expert, or from the Insert Group icon:
-Grouping
Group processing order:
• Headers
• Detail
• Footers
This is important to consider when
using shared variables for counters.
• Report within a report
• Insert into report
• Choose report fields to link sub report to main report
-Sub Reports
Sub Report
Main Report – Inserted into Footer #2c
Linked
To
NAME.
NAME-ID
-Variables – Local and Shared
• Local:– Variable only used for current Formula
or Filter.
– Variable name can be repeated
– Example: local stringvar myVariable;
• Shared:– Variable name shared throughout
entire report
– Variable updated in top-to-bottom order of report
– Example:shared stringvar mySharedVariable;
-Variables – Shared Variable Processing Order
Variable Assigned
Variable updated each time group changes
Variable updated once per record (details line)
Variable updated by sub report
Variable assigned to a Function and results displayed
shared stringvar mySharedVariable;
mySharedVariable;
-Parameters
• User prompted at time of report for value.
• Can be used in filter, query, and formulas
• User can restrict to a defined set of values, query a table for a dynamic set of values, or allow user to manually enter a value.
• Parameter request order can be changed
• Parameters are referenced as:{?parameterName}
-Parameters
Parameter List
Values Specified
Right-Click to set order
Parameter list built from ENTITY.ENTITY-ID
ENT-ID parameter
used in a query
-Summary Fields
• Counts
• Distinct Counts
• Minimum
• Maximum
• Mode
• Nth Largest
• Nth Smallest
• Nth Most Frequent
• On date fields, you can set frequency of group summary printing:
– By day, week, month, quarter, etc.
• Select which section to print summary
-Summary Fields
-Using Indices
• Performance, performance, performance– The more indices you ‘hit’ the faster your report will run
• Many tables will have multiple indices depending on how what type of data you are pulling
– Crystal does NOT require index specification. It will calculate best index to use based on filters, links, etc.
• Index defined as Primary=yes, Unique=yes will generally be the most efficient
• Crystal:– Use table links and filters to ‘hit’ the filter elements
• SQL (Command Table):– Use JOIN and WHERE clauses to ‘hit’ the filter elements
– TIP: if you are having trouble hitting a particular index, moving all index elements up to the JOIN clause and enumerating them in order will generally force Crystal to use that particular Index.
• Tip – If you encounter recursion (entire district’s pay records hitting for each employee), check to see if you missed an Index.
-Using Indices
CLASS-MEET INDEX:
Table links satisfy index
Filter contents satisfy
additional index elements
-Using Indices
CLASS-MEET INDEX:
JOIN clause satisfies index
WHERE clause satisfies
additional index elements
-Table Order
• The order that you link your tables matters.
• Database Diagrams (SkyDoc) will assist in determining table order and common fields to use for links.
• Try to use smaller tables first.
– Entity table only has 1 entry for each of your campuses, plus one for district
– STUDENT-ENTITY table will have thousands (perhaps millions) of records
– For Students, if you start with Entity table, you can use ENTITY.ENTITY-ID as an index element for STUDENT-ENTITY.
• STUDENT-ENTITY.ENTITY-ID = ENTITY-ENTITY-ID
– For staff, if you start with the HAAPRO-PROFILE table, you will pick up many fields that can be used to index other tables.
• If you are having issues linking from one table to another, look for intermediate tables.
– Example: STUDENT table has nothing in common with the ENTITY table, but STUDENT-ENTITY contains fields common to both (ENTITY-ID and STUDENT-ID)
• Use the data dictionary (Custom Reports / View Tables) to assist in locating these common fields.
• Tip: if the common field has a type mismatch, you can use a SQL query for the data pull and CAST one of the fields to the other data type.
Run reports from Skyward’s Custom Reports Area
• Requires setup by Skyward– RAS Service and App Server
• Build/test report in Crystal Reports.
• Upload to Custom Report area
• Verify compatibility
– Custom Reports does not currently support Dynamic Parameters
• Add notes to report setup
• Assign security groups
• Users can download/install the Crystal Offline Viewer to take advantage of features available in Crystal Report format.
• Use parameter {?PENTITYID} to restrict dataset to the Entity of the user.
Run reports from Skyward’s Custom Reports Area
Run reports from Skyward’s Custom Reports Area
Run reports from Skyward’s Custom Reports Area
• Select Export Method
• Fill in Parameters
• Run Report
STUDENT REPORT SAMPLES
Attendance, Grades, Discipline, and Demographics
Attendance Summary Report
Run for daily, weekly, monthly, and yearly attendance
Demographics Summary Report
Special Programs Sheet
Student At Risk Report
Live Gradebook Reporting
Elementary Class Size Listing
Discipline Report – PBMAS
Do Not Photo / BYOD Rosters by Class
PURCHASING REPORT SAMPLES
Requisition Groups, Clearance Group Filters
Requisition Group Approvers
Requisition Group Users
Clearance Group Filter Listing
HR REPORT SAMPLES
Timesheet Report, Staff by PIC, Staff Profile
Timesheet Report – Highlight Emp Over 32 Hours
Emulates PEIMS PIC ReportExpanded to Report on PICs 21-35
Staff Profile Report by Semester
• Payroll and Personnel information from HR Module
• Schedule and Class information from Student Management
RESOURCES
Resources
• Crystal Reports Documentation from SAP– https://help.sap.com/viewer/p/SAP_CRYSTAL_REPORTS
• W3 Schools (SQL)– https://www.w3schools.com/sql/default.asp
• Report Writing resources from SkyDoc
• Report Writing resources from Skyward Forums– https://forum.skyward.com/
• Questions
• Thank you for attending
Texas Skyward User Group Conference
THANK YOU FOR ATTENDING!