Guest User

Untitled

a guest
Sep 24th, 2018
131
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.67 KB | None | 0 0
  1. require "rubygems"
  2. require "jdbc/mysql"
  3. require "mondrian-olap"
  4.  
  5. schema = Mondrian::OLAP::Schema.define do
  6. cube 'Sales' do
  7. table 'fact_sales'
  8. dimension 'Customers', :foreign_key => 'dim_customer_id' do
  9. hierarchy :has_all => true, :all_member_name => 'All Customers', :primary_key => 'id' do
  10. table 'dim_customers'
  11. level 'Category', :column => 'category', :unique_members => true
  12. end
  13. end
  14. dimension 'Dates', :foreign_key => 'dim_date_id' do
  15. hierarchy :has_all => true, :all_member_name => 'All Dates', :primary_key => 'id' do
  16. table 'dim_dates'
  17. level 'Day', :column => 'day', :unique_members => true
  18. level 'Day Desc', :column => 'day_desc'
  19. level 'Month', :column => 'month', :unique_members => true
  20. level 'Month Desc', :column => 'month_desc'
  21. level 'Quarter', :column => 'quarter'
  22. level 'Year', :column => 'year', :unique_members => true
  23. end
  24. end
  25. dimension 'Products', :foreign_key => 'dim_product_id' do
  26. hierarchy :has_all => true, :all_member_name => 'All Products', :primary_key => 'id' do
  27. table 'dim_products'
  28. level 'Name', :column => 'name', :unique_members => true
  29. level 'Category', :column => 'category'
  30. level 'Colour', :column => 'colour'
  31. level 'Unit price', :column => 'unit_price'
  32. end
  33. end
  34. measure 'Units sold', :column => 'units_sold', :aggregator => 'sum'
  35. measure 'Total price', :column => 'total_price', :aggregator => 'sum'
  36. end
  37. end
  38.  
  39. $olap = Mondrian::OLAP::Connection.create(
  40. :driver => 'mysql',
  41. :host => 'localhost',
  42. :database => 'olap_devel',
  43. :username => 'root',
  44. :password => '',
  45. :schema => schema
  46. )
Add Comment
Please, Sign In to add comment