Jácome Cunha
João Paulo Fernandes
Jorge Mendes
Rui Pereira
João Saraiva
Querying Model-Driven
Spreadsheets
Universidade do Minho
Braga, Portugal
Problem: Querying Spreadsheets
Problem: Querying Spreadsheets
• Spreadsheets are generally used to store
information
• Much like database systems
• Have no way to query what data they contain
• Attempts have been made to replicate traditional
querying systems for spreadsheets
• MS-Query
• Google QUERY Function
Problem: Querying Spreadsheets
• Highly restrict user’s spreadsheet data
• Requires data to be in a tabular format
• Requires headers to be present (in first
row)
• Column letters ≠ Column labels
• Counter intuitive queries
• Data evolution not supported
Proposed Solution: Example
Proposed Solution: Example
• Model-Driven spreadsheet representing
orders, clients, and products
Proposed Solution: Example
• Spreadsheet data instance
Proposed Solution: Example
• Query: How much have we profited from
each client?
Proposed Solution: Example
Google QUERY Function :
Denormalization
Proposed Solution: Example
• Google Query:
Google QUERY Function :
Proposed Solution: Example
Google QUERY Function :
Denormalization
Proposed Solution: Example
• Google Query:
Google QUERY Function :
Proposed Solution: Example
• Proposed Query:
Proposed Solution:
Proposed Solution: Example
Results:
• Query: How much have we profited from
each client?
Proposed Solution: Example
Results:
Model Inference:
Proposed Solution: Example
Results:
Model Inference:
Spreadsheet data instance:
Recap
Recap
• Take advantage of the powerful Google query engine while
adding extra functionality
• Allow more humanized queries
• Have ClassSheets supported
• Automatically structure the data into the needed format
• Allowing spreadsheet evolution
• Automatically deal with problems caused by denormalized
data querying
Architecture
QSArchitecture
Conclusions
Conclusions
• Incremental Denormalization
• Spreadsheet Synchronization
• Evaluation
Future Work
Accomplished
• Spreadsheet querying is more:
• Humanized
• Understandable
• Robust
• Productive
• More functionality
Questions?
Preliminary Study
2:58
3:16
2:36
3:09
1:06
0:24
0:32
1:53
0:00
0:28
0:57
1:26
1:55
2:24
2:52
3:21
3:50
Question 1 Question 2 Question 3 Question 4
Google QuerySheet
• QuerySheet was found to be approx. ~70% faster than
Google’s QUERY function
Minutes
Preliminary Study
• After each question, students were asked to choose which
system they preferred in regards to being:
• Intuitive
• Faster to write
• Easier to write
• Understandable
• Almost all preferred QuerySheet on every aspect

Talk at VL/HCC13

Editor's Notes

  • #19 Distinct/Join Derived data Repeating classes Attribute aggregation