Class: Mondrian::OLAP::Level

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(hierarchy, raw_level) ⇒ Level

Returns a new instance of Level.



213
214
215
216
# File 'lib/mondrian/olap/cube.rb', line 213

def initialize(hierarchy, raw_level)
  @hierarchy = hierarchy
  @raw_level = raw_level
end

Instance Attribute Details

#raw_levelObject (readonly)

Returns the value of attribute raw_level.



218
219
220
# File 'lib/mondrian/olap/cube.rb', line 218

def raw_level
  @raw_level
end

Instance Method Details

#annotationsObject



259
260
261
# File 'lib/mondrian/olap/cube.rb', line 259

def annotations
  annotations_for(@raw_level)
end

#captionObject



228
229
230
# File 'lib/mondrian/olap/cube.rb', line 228

def caption
  @caption ||= @raw_level.getCaption
end

#cardinalityObject



236
237
238
# File 'lib/mondrian/olap/cube.rb', line 236

def cardinality
  @cardinality = @raw_level.getCardinality
end

#depthObject



232
233
234
# File 'lib/mondrian/olap/cube.rb', line 232

def depth
  @raw_level.getDepth
end

#descriptionObject



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

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

#membersObject



252
253
254
255
256
# File 'lib/mondrian/olap/cube.rb', line 252

def members
  Error.wrap_native_exception do
    @raw_level.getMembers.map{|m| Member.new(m)}
  end
end

#members_countObject



240
241
242
243
244
245
246
247
248
249
250
# File 'lib/mondrian/olap/cube.rb', line 240

def members_count
  @members_count ||= begin
    if cardinality >= 0
      cardinality
    else
      Error.wrap_native_exception do
        @raw_level.getMembers.size
      end
    end
  end
end

#nameObject



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

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