Atomic Context: The Key to Flexible Sub Summary Reporting Jeremiah Small San Mateo Staff Meeting, Nov 28, 2007.

Slides:



Advertisements
Similar presentations
Advanced SQL Topics Edward Wu.
Advertisements

Microsoft® Access® 2010 Training
Database Ed Milne. Theme An introduction to databases Using the Base component of LibreOffice LibreOffice.
AESuniversity Ad hoc Reporting. Ad hoc Reports What are ad hoc reports? Why would you use ad hoc reports? Creating an ad hoc report from a query Building.
What is a Database By: Cristian Dubon.
Relational Databases Chapter 4.
Database Features. Lists n An Excel worksheet can be used like a table in a relational database. n In Excel, such a table is called a list. n Each row.
1 Creating and Tweaking Data HRP223 – 2010 October 24, 2011 Copyright © Leland Stanford Junior University. All rights reserved. Warning: This.
Developing Effective Reports
Chapter 7 Data Management. Agenda Database concept Import data Input and edit data Sort data Function Filter data Create range name Calculate subtotal.
1 The Information School of the University of Washington Nov 29fit forms © 2006 University of Washington More Forms INFO/CSE 100, Fall 2006 Fluency.
Chapter 2 Querying a Database
Chapter 4 Relational Databases Copyright © 2012 Pearson Education, Inc. publishing as Prentice Hall 4-1.
Chapter 4 Relational Databases Copyright © 2012 Pearson Education 4-1.
Microsoft Access 2007 Microsoft Access 2007 Introduction to Database Programs.
Problem Solving Using Excel
Developing Effective Reports
XP Chapter 5 Succeeding in Business with Microsoft Office Access 2003: A Problem-Solving Approach 1 Developing Effective Reports Chapter 5 “Nothing succeeds.
Array Processing Simple Program Design Third Edition A Step-by-Step Approach 7.
Mr. Justin “JET” Turner CSCI 3000 – Fall 2015 CRN Section A – TR 9:30-10:45 CRN – Section B – TR 5:30-6:45.
PHP meets MySQL.
Microsoft Access Lesson 1 Lexington Technology Center February 11, 2003 Bob Herring On the Web at
HNDComputing – DeMontfort University  DeMontfort University 2011 Database Fundamentals wk2 Database Design ConceptsDatabase Design Concepts Database Design.
Management Information Systems MS Access MS Access is an application software that facilitates us to create Database Management Systems (DBMS)
_______________________________________________________________________________________________________________ PHP Bible, 2 nd Edition1  Wiley and the.
Microsoft ® Access ® 2010 Training Create Queries for a New Database If a yellow security bar appears at the top of the screen in PowerPoint, click Enable.
Relational Databases (MS Access)
Copyrighted material John Tullis 10/17/2015 page 1 04/15/00 XML Part 3 John Tullis DePaul Instructor
Discovering Computers Fundamentals Fifth Edition Chapter 9 Database Management.
Examining data using Microsoft Access Queries Using Criteria and Calculations SESSION 3.2 This section covers specifying an exact match condition in a.
Selection Control Structures. Simple Program Design, Fourth Edition Chapter 4 2 Objectives In this chapter you will be able to: Elaborate on the uses.
Developing Reports with Denkh HTML Reporter Scott Auge Amduus Information Works, Inc.
ACCESS CHAPTER 5 FORMS AND REPORTS Learning Objectives: Build a simple form Add a label, text box, and list controls to a form Create a multi-table form.
Database Systems Microsoft Access Practical #3 Queries Nos 215.
CS1100: Data, Databases, Queries Action Queries CS11001Advanced Queries.
1 Reports. 2 Objectives  Use concatenation in a query  Change column headings and formats  Add a title to a report  Group data in a report  Include.
DATABASE SYSTEMS. DATABASE u A filing system for holding data u Contains a set of similar files –Each file contains similar records Each record contains.
IT Applications Theory Slideshows By Mark Kelly Vceit.com Last modified : 6 Dec 2013 Databases II: Structure, naming, data types, data formats.
Copyright © 2010 – MICS 2010, Curt Hill Instructor Tools: Test Data Generation Curt Hill Valley City State University.
What have we learned?. What is a database? An organized collection of related data.
There are seven main components of a database in Access 2000: Tables. Use tables to store database information. Forms Use forms to enter or edit the information.
Database Applications – Microsoft Access Lesson 4 Working with Queries 36 Slides in Presentation.
Reports and Queries Chapter 3 – Access text Reports – Page Queries – Page
What are queries? Queries are a way of searching for and compiling data from one or more tables. Running a query is like asking a detailed question of.
Reports. Report Summary Warehouse Reports Returned Material Serial Numbers Not Found This report list the serial numbers of material returned which were.
IT Applications Theory Slideshows Databases II: Structure, Naming, data types, data formats.
NMD202 Web Scripting Week5. What we will cover today PHP & MySQL Displaying Dynamic Pages Exercises Modifying Data PHP Exercises Assignment 1.
©2007 Austin Troy Lecture 7: Introduction to GIS 1.Queries and table operations for a single layer in Arc GIS 2.Intro to queries in Access Lecture by Austin.
MIS2502: Data Analytics Relational Data Modeling
Don’t know who your best customer is? Not sure which product sells the best? Piles of paper laying around and you just can’t keep your sales or jobs in.
CPSC 203 Introduction to Computers T43, T46 & T68 By Jie (Jeff) Gao.
CPSC 203 Introduction to Computers Lab 66 By Jie Gao.
ACCESS REPORT GENERATOR. IT Fundamentals2 Reports Overview Reports are an important part of any computer business application. Features that are important.
© Copyright 2015 salesforce.com, inc. All rights reserved. Various trademarks held by their respective
Adding Reports to a Database. Why do we use Reports? Reports are well-designed printed pages that offer several advantages: Reports are well-designed.
Notes: **A Row is considered one Record. **A Column is a Field. A Database is…  an organized set of stored information usually on one topic  a collection.
Databases. What is a Database? A database is an organized collection of information or data. Databases can be paper-based or electronic. Information (text.
Microsoft® Access Generate reports quickly 1 Modify controls in layout view 2 Work with report sections 3 Work with controls in a report 4 Use Format.
Creative Create Lists Elizabeth B. Thomsen Member Services Manager
Microsoft Office Access 2010 Lab 3
MIS2502: Data Analytics Relational Data Modeling
Analyzing Data with Excel
Designing and Writing Control-Break Programs
From and Report.
Joins and other advanced Queries
Warrants 1st Alerts 2nd Sub-Sorted by Agency.
Presentation transcript:

Atomic Context: The Key to Flexible Sub Summary Reporting Jeremiah Small San Mateo Staff Meeting, Nov 28, 2007

Atomic?! (more later) But first…

A Simple Example

No, seriously. It’s not as big a mess as it looks…

A Simple Example Requirements: 1. Report on various tables (at least 3) 2. Extract totals from 2 date ranges –Actual range as defined by user –Same range in the previous year 3. Show the % change between ranges and the % of the total for each range

Report: Rep Sales Totals

Report: Products by Class

Report: Products by Class then Rep

Report: Business Types by Territory

Report: Locations by Type then Rep

Report: Locations by Rep

Report: Products by Location

Report: New Locations by Territory

An Example Solution

So what about atomic context?! Oxford American Dictionary a-tom-ic: of or forming a single irreducible unit or component in a larger system. Disambiguation NOT used as in the same sense as an atomic operation in computer science which refers to a set of operations that can be combined so that they appear to the rest of the system to be a single operation with only two possible outcomes: success or failure.

So have I been misleading you?

What is the atomic context here?

These all run from Invoice Line context

But how can that be? 1. We don’t see Invoice Line items in reports 2. We need to extract 2 date ranges –Actual range as defined by user –Same range in the previous year 3. We need to compare values between ranges

1. No rule that you must display body

2. Conditional atomic values

So conditional atomic values let us do this…

3. Doing math on Summary values …but what about this?

3. Doing math on Summary values

What’s the catch? The break field in a GetSummary function… MUST BE LOCAL

3. Doing math on Summary values

The break field in a GetSummary function must be local?! …bummer :-( …but wait! Nobody said it can’t be a calc field! The trick? Bring all your break fields to the atomic context as calc fields.

3. Doing math on Summary values Bring all your break fields to the atomic context as calc fields. Bonus: You can add some logic to your break fields.

3. Doing math on Summary values Note: You can sort by the same summary field or a constant to get Grand Summary values.

3. Doing math on Summary values GetSummary () with localized break fields lets us do this $50, ÷ $1,546, = 3%

3. Doing math on Summary values GetSummary () with localized break fields lets us do this Let ( [ cur = GetSummary( _il_cur_AVG_price_sm ; _ct_RepName ) ; pre = GetSummary( _il_pre_AVG_price_sm ; _ct_RepName ) ]; Case ( cur ≤ 0 ; "" ; pre ≤ 0 ; "" ; cur > pre ; ( cur / pre - 1) ; pre > cur; ( pre / cur - 1 ) * -1 ; 0 )//endCase )//endLet

3. Doing math on Summary values GetSummary () with localized break fields lets us do this ($249, ÷ $50, ) x -1 = -391%

…but it’s not just for FileMaker Sub-summarize records on a Web page First record

…but it’s not just for FileMaker Sub-summarize records on a Web page First group

PHP Sub Summary Do one query, not seven

PHP Sub Summary Do one query, not seven

PHP Sub Summary Do one query, not seven

PHP Sub Summary Do one query, not seven

PHP Sub Summary Remember the break field for Sub Summaries?

PHP Sub Summary Remember the break field for Sub Summaries?

PHP Sub Summary With records grouped by a break field, nested loops can print them to the screen just like FileMaker sub summaries

PHP Sub Summary Sub-summarize records on a Web page 1st group First record Second record Third record Second group And so on…

Concept Review Atomic Context –The table that represents an irreducible unit or component in the larger system. –If you find yourself considering complicated algorithms to extract report data from child records, question your context. Sub Summary –A field (column) representing a de-normalized (non-unique) attribute when treated as a group (break field) for all the records (rows) sharing that attribute. –In FileMaker this is achieved by sorting. –In PHP this is achieved by appending records into associative arrays named as the break field values.