Class: Mondrian::OLAP::Hierarchy
- Inherits:
-
Object
- Object
- Mondrian::OLAP::Hierarchy
- Includes:
- Annotated
- Defined in:
- lib/mondrian/olap/cube.rb
Instance Attribute Summary collapse
-
#dimension ⇒ Object
readonly
Returns the value of attribute dimension.
-
#raw_hierarchy ⇒ Object
readonly
Returns the value of attribute raw_hierarchy.
Instance Method Summary collapse
- #all_member ⇒ Object
- #all_member_name ⇒ Object
- #annotations ⇒ Object
- #caption ⇒ Object
- #child_names(*parent_member_segment_names) ⇒ Object
- #description ⇒ Object
- #dimension_name ⇒ Object
- #has_all? ⇒ Boolean
-
#initialize(dimension, raw_hierarchy) ⇒ Hierarchy
constructor
A new instance of Hierarchy.
- #level(name) ⇒ Object
- #level_names ⇒ Object
- #levels ⇒ Object
- #name ⇒ Object
- #root_member_full_names ⇒ Object
- #root_member_names ⇒ Object
- #root_members ⇒ Object
- #visible? ⇒ Boolean
Constructor Details
#initialize(dimension, raw_hierarchy) ⇒ Hierarchy
Returns a new instance of Hierarchy.
184 185 186 187 |
# File 'lib/mondrian/olap/cube.rb', line 184 def initialize(dimension, raw_hierarchy) @dimension = dimension @raw_hierarchy = raw_hierarchy end |
Instance Attribute Details
#dimension ⇒ Object (readonly)
Returns the value of attribute dimension.
189 190 191 |
# File 'lib/mondrian/olap/cube.rb', line 189 def dimension @dimension end |
#raw_hierarchy ⇒ Object (readonly)
Returns the value of attribute raw_hierarchy.
189 190 191 |
# File 'lib/mondrian/olap/cube.rb', line 189 def raw_hierarchy @raw_hierarchy end |
Instance Method Details
#all_member ⇒ Object
227 228 229 |
# File 'lib/mondrian/olap/cube.rb', line 227 def all_member has_all? ? Member.new(@raw_hierarchy.getRootMembers.first) : nil end |
#all_member_name ⇒ Object
223 224 225 |
# File 'lib/mondrian/olap/cube.rb', line 223 def all_member_name has_all? ? @raw_hierarchy.getRootMembers.first.getName : nil end |
#annotations ⇒ Object
256 257 258 |
# File 'lib/mondrian/olap/cube.rb', line 256 def annotations annotations_for(@raw_hierarchy) end |
#caption ⇒ Object
199 200 201 |
# File 'lib/mondrian/olap/cube.rb', line 199 def @caption ||= @raw_hierarchy.getCaption end |
#child_names(*parent_member_segment_names) ⇒ Object
243 244 245 246 247 248 249 250 251 252 253 |
# File 'lib/mondrian/olap/cube.rb', line 243 def child_names(*parent_member_segment_names) Error.wrap_native_exception do parent_member = if parent_member_segment_names.empty? return root_member_names unless has_all? all_member else @dimension.cube.member_by_segments(*parent_member_segment_names) end parent_member && parent_member.children.map{|m| m.name} end end |
#description ⇒ Object
195 196 197 |
# File 'lib/mondrian/olap/cube.rb', line 195 def description @description ||= @raw_hierarchy.getDescription end |
#dimension_name ⇒ Object
203 204 205 |
# File 'lib/mondrian/olap/cube.rb', line 203 def dimension_name @dimension.name end |
#has_all? ⇒ Boolean
219 220 221 |
# File 'lib/mondrian/olap/cube.rb', line 219 def has_all? @raw_hierarchy.hasAll end |
#level(name) ⇒ Object
211 212 213 |
# File 'lib/mondrian/olap/cube.rb', line 211 def level(name) levels.detect{|l| l.name == name} end |
#level_names ⇒ Object
215 216 217 |
# File 'lib/mondrian/olap/cube.rb', line 215 def level_names levels.map{|l| l.name} end |
#levels ⇒ Object
207 208 209 |
# File 'lib/mondrian/olap/cube.rb', line 207 def levels @levels = @raw_hierarchy.getLevels.map{|l| Level.new(self, l)} end |
#name ⇒ Object
191 192 193 |
# File 'lib/mondrian/olap/cube.rb', line 191 def name @name ||= @raw_hierarchy.getName end |
#root_member_full_names ⇒ Object
239 240 241 |
# File 'lib/mondrian/olap/cube.rb', line 239 def root_member_full_names @raw_hierarchy.getRootMembers.map{|m| m.getUniqueName} end |
#root_member_names ⇒ Object
235 236 237 |
# File 'lib/mondrian/olap/cube.rb', line 235 def root_member_names @raw_hierarchy.getRootMembers.map{|m| m.getName} end |
#root_members ⇒ Object
231 232 233 |
# File 'lib/mondrian/olap/cube.rb', line 231 def root_members @raw_hierarchy.getRootMembers.map{|m| Member.new(m)} end |
#visible? ⇒ Boolean
260 261 262 |
# File 'lib/mondrian/olap/cube.rb', line 260 def visible? @raw_hierarchy.isVisible end |