Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- require "rubygems"
- require "jdbc/mysql"
- require "mondrian-olap"
- schema = Mondrian::OLAP::Schema.define do
- cube 'Sales' do
- table 'fact_sales'
- dimension 'Customers', :foreign_key => 'dim_customer_id' do
- hierarchy :has_all => true, :all_member_name => 'All Customers', :primary_key => 'id' do
- table 'dim_customers'
- level 'Category', :column => 'category', :unique_members => true
- end
- end
- dimension 'Dates', :foreign_key => 'dim_date_id' do
- hierarchy :has_all => true, :all_member_name => 'All Dates', :primary_key => 'id' do
- table 'dim_dates'
- level 'Day', :column => 'day', :unique_members => true
- level 'Day Desc', :column => 'day_desc'
- level 'Month', :column => 'month', :unique_members => true
- level 'Month Desc', :column => 'month_desc'
- level 'Quarter', :column => 'quarter'
- level 'Year', :column => 'year', :unique_members => true
- end
- end
- dimension 'Products', :foreign_key => 'dim_product_id' do
- hierarchy :has_all => true, :all_member_name => 'All Products', :primary_key => 'id' do
- table 'dim_products'
- level 'Name', :column => 'name', :unique_members => true
- level 'Category', :column => 'category'
- level 'Colour', :column => 'colour'
- level 'Unit price', :column => 'unit_price'
- end
- end
- measure 'Units sold', :column => 'units_sold', :aggregator => 'sum'
- measure 'Total price', :column => 'total_price', :aggregator => 'sum'
- end
- end
- $olap = Mondrian::OLAP::Connection.create(
- :driver => 'mysql',
- :host => 'localhost',
- :database => 'olap_devel',
- :username => 'root',
- :password => '',
- :schema => schema
- )
Add Comment
Please, Sign In to add comment