Upload
rui-pereira
View
80
Download
0
Tags:
Embed Size (px)
DESCRIPTION
Querying for model-driven spreadsheets
Querying for Model-Querying for Model-Driven SpreadsheetsDriven Spreadsheets
Rui PereiraProf. João Saraiva(Supervisor)
Prof. Orlando Belo (Co-Supervisor)
University of MinhoUniversity of MinhoDepartment of InformaticsDepartment of Informatics
Problem: Querying Spreadsheets
2
Problem: Querying Spreadsheets
3
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
4
Highly restrict user’s spreadsheet data
Requires data to be in a tabular format
Requires header to be present (in first row)
Column letters ≠ Column labels
Counter intuitive queries
Data evolution not supported
Example5
Example: Running Data6
Model-Driven spreadsheet representing: orders, clients, and products
Example: Running Data7
Spreadsheet data instance
Example: Running Query8
Query: How much have we profited from each client?
Solution: Google QUERY Function
9
Solution: Google QUERY Function
10
Denormalization
Solution: Google QUERY Function
11
Google Query:
Solution: Google QUERY Function
12
Denormalization
Solution: Google QUERY Function
13
Google Query:
Solution: Envisioned Approach
14
Solution: Envisioned Approach
15
Proposed Query: SELECT Client.*, sum(TotalPrice)FROM Client JOIN OrderGROUP BY Client.*LABEL sum(TotalPrice) ‘Profits’
Solution: Envisioned Approach
16
Query: How much have we profited from each client?
Solution: Envisioned Approach
17
Model Inference
Solution: Envisioned Approach
18
Model Inference
Spreadsheet data instance
QuerySheet: Architecture19
QuerySheet: Architecture20
SELECT Pilots.*, Sum(Hours)WHERE Destination = ‘LIS’GROUP BY Pilots.*LABEL Sum(Hours) ‘Total Hours’
=query(A1:F53; “SELECT B, SUM(F) WHERE D = ‘LIS’ GROUP BY B LABEL SUM(F) ‘Total Hours’”
conforms to
conforms to
denormalization
model inference
execution
translation
Preliminary Study21
Preliminary Study22
Min
ut
es
QuerySheet was found to be approx. ~70% faster than Google’s QUERY Function
Preliminary Study23
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 prefered QuerySheet on every aspect
Contributions24
Contributions25
Querying Model-Driven Spreadsheets, Jácome Cunha, João Fernandes, Jorge
Mendes, Rui Pereira, and João Saraiva. In proceedings of the IEEE Symposium on
Visual Languages and Human-Centric Computing (VL/HCC 2013), San Jose, CA,
USA. IEEE Computer Society, September 2013.
QuerySheet: A Bidirectional Query Environment for Model-Driven
Spreadsheets, Orlando Belo, Jácome Cunha, João Fernandes, Jorge Mendes, Rui
Pereira, and João Saraiva. In proceedings of the IEEE Symposium on Visual
Languages and Human-Centric Computing (VL/HCC 2013), San Jose, CA, USA. IEEE
Computer Society, September 2013.
Spreadsheet Querying, Rui Pereira. In proceedings of the 5th International School
on Domain Specific Languages (DSL’2013), Cluj-Napoca, Romania, 2013. (to
appear)
Graphical Querying of Model-Driven Spreadsheet, Jácome Cunha, João Paulo
Fernandes, Rui Pereira, and João Saraiva. In proceedings of the 16th International
Conference on Human-Computer Interaction (HCI2014), Heraklion, Crete, Greece,
June 2014. (submitted extended abstract)
QuerySheet Software Prototype. (Available at ssaapp.di.uminho.pt)
Conclusion26
Conclusion27
Spreadsheet querying is more:
Humanized
Understandable
Robust
Productive
More functionality
Automatically deal with problems caused by
querying denormalized data
Future Work28
Future Work29
Incremental Denormalization
Graphical Querying Interface
Query/Model/Instance Bidirectionality
Evaluation
30
Querying for Model-Querying for Model-Driven SpreadsheetsDriven Spreadsheets
Rui PereiraProf. João Saraiva(Supervisor)
Prof. Orlando Belo (Co-Supervisor)
University of MinhoUniversity of MinhoDepartment of InformaticsDepartment of Informatics