Version 5 (modified by 13 years ago) ( diff ) | ,
---|
Table of Contents
S3Cube
S3Cube is a REST method handler for data analysis.
Functionality
S3Cube can generate contingency tables (a.k.a. pivot tables) from S3Resources.
Dependencies
S3Cube uses pyvttbl to generate contingency tables. A modified version of pyvttbl
is integrated into the S3 framework.
Pyvttbl requires the following Python modules:
- scipy
- numpy
- matplotlib
Python 2.7 is recommended for S3Cube, however it would work with Python 2.6.
URL methods
S3Cube responds to the analyze URL method.
The following parameters are accepted:
Parameter Explanation required? rows the name of the field to be used for the table rows yes cols the name of the field to be used for the table columns yes fact the name of the field to be used for the instance values yes aggregate the aggregation function no (default: list)
rows, cols and fact support the same options as list_fields:
- fields in the table
- virtual fields in the table
- fields/virtual fields in tables linked by foreign keys ($-notation)
S3Cube supports a number of aggregation functions. The following functions have been tested so far:
Function Explanation list a comma-separated list of all instance values count the number of instance values sum the sum of all instance values avg the average (mean) of all instance values
Examples
- http://localhost:8000/eden/org/organisation/analyze?rows=country&cols=sector_id&fact=name
- http://localhost:8000/eden/pr/person/analyze?rows=age_group&cols=gender&fact=id&aggregate=count
Further Development
The following enhancements are currently under development:
- Totals row and column
- Support for JSON, CSV and XLS exports
- Support for client-side graphs representation (via JSON)