Advantages of sas for reporting SAS® mindfulness Advantages of sas for reporting
Advantages of SAS for Reporting Large Volumes of Data Multiple Data Sources Logic Based Fields and Flags Visualization of Data Validation Log Review Automation Elizabeth
Large Volume of Data and Grouping Challenges Record selection in Crystal Reports only offers limited functionality Datasets can’t be filtered prior to being joined resulting in large final output Complicated design and formulas necessary to complete in Crystal Reports Crystal Limitations Breaking apart queries Easier to read: Ability to step through process view oracle queries separately: validation Enhanced filtering capabilities Limits on more than one oracle query Filter on “on” Exclude in between queries Merging datasets \\dhs\dfs\Groups\Decision Support\IS\Elizabeth Villalobos\Completed\I9738 Chlamydia BPA Effectiveness with Existing Orders\DS18I9738 Chlamydia BPA Effectiveness with Existing Orders.sas
Large Volume of Data and Grouping Example: Accounts Receivable needs a report listing the first late credit card payment. Obstacle: Crystal reports would require bringing back all late payments and then only displaying the first row. Breaking apart queries Easier to read: Ability to step through process view oracle queries separately: validation Enhanced filtering capabilities Limits on more than one oracle query Filter on “on” Exclude in between queries Merging datasets \\dhs\dfs\Groups\Decision Support\IS\Elizabeth Villalobos\Completed\I9738 Chlamydia BPA Effectiveness with Existing Orders\DS18I9738 Chlamydia BPA Effectiveness with Existing Orders.sas
Large Volume of Data and Grouping Solution: Use first dot technique to limit to 1 row in a SAS program. Breaking apart queries Easier to read: Ability to step through process view oracle queries separately: validation Enhanced filtering capabilities Limits on more than one oracle query Filter on “on” Exclude in between queries Merging datasets \\dhs\dfs\Groups\Decision Support\IS\Elizabeth Villalobos\Completed\I9738 Chlamydia BPA Effectiveness with Existing Orders\DS18I9738 Chlamydia BPA Effectiveness with Existing Orders.sas
Large Volume of Data and Grouping Advantage: Only 1 row/account is displayed as output rather than multiple rows/account. Breaking apart queries Easier to read: Ability to step through process view oracle queries separately: validation Enhanced filtering capabilities Limits on more than one oracle query Filter on “on” Exclude in between queries Merging datasets \\dhs\dfs\Groups\Decision Support\IS\Elizabeth Villalobos\Completed\I9738 Chlamydia BPA Effectiveness with Existing Orders\DS18I9738 Chlamydia BPA Effectiveness with Existing Orders.sas
Large Volume of Data and Grouping Example: Account representatives have requested account detail on late payments. The representatives will be contacting customers with more than 3 late payments. Elizabeth Obstacle: Crystal reports is unable (through standard record selection) to use advanced programming techniques, such as a having clause.
Large Volume of Data and Grouping Solution: Group on 1 column while querying all data. Elizabeth
Large Volume of Data and Grouping Advantage: Only accounts with more than 3 late payments are output rather than all accounts with late payments Elizabeth
Multiple Data Sources Example: Obstacle: Following attendance of a conference, sales needs a report that compares an excel file with leads against existing accounts to determine new leads to contact. Melissa Multiple data sources Combines multiple databases (e.g. Data Warehouse, Data Marts, Access) Inputs external files (e.g. excel, flat files) Obstacle: Crystal reports struggles with combining multiple data sources – may require hard-coding.
Multiple Data Sources Solution: Import excel file. Merge with account table to create report with lead type. Melissa Multiple data sources Combines multiple databases (e.g. Data Warehouse, Data Marts, Access) Inputs external files (e.g. excel, flat files)
Multiple Data Sources Advantage: Ability to combine data sources including… Flat files Excel Data Warehouse or Data Mart tables Access databases Melissa \\dhs\dfs\Groups\Decision Support\IS\SAS\SAS_Scheduled_Reports\Production\Programs\Scheduled\Scheduled Programs\DS1835048_Termed_or_Transferred_Provider_Attribution_(Monthly_23rd).sas
Validation Techniques Why is validation important? Elizabeth
Validation Techniques in= Payments Accts w/ Pmts Accounts Elizabeth
Validation Techniques in= Elizabeth 122 should be 123
Validation Techniques Using Counts Elizabeth Account_id 789 is duplicating rows based on account_id being built in 2 rows in account table
Validation Techniques Using Counts Elizabeth
Validation Techniques Using Sums Elizabeth
Validation Techniques Using Sums CODING ERROR ISSUE FOUND: FLAG LIMIT NOT CORRECT Elizabeth
Log Review Melissa
Automation: Macros Why would you want macro? Are your parameters constantly changing? Do the results of one of your queries impact your subsequent filters? How often do you need to run the same code for various locations, areas, groups? Elizabeth
Automation: Macro Variables Example: The marketing department would like a list of customers whose account was setup 10 years ago and have not had any credit card action on the account for the last 5 years. Additional Information: Report will run monthly so dates need to be dynamic Both datasets are very large and querying together could cause performance issues. Elizabeth
Automation: Macro Variables 1) Dynamically Create Dates Elizabeth
Automation: Macro Variables 2) Dynamically Create List of Accounts Elizabeth
More Ways to Automate Additional automations options in SAS Scheduling Notifications Validation of results Melissa Scheduling -Need a job to run at the same time every day – middle of the night or trigger to start running jobs (after extract) Notifications – reports available for users Validation of results – certain record counts sent to analysts
More Ways to Automate Scheduling SAS EG works with Windows scheduler Melissa
More Ways to Automate How do I see which jobs are scheduled? Melissa Limit based on macro variables created from initial query
More Ways to Automate Emailing Notification of jobs finishing Automatically send out reports or notifications process completed Melissa Limit based on macro variables created from initial query
More Ways to Automate Validation of results Output observation counts into emails Melissa
Getting Your Feet Wet… Enterprise Guide Wizards Program without coding View/alter SAS created code Learn programming techniques Limit based on macro variables created from initial query
…SAS Makes it Easy Programming as an art…especially in SAS Combines different types of programming: SQL Data steps Procedures Macro language Enterprise Guide interface Limit based on macro variables created from initial query
Contact Information Melissa L. Nedvecki, MBA | Data Analyst Dean Clinic - Corporate Office Business Intelligence 1808 W Beltline Hwy Madison, WI 53713 Phone 608.250.1533 | melissa.nedvecki@deancare.com Elizabeth J. Villalobos | Data Analyst Dean Clinic - Corporate Office Business Intelligence 1808 W Beltline Hwy Madison, WI 53713 Phone 608.294.6429 | elizabeth.villalobos@deancare.com www.deancare.com Partners who care Thank you! Limit based on macro variables created from initial query SAS and all other SAS Institute Inc. product or service names are registered trademarks or trademarks of SAS Institute Inc. in the USA and other countries. ® indicates USA registration.