class Mondrian::OLAP::Member
Attributes
raw_member[R]
Public Class Methods
new(raw_member)
click to toggle source
# File lib/mondrian/olap/cube.rb, line 332 def initialize(raw_member) @raw_member = raw_member end
Public Instance Methods
all_member?()
click to toggle source
# File lib/mondrian/olap/cube.rb, line 362 def all_member? @raw_member.isAll end
annotations()
click to toggle source
# File lib/mondrian/olap/cube.rb, line 432 def annotations annotations_for(@raw_member) end
calculated?()
click to toggle source
# File lib/mondrian/olap/cube.rb, line 350 def calculated? @raw_member.isCalculated end
calculated_in_query?()
click to toggle source
# File lib/mondrian/olap/cube.rb, line 354 def calculated_in_query? @raw_member.isCalculatedInQuery end
caption()
click to toggle source
# File lib/mondrian/olap/cube.rb, line 346 def caption @caption ||= @raw_member.getCaption end
cell_formatter()
click to toggle source
# File lib/mondrian/olap/cube.rb, line 452 def cell_formatter if dimension_type == :measures cube_measure = raw_member.unwrap(Java::MondrianOlap::Member.java_class) if value_formatter = cube_measure.getFormatter f = value_formatter.java_class.declared_field('cf') f.accessible = true f.value(value_formatter) end end end
cell_formatter_name()
click to toggle source
# File lib/mondrian/olap/cube.rb, line 446 def cell_formatter_name if cf = cell_formatter cf.class.name.split('::').last.gsub(/Udf\z/, '') end end
children()
click to toggle source
# File lib/mondrian/olap/cube.rb, line 390 def children Error.wrap_native_exception do @raw_member.getChildMembers.map{|m| Member.new(m)} end end
depth()
click to toggle source
# File lib/mondrian/olap/cube.rb, line 375 def depth @raw_member.getDepth end
descendants_at_level(level)
click to toggle source
# File lib/mondrian/olap/cube.rb, line 396 def descendants_at_level(level) Error.wrap_native_exception do raw_level = @raw_member.getLevel raw_levels = raw_level.getHierarchy.getLevels current_level_index = raw_levels.indexOf(raw_level) descendants_level_index = raw_levels.indexOfName(level) return nil unless descendants_level_index > current_level_index members = [self] (descendants_level_index - current_level_index).times do members = members.map do |member| member.children end.flatten end members end end
dimension_type()
click to toggle source
# File lib/mondrian/olap/cube.rb, line 379 def dimension_type case @raw_member.getDimension.getDimensionType when Java::OrgOlap4jMetadata::Dimension::Type::TIME :time when Java::OrgOlap4jMetadata::Dimension::Type::MEASURE :measures else :standard end end
drillable?()
click to toggle source
# File lib/mondrian/olap/cube.rb, line 366 def drillable? return false if calculated? # @raw_member.getChildMemberCount > 0 # This hopefully is faster than counting actual child members raw_level = @raw_member.getLevel raw_levels = raw_level.getHierarchy.getLevels raw_levels.indexOf(raw_level) < raw_levels.size - 1 end
format_string()
click to toggle source
# File lib/mondrian/olap/cube.rb, line 436 def format_string format_exp = property_value('FORMAT_EXP') if format_exp && format_exp =~ /\A"(.*)"\z/ format_exp = $1 end if format_exp && !format_exp.empty? format_exp end end
full_name()
click to toggle source
# File lib/mondrian/olap/cube.rb, line 342 def full_name @full_name ||= @raw_member.getUniqueName end
mondrian_member()
click to toggle source
# File lib/mondrian/olap/cube.rb, line 427 def mondrian_member @raw_member.unwrap(Java::MondrianOlap::Member.java_class) end
name()
click to toggle source
# File lib/mondrian/olap/cube.rb, line 338 def name @name ||= @raw_member.getName end
property_formatted_value(name)
click to toggle source
# File lib/mondrian/olap/cube.rb, line 421 def property_formatted_value(name) if property = @raw_member.getProperties.get(name) @raw_member.getPropertyFormattedValue(property) end end
property_value(name)
click to toggle source
# File lib/mondrian/olap/cube.rb, line 415 def property_value(name) if property = @raw_member.getProperties.get(name) @raw_member.getPropertyValue(property) end end
visible?()
click to toggle source
# File lib/mondrian/olap/cube.rb, line 358 def visible? @raw_member.isVisible end