Class: Mondrian::OLAP::Hierarchy
- Inherits:
-
Object
- Object
- Mondrian::OLAP::Hierarchy
- Includes:
- Annotated
- Defined in:
- lib/mondrian/olap/cube.rb
Instance Attribute Summary collapse
-
#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
- #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.
152 153 154 155 |
# File 'lib/mondrian/olap/cube.rb', line 152 def initialize(dimension, raw_hierarchy) @dimension = dimension @raw_hierarchy = raw_hierarchy end |
Instance Attribute Details
#raw_hierarchy ⇒ Object (readonly)
Returns the value of attribute raw_hierarchy.
157 158 159 |
# File 'lib/mondrian/olap/cube.rb', line 157 def raw_hierarchy @raw_hierarchy end |
Instance Method Details
#all_member ⇒ Object
191 192 193 |
# File 'lib/mondrian/olap/cube.rb', line 191 def all_member has_all? ? Member.new(@raw_hierarchy.getRootMembers.first) : nil end |
#all_member_name ⇒ Object
187 188 189 |
# File 'lib/mondrian/olap/cube.rb', line 187 def all_member_name has_all? ? @raw_hierarchy.getRootMembers.first.getName : nil end |
#annotations ⇒ Object
220 221 222 |
# File 'lib/mondrian/olap/cube.rb', line 220 def annotations annotations_for(@raw_hierarchy) end |
#caption ⇒ Object
167 168 169 |
# File 'lib/mondrian/olap/cube.rb', line 167 def caption @caption ||= @raw_hierarchy.getCaption end |
#child_names(*parent_member_segment_names) ⇒ Object
207 208 209 210 211 212 213 214 215 216 217 |
# File 'lib/mondrian/olap/cube.rb', line 207 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
163 164 165 |
# File 'lib/mondrian/olap/cube.rb', line 163 def description @description ||= @raw_hierarchy.getDescription end |
#has_all? ⇒ Boolean
183 184 185 |
# File 'lib/mondrian/olap/cube.rb', line 183 def has_all? @raw_hierarchy.hasAll end |
#level(name) ⇒ Object
175 176 177 |
# File 'lib/mondrian/olap/cube.rb', line 175 def level(name) levels.detect{|l| l.name == name} end |
#level_names ⇒ Object
179 180 181 |
# File 'lib/mondrian/olap/cube.rb', line 179 def level_names levels.map{|l| l.name} end |
#levels ⇒ Object
171 172 173 |
# File 'lib/mondrian/olap/cube.rb', line 171 def levels @levels = @raw_hierarchy.getLevels.map{|l| Level.new(self, l)} end |
#name ⇒ Object
159 160 161 |
# File 'lib/mondrian/olap/cube.rb', line 159 def name @name ||= @raw_hierarchy.getName end |
#root_member_full_names ⇒ Object
203 204 205 |
# File 'lib/mondrian/olap/cube.rb', line 203 def root_member_full_names @raw_hierarchy.getRootMembers.map{|m| m.getUniqueName} end |
#root_member_names ⇒ Object
199 200 201 |
# File 'lib/mondrian/olap/cube.rb', line 199 def root_member_names @raw_hierarchy.getRootMembers.map{|m| m.getName} end |
#root_members ⇒ Object
195 196 197 |
# File 'lib/mondrian/olap/cube.rb', line 195 def root_members @raw_hierarchy.getRootMembers.map{|m| Member.new(m)} end |
#visible? ⇒ Boolean
224 225 226 |
# File 'lib/mondrian/olap/cube.rb', line 224 def visible? @raw_hierarchy.isVisible end |