ran_a_lytics 0.0.2 → 0.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/README CHANGED
@@ -4,30 +4,50 @@ Quickstart
4
4
  1) Follow the instructins on setting up an Infobright MySQL instance
5
5
  2) Grab the sample database from http://bit.ly/gBQnaD
6
6
 
7
- # -*- encoding: utf-8 -*-
8
- $:.push File.expand_path("../lib", __FILE__)
9
- require 'rubygems'
10
- require 'ran_a_lytics'
11
- require 'active_record'
12
- require 'time'
13
- puts "Gathering data"
7
+ # -*- encoding: utf-8 -*-
8
+ $:.push File.expand_path("../lib", __FILE__)
9
+ require 'rubygems'
10
+ require 'ran_a_lytics'
11
+ require 'active_record'
12
+ require 'time'
13
+ puts "Gathering data"
14
14
  #Connect to a database
15
- ActiveRecord::Base.establish_connection(
15
+ ActiveRecord::Base.establish_connection(
16
16
  :adapter => "mysql",
17
- :host => "localhost",
18
- :username => "root",
17
+ :host => "localhost",
18
+ :username => "root",
19
19
  :password => "",”
20
- :database => "carsales",
21
- :socket => "/tmp/mysql-ib.sock"
22
-
23
- class FactSalesWide < ActiveRecord::Base
24
- set_table_name "fact_sales_wide"
20
+ :database => "carsales",
21
+ :socket => "/tmp/mysql-ib.sock"
22
+ )
23
+
24
+
25
+ #Define the model
26
+ class FactSalesWide < ActiveRecord::Basero
27
+ set_table_name "fact_sales_wide"
25
28
  make_pivotable
26
- end
27
-
29
+ end
30
+
28
31
  #Pivot a query for 10,000 rows into car_make rows, by transaction types columns for two measures
29
- starttime = Time.now
30
- ma = FactSalesWide.PivotTable(:columns=> ['dlr_trans_type as Transaction'],:rows=>['dim_cars.make_name as make'],:measures=>['sum(sales_commission) as sum_sales_commission', 'sum(sales_discount) as sum_sales_discount'], :joins => ['JOIN dim_cars ON fact_sales_wide.make_id = dim_cars.make_id'])
31
- endtime = Time.now
32
- puts ma.to_json
33
-
32
+ starttime = Time.now
33
+ ma = FactSalesWide.PivotTable(:columns=> ['dlr_trans_type as Transaction'],:rows=>['dim_cars.make_name as make'],:measures=>['sum(sales_commission) as sum_sales_commission', 'sum(sales_discount) as sum_sales_discount'], :joins => ['JOIN dim_cars ON fact_sales_wide.make_id = dim_cars.make_id'])
34
+ endtime = Time.now
35
+ puts ma.to_json
36
+
37
+ Details
38
+
39
+ Model
40
+ make_pivotable
41
+ end
42
+
43
+ Controller
44
+ def pivot_me
45
+ rows = ['sql_field_or_exp as alias','...'] # Get combined as row_fld1-row_fld2-...
46
+ columns = ['sql_field_or_exp as alias','...'] #Get converted into unique col1_value1-col2_value1-...
47
+ measures = ['aggregate_fn(field(s)) as alias','...'] #Indivual measure totals by pivot columsn,rows, gtotl
48
+
49
+ pvt_ary = Model_singualr.PivotTable(:rows=>rows, :columns=>columns,:measures=>measures, :conditions=>[sql_exp(s),...], :joins=>['join dim on fact.fk_dim = dim.id']
50
+ puts pvt_ary.to_json #Displays an array of hashes
51
+ #[row_alias=>'value', :col_alias1=>{measure1_alias=>value,measure2_alias=>value,...}, :col[2-N]..., {measure1_alias=>value,measure2_alias=>value,...} as row_totals]
52
+ #[{measure1_alias=>value,measure2_alias=>value,...} as grand_totals]
53
+ end
@@ -1,3 +1,3 @@
1
1
  module RanALytics
2
- VERSION = "0.0.2"
2
+ VERSION = "0.0.3"
3
3
  end
@@ -8,7 +8,7 @@ Gem::Specification.new do |s|
8
8
  s.platform = Gem::Platform::RUBY
9
9
  s.authors = "Robert Hall"
10
10
  s.email = "robert.hall@itatc.com"
11
- s.homepage = "http://github.com/golsombe/Ran_a_lytics"
11
+ s.homepage = "http://github.com/golsombe/Ran-a-lytics"
12
12
  s.summary = "An Infobright compainion Rails extention"
13
13
  s.description = "Providing analytics as a DSL to an InfobrightCE database"
14
14
 
metadata CHANGED
@@ -1,13 +1,8 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ran_a_lytics
3
3
  version: !ruby/object:Gem::Version
4
- hash: 27
5
- prerelease: false
6
- segments:
7
- - 0
8
- - 0
9
- - 2
10
- version: 0.0.2
4
+ prerelease:
5
+ version: 0.0.3
11
6
  platform: ruby
12
7
  authors:
13
8
  - Robert Hall
@@ -15,8 +10,7 @@ autorequire:
15
10
  bindir: bin
16
11
  cert_chain: []
17
12
 
18
- date: 2011-04-21 00:00:00 -04:00
19
- default_executable:
13
+ date: 2011-04-22 00:00:00 Z
20
14
  dependencies:
21
15
  - !ruby/object:Gem::Dependency
22
16
  name: activerecord
@@ -26,11 +20,6 @@ dependencies:
26
20
  requirements:
27
21
  - - ">="
28
22
  - !ruby/object:Gem::Version
29
- hash: 7
30
- segments:
31
- - 3
32
- - 0
33
- - 0
34
23
  version: 3.0.0
35
24
  type: :runtime
36
25
  version_requirements: *id001
@@ -42,11 +31,6 @@ dependencies:
42
31
  requirements:
43
32
  - - ">="
44
33
  - !ruby/object:Gem::Version
45
- hash: 23
46
- segments:
47
- - 1
48
- - 0
49
- - 0
50
34
  version: 1.0.0
51
35
  type: :development
52
36
  version_requirements: *id002
@@ -58,11 +42,6 @@ dependencies:
58
42
  requirements:
59
43
  - - ">="
60
44
  - !ruby/object:Gem::Version
61
- hash: 15
62
- segments:
63
- - 2
64
- - 0
65
- - 0
66
45
  version: 2.0.0
67
46
  type: :development
68
47
  version_requirements: *id003
@@ -74,11 +53,6 @@ dependencies:
74
53
  requirements:
75
54
  - - "="
76
55
  - !ruby/object:Gem::Version
77
- hash: 15
78
- segments:
79
- - 0
80
- - 5
81
- - 2
82
56
  version: 0.5.2
83
57
  type: :development
84
58
  version_requirements: *id004
@@ -90,11 +64,6 @@ dependencies:
90
64
  requirements:
91
65
  - - ">="
92
66
  - !ruby/object:Gem::Version
93
- hash: 45
94
- segments:
95
- - 2
96
- - 8
97
- - 1
98
67
  version: 2.8.1
99
68
  type: :development
100
69
  version_requirements: *id005
@@ -119,8 +88,7 @@ files:
119
88
  - ran_a_lytics.gemspec
120
89
  - ran_a_lytics.komodoproject
121
90
  - ran_a_lytics.kpf
122
- has_rdoc: true
123
- homepage: http://github.com/golsombe/Ran_a_lytics
91
+ homepage: http://github.com/golsombe/Ran-a-lytics
124
92
  licenses: []
125
93
 
126
94
  post_install_message:
@@ -133,25 +101,17 @@ required_ruby_version: !ruby/object:Gem::Requirement
133
101
  requirements:
134
102
  - - ">="
135
103
  - !ruby/object:Gem::Version
136
- hash: 3
137
- segments:
138
- - 0
139
104
  version: "0"
140
105
  required_rubygems_version: !ruby/object:Gem::Requirement
141
106
  none: false
142
107
  requirements:
143
108
  - - ">="
144
109
  - !ruby/object:Gem::Version
145
- hash: 23
146
- segments:
147
- - 1
148
- - 3
149
- - 6
150
110
  version: 1.3.6
151
111
  requirements: []
152
112
 
153
113
  rubyforge_project: ran_a_lytics
154
- rubygems_version: 1.3.7
114
+ rubygems_version: 1.7.2
155
115
  signing_key:
156
116
  specification_version: 3
157
117
  summary: An Infobright compainion Rails extention