Data Integration in Excel

Download Report

Transcript Data Integration in Excel

Data Integration in Excel
Dr. Nitin Paranjape
MVP (Office System)
Chairman and MD, Maestros
Version information
 Excel 2007 for all demos
 Many features exist in 2003 as well
 Keep Excel open to understand better
 But, don’t try to do what I am showing
 Using Beta version
 Complicated process of broadcasting voice
 Please bear with any crashes, disconnections
Objectives
 Understand available integration options
 Mapping business scenarios to available
features
 Understanding strengths and limitations of
data handling
POLL
 How many of you have used Excel for data
handling in your applications?
Data integration areas
 Data capture within Excel
 Getting external data into Excel
 Accessing Excel data from outside
– By Exporting it to another format
– By keeping it within Excel
 Processing data within Excel
 Using Excel as a report writer
Primary purpose of spreadsheet is
to analyze data.
NOT to store data.
Data sources
 ODBC / OLEDB
 SPS list
 XML
 OLAP
 Text
 Query files
Import tools
 Wizard (only ODBC)
 MS Query (only ODBC)
 Text import
 Text import VBA code
 Data connection wizard
Query files and connections
 This facility has been available for years
 It works on ODBC sources only
 Uses either a wizard or MS Query
 Demo (Wizard and MS Query)
Text Import
 Highly complex text import possible
 Fixed width or Delimited
 Multiple delimiters supported
 Decide data types while importing
 Manage multiple delimiters
 Manage preceding negative signs
 Demo
Text import programmatically!
With ActiveSheet.QueryTables.Add(
Connection:="TEXT;C:\temp\test.txt", _
Destination:=Range("$A$1"))
.Name = "test"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.TextFilePromptOnRefresh = False
.TextFilePlatform = 437
.TextFileStartRow = 1
.TextFileParseType = xlDelimited
.TextFileTextQualifier =
xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter = False
.TextFileTabDelimiter = True
.TextFileSemicolonDelimiter = False
.TextFileCommaDelimiter = True
.TextFileSpaceDelimiter = False
.TextFileColumnDataTypes = Array(1,
4, 3, 9, 1)
.TextFileTrailingMinusNumbers =
True
.Refresh BackgroundQuery:=False
End With
Importing ODBC vs OLEDB
 Import External Data = OLEDB
 New database query = ODBC
 Web query = import of HTML tables from web
sites
 More options added in 2007
– SQL Server direct
– XML
– Access
– Analysis services
Connections dialog in Excel 2007
 This is a major improvement
 You can see all available Existing connections
in a single place
 You can filter local, network and file based
connections in one dialog
 This helps you reuse any past connections
quickly
 Demo
Deploying connections across an
organization
 You can store Excel files in a special library
 Connection library in SharePoint
 Users can point to a SPS site and ask for
connection information
 This ELIMINATES the need to deploy / send
query files to multiple desktops
 It also provides centralized access control
Capturing data within Excel
 Very commonly used by end users
 Creates lots of problems
 Accuracy, validation, structure is missing
 Users send files to each other creating
confusion and multiple copies
Native features of Excel for capturing
data
 Linear data to auto-form : Demo
 Validations : Demo
 Forms & Control Toolbox controls
 User based editing : Demo
(Ccard.xls)
Understanding the importance of
Excel List
 We work on blocks of data in Excel
 When more data is added, formulas DO NOT






refresh automatically
This can lead to lot of errors
List corrects that problem
In addition, it integrates with SPS
In 2003, it is two way sync
In 2007, it is one way (from SPS to Excel)
Demo
Capturing data in SPS list
 Better alternative
 Keeps data central
 Users can update individually
 Shows only their own data
 No Manual consolidation required
 DEMO
Exporting data
 Supported formats
– Delimited
– XML spreadsheet
– XML
 Sounds like a limitation?
 How do you pick up data from Excel and put it
directly into your database?
 How do you use it with ETL tools like DTS?
Excel as ODBC source
 Excel ODBC driver has been available for years
 Create a named range
 Create ODBC source
 The Excel file is considered the database
 And Named ranges become tables
 Now it can be used in any tool which supports
ODBC. Including Excel!
 DEMO
Report generation using Excel
 Connect to data source
 Process the data
 Analyze data
 Render as report
 Finally let user manipulate the read only
snapshot of report in Excel
Report generation options
 Raw data with formulas and custom
formatting
– You make the report yourself by adding data from
a recordset into Excel
– Use SQL Reporting services to render it as Excel
 Pivot table : Demo
– Create a base view of report
– Let users do further analysis in a flexible way
Eliminating the row limit of Excel





The 65000+ limit of Excel is a misconception
There is no need to get data in Excel
Most want to do analysis using Pivot Table
Pivot table can be created DIRECTLY
In this case, there is no practical limit on the
number of rows
 The Pivot Cache is available OFFLINE automatically.
 Pivot drag drop does NOT fire database queries
 Only REFRESH button fires database level re-query
Pivot Table and dashboards
 Multiple copies of Pivot tables showing
different views of data
 Multiple pivot tables from different sources
 Pivot Tables and Pivot Graphs combined
Importance of learning Pivot Table
 Extremely powerful
 Eliminates complex SQL code
 Users can change format anytime –
eliminating further custom code
 Data connection libraries + AD security + pivot
table is a very secure, zero code solution for
reporting
GetPivotData function
 Initially it is confusing
 For Pivot based calculations outside the table
 Very useful when you are managing Pivot
Tales programmatically
 In this case you cant’ see the Row, Column
coordinates to put formulas
 How to use it?: Demo
OLAP reporting in Excel
 2003 was primitive support
 2007 provides better support
 Many more cube functions added
 The User interface is native and fast
 Office web components are also more
responsive even if the data is large
Consolidation
 Very powerful when data comes with Row and
Column headings (Cross tab format)
 Can be used programmatically
 Saves lots and lots of coding
 Results in Pivot Table: Demo
XML
 XML based, open, Excel file format
– Server side data crunching without Excel possible
– For Excel functions, use Excel Services
 Custom schema based editing, validation and
import export
 Custom actions and element sensitive Task
Pane UI using .NET code attached to XML
schema (Smart Documents)
Finally Excel Services based reporting
and data capture
 Renders Excel data as pure web page in a secure








manner
Create Excel sheet. Name required ranges.
Post it in SPS library
Configure library to use Excel services
Now users can view Excel as a simple web page
Interactivity is maintained
In-line editing is NOT possible
Specific, named cell values can be captured
Demo
Usage scenarios
 Interactive
 Programmatic
Interactive
 Complex delimited text file imports
 Consolidation
Programmatic
1.
2.
3.
4.
5.
6.
7.
8.
Data capture forms / surveys
Reporting from OLTP / OLAP with end user level report
format editing capabilities
Dashboards
SQL reporting services – render as Excel by default
SPS Lists based reporting
SPS List – Business Data Catalog – Excel reporting
Enterprise wide data connections in SPS lists
Office web component – PivotTable to deliver reports
on Web
Summary
 Learn Excel first
 There are many ways in which Excel can be
used for data capture, processing and
reporting
 Map the application business needs to the
appropriate data handling method
 This will make users happy and will eliminate
lots of complex code we write everyday
References
 Old interface to new interface
http://go.microsoft.com/?linkid=5174798
 Excel cell referencing (very useful while coding in VBA)
http://www.expresscomputeronline.com/20021216/techspace1.shtml
http://www.expresscomputeronline.com/20021223/techspace1.shtml
 Excel Help!
Thank you
[email protected]
www.nitinparanjape.com/blog
Learn and Grow
Quiz
 This is not a POLL
 You have to send your answers to
[email protected]
 Format should be
 1-A, 2-B and so on
Question 1: What is the number of
rows available in Excel 2007?
A.
B.
C.
D.
65365
1.5 million
1.1 million
1.04 million
Question 2:
In Office 2007, the data How does the data
synchronization between
Excel 2007 Table and SPS 2007 List work?
A.
B.
C.
D.
Changes in SPS change data in Excel table
Changes made in Excel change data in SPS
Changes can be bi-directional
No changes possible. It is a snapshot
Question 3:
Technology used to expose business data in
external databases in SharePoint 2007
is called…
A.
B.
C.
D.
Excel Services
Business Data Catalog
Data Connection Library
None of the above
Question 4:
Which type of data Excel CAN NOT
import?
A.
B.
C.
D.
DBF
SYLK
Visio
MDB