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.
146 147 148 149 |
# File 'lib/mondrian/olap/cube.rb', line 146 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.
151 152 153 |
# File 'lib/mondrian/olap/cube.rb', line 151 def raw_hierarchy @raw_hierarchy end |
Instance Method Details
#all_member ⇒ Object
185 186 187 |
# File 'lib/mondrian/olap/cube.rb', line 185 def all_member has_all? ? Member.new(@raw_hierarchy.getRootMembers.first) : nil end |
#all_member_name ⇒ Object
181 182 183 |
# File 'lib/mondrian/olap/cube.rb', line 181 def all_member_name has_all? ? @raw_hierarchy.getRootMembers.first.getName : nil end |
#annotations ⇒ Object
214 215 216 |
# File 'lib/mondrian/olap/cube.rb', line 214 def annotations annotations_for(@raw_hierarchy) end |
#caption ⇒ Object
161 162 163 |
# File 'lib/mondrian/olap/cube.rb', line 161 def @caption ||= @raw_hierarchy.getCaption end |
#child_names(*parent_member_segment_names) ⇒ Object
201 202 203 204 205 206 207 208 209 210 211 |
# File 'lib/mondrian/olap/cube.rb', line 201 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
157 158 159 |
# File 'lib/mondrian/olap/cube.rb', line 157 def description @description ||= @raw_hierarchy.getDescription end |
#has_all? ⇒ Boolean
177 178 179 |
# File 'lib/mondrian/olap/cube.rb', line 177 def has_all? @raw_hierarchy.hasAll end |
#level(name) ⇒ Object
169 170 171 |
# File 'lib/mondrian/olap/cube.rb', line 169 def level(name) levels.detect{|l| l.name == name} end |
#level_names ⇒ Object
173 174 175 |
# File 'lib/mondrian/olap/cube.rb', line 173 def level_names levels.map{|l| l.name} end |
#levels ⇒ Object
165 166 167 |
# File 'lib/mondrian/olap/cube.rb', line 165 def levels @levels = @raw_hierarchy.getLevels.map{|l| Level.new(self, l)} end |
#name ⇒ Object
153 154 155 |
# File 'lib/mondrian/olap/cube.rb', line 153 def name @name ||= @raw_hierarchy.getName end |
#root_member_full_names ⇒ Object
197 198 199 |
# File 'lib/mondrian/olap/cube.rb', line 197 def root_member_full_names @raw_hierarchy.getRootMembers.map{|m| m.getUniqueName} end |
#root_member_names ⇒ Object
193 194 195 |
# File 'lib/mondrian/olap/cube.rb', line 193 def root_member_names @raw_hierarchy.getRootMembers.map{|m| m.getName} end |
#root_members ⇒ Object
189 190 191 |
# File 'lib/mondrian/olap/cube.rb', line 189 def root_members @raw_hierarchy.getRootMembers.map{|m| Member.new(m)} end |
#visible? ⇒ Boolean
218 219 220 |
# File 'lib/mondrian/olap/cube.rb', line 218 def visible? @raw_hierarchy.isVisible end |