Multidimensionāla  (Oracle un MySQL) datu analīze ar     JRuby
Agile                                      Open-Tehnoloģijas                          source                              ...
Relacionālais datu     modelis
SQL ir labs detalizētu datu        atlasīšanai           Atlasīt visas pārdošanas transakcijas           ASV, KalifornijāS...
SQL kļūst sarežģītsanalītiskiem pieprasījumiem           Kāds ir pārdošanas kopsavilkums           ASV, Kalifornijā,      ...
Multidimensionālais        datu modelisMulti-dimensionāli “kubi” (cubes)Dimensijas, hierarhijas un līmeņi(dimensions, hier...
OLAP tehnoloģijas  On-Line Analytical Processing
MDX pieprasījumu             valoda         Kāds ir pārdošanas kopsavilkums         2011. gada pirmajā kvartālā         AS...
http://github.com/rsim/mondrian-olap
(R)OLAP shēmaDimensional model: cubes dimensions (hierarchies & levels) measures, calculated measures                   Ma...
OLAP shēmas                      definēšanaschema = Mondrian::OLAP::Schema.define do  cube Sales do    table sales    dime...
Multidimensionālie   pieprasījumi no Ruby      Kāds ir pārdošanas kopsavilkums      2011. gada pirmajā kvartālā      ASV, ...
Demo
Multidimensionāla datu analīze ar JRuby
Multidimensionāla datu analīze ar JRuby
Multidimensionāla datu analīze ar JRuby
Multidimensionāla datu analīze ar JRuby
Upcoming SlideShare
Loading in...5
×

Multidimensionāla datu analīze ar JRuby

855

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
855
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
3
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Multidimensionāla datu analīze ar JRuby

  1. 1. Multidimensionāla (Oracle un MySQL) datu analīze ar JRuby
  2. 2. Agile Open-Tehnoloģijas source Ruby Raimonds Simanovskis JavaScript github.com/rsim @rsim
  3. 3. Relacionālais datu modelis
  4. 4. SQL ir labs detalizētu datu atlasīšanai Atlasīt visas pārdošanas transakcijas ASV, KalifornijāSELECT customer.fullname, product.product_name, sales.sales_date, sales.unit_sales, sales.store_salesFROM sales LEFT JOIN products ON sales.product_id = products.id LEFT JOIN customers ON sales.customer_id = customers.idWHERE customers.country = USA AND customers.state_province = CA
  5. 5. SQL kļūst sarežģītsanalītiskiem pieprasījumiem Kāds ir pārdošanas kopsavilkums ASV, Kalifornijā, 2011. gada pirmajā kvartālā pa galvenajām produktu grupāmSELECT product_class.product_family, SUM(sales.unit_sales) unit_sales_sum, SUM(sales.store_sales) store_sales_sum FROM sales LEFT JOIN product ON sales.product_id = product.product_id LEFT JOIN product_class ON product.product_class_id = product_class.product_class_id LEFT JOIN time_by_day ON sales.time_id = time_by_day.time_id LEFT JOIN customer ON sales.customer_id = customer.customer_id WHERE time_by_day.the_year = 2011 AND time_by_day.quarter = Q1 AND customer.country = USA AND customer.state_province = CA GROUP BY product_class.product_family
  6. 6. Multidimensionālais datu modelisMulti-dimensionāli “kubi” (cubes)Dimensijas, hierarhijas un līmeņi(dimensions, hierarchies, levels)Mērījumi (measures)
  7. 7. OLAP tehnoloģijas On-Line Analytical Processing
  8. 8. MDX pieprasījumu valoda Kāds ir pārdošanas kopsavilkums 2011. gada pirmajā kvartālā ASV, Kalifornijā, pa galvenajām produktu grupāmSELECT {[Measures].[Unit Sales], [Measures].[Store Sales]} ON COLUMNS, [Product].children ON ROWS FROM [Sales] WHERE ([Time].[2011].[Q1], [Customers].[USA].[CA])
  9. 9. http://github.com/rsim/mondrian-olap
  10. 10. (R)OLAP shēmaDimensional model: cubes dimensions (hierarchies & levels) measures, calculated measures MappingRelational model: fact tables, dimension tables joined by foreign keys
  11. 11. OLAP shēmas definēšanaschema = Mondrian::OLAP::Schema.define do cube Sales do table sales dimension Gender, :foreign_key => customer_id do hierarchy :has_all => true, :primary_key => customer_id do table customer level Gender, :column => gender, :unique_members => true end end dimension Time, :foreign_key => time_id do hierarchy :has_all => false, :primary_key => time_id do table time_by_day level Year, :column => the_year, :type => Numeric, :unique_members => true level Quarter, :column => quarter, :unique_members => false level Month,:column => month_of_year,:type => Numeric,:unique_members => false end end measure Unit Sales, :column => unit_sales, :aggregator => sum measure Store Sales, :column => store_sales, :aggregator => sum endend
  12. 12. Multidimensionālie pieprasījumi no Ruby Kāds ir pārdošanas kopsavilkums 2011. gada pirmajā kvartālā ASV, Kalifornijā, pa galvenajām produktu grupāmolap.from(Sales).columns([Measures].[Unit Sales], [Measures].[Store Sales]).rows([Product].children).where([Time].[2011].[Q1], [Customers].[USA].[CA])
  13. 13. Demo
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×