Class: Mondrian::OLAP::Hierarchy

Inherits:
Object
  • Object
show all
Includes:
Annotated
Defined in:
lib/mondrian/olap/cube.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

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_hierarchyObject (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_memberObject



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_nameObject



187
188
189
# File 'lib/mondrian/olap/cube.rb', line 187

def all_member_name
  has_all? ? @raw_hierarchy.getRootMembers.first.getName : nil
end

#annotationsObject



220
221
222
# File 'lib/mondrian/olap/cube.rb', line 220

def annotations
  annotations_for(@raw_hierarchy)
end

#captionObject



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

#descriptionObject



163
164
165
# File 'lib/mondrian/olap/cube.rb', line 163

def description
  @description ||= @raw_hierarchy.getDescription
end

#has_all?Boolean

Returns:

  • (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_namesObject



179
180
181
# File 'lib/mondrian/olap/cube.rb', line 179

def level_names
  levels.map{|l| l.name}
end

#levelsObject



171
172
173
# File 'lib/mondrian/olap/cube.rb', line 171

def levels
  @levels = @raw_hierarchy.getLevels.map{|l| Level.new(self, l)}
end

#nameObject



159
160
161
# File 'lib/mondrian/olap/cube.rb', line 159

def name
  @name ||= @raw_hierarchy.getName
end

#root_member_full_namesObject



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_namesObject



199
200
201
# File 'lib/mondrian/olap/cube.rb', line 199

def root_member_names
  @raw_hierarchy.getRootMembers.map{|m| m.getName}
end

#root_membersObject



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

Returns:

  • (Boolean)


224
225
226
# File 'lib/mondrian/olap/cube.rb', line 224

def visible?
  @raw_hierarchy.isVisible
end