Class: Mondrian::OLAP::Dimension

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(cube, raw_dimension) ⇒ Dimension

Returns a new instance of Dimension.



79
80
81
82
# File 'lib/mondrian/olap/cube.rb', line 79

def initialize(cube, raw_dimension)
  @cube = cube
  @raw_dimension = raw_dimension
end

Instance Attribute Details

#cubeObject (readonly)

Returns the value of attribute cube.



84
85
86
# File 'lib/mondrian/olap/cube.rb', line 84

def cube
  @cube
end

#raw_dimensionObject (readonly)

Returns the value of attribute raw_dimension.



84
85
86
# File 'lib/mondrian/olap/cube.rb', line 84

def raw_dimension
  @raw_dimension
end

Instance Method Details

#annotationsObject



131
132
133
# File 'lib/mondrian/olap/cube.rb', line 131

def annotations
  annotations_for(@raw_dimension)
end

#captionObject



94
95
96
# File 'lib/mondrian/olap/cube.rb', line 94

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

#descriptionObject



90
91
92
# File 'lib/mondrian/olap/cube.rb', line 90

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

#dimension_typeObject



119
120
121
122
123
124
125
126
127
128
# File 'lib/mondrian/olap/cube.rb', line 119

def dimension_type
  case @raw_dimension.getDimensionType
  when Java::OrgOlap4jMetadata::Dimension::Type::TIME
    :time
  when Java::OrgOlap4jMetadata::Dimension::Type::MEASURE
    :measures
  else
    :standard
  end
end

#full_nameObject



98
99
100
# File 'lib/mondrian/olap/cube.rb', line 98

def full_name
  @full_name ||= @raw_dimension.getUniqueName
end

#hierarchiesObject



102
103
104
# File 'lib/mondrian/olap/cube.rb', line 102

def hierarchies
  @hierarchies ||= @raw_dimension.getHierarchies.map{|h| Hierarchy.new(self, h)}
end

#hierarchy(name = nil) ⇒ Object



110
111
112
113
# File 'lib/mondrian/olap/cube.rb', line 110

def hierarchy(name = nil)
  name ||= self.name
  hierarchies.detect{|h| h.name == name}
end

#hierarchy_namesObject



106
107
108
# File 'lib/mondrian/olap/cube.rb', line 106

def hierarchy_names
  hierarchies.map{|h| h.name}
end

#measures?Boolean

Returns:

  • (Boolean)


115
116
117
# File 'lib/mondrian/olap/cube.rb', line 115

def measures?
  @raw_dimension.getDimensionType == Java::OrgOlap4jMetadata::Dimension::Type::MEASURE
end

#nameObject



86
87
88
# File 'lib/mondrian/olap/cube.rb', line 86

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