Bases: TM1Object
Abstraction of TM1 Dimension
A Dimension is a container for hierarchies.
Abstraction of TM1 Dimension
Parameters:
| Name |
Type |
Description |
Default |
name
|
str
|
|
required
|
hierarchies
|
Optional[Iterable[Hierarchy]]
|
List of TM1py.Objects.Hierarchy instances
|
None
|
Source code in TM1py/Objects/Dimension.py
| def __init__(self, name: str, hierarchies: Optional[Iterable[Hierarchy]] = None):
"""Abstraction of TM1 Dimension
:param name: Name of the dimension
:param hierarchies: List of TM1py.Objects.Hierarchy instances
"""
self._name = name
self._hierarchies = list(hierarchies) if hierarchies else []
self._attributes = {"Caption": name}
|
default_hierarchy
property
__contains__(item)
Source code in TM1py/Objects/Dimension.py
| def __contains__(self, item):
return self.contains_hierarchy(item)
|
__getitem__(item)
Source code in TM1py/Objects/Dimension.py
| def __getitem__(self, item):
return self.get_hierarchy(item)
|
__iter__()
Source code in TM1py/Objects/Dimension.py
| def __iter__(self):
return iter(self._hierarchies)
|
__len__()
Source code in TM1py/Objects/Dimension.py
| def __len__(self):
return len(self.hierarchies)
|
add_hierarchy(hierarchy)
Source code in TM1py/Objects/Dimension.py
| def add_hierarchy(self, hierarchy: Hierarchy):
if self.contains_hierarchy(hierarchy.name):
raise ValueError("Hierarchy: {} already exists in dimension: {}".format(hierarchy.name, self.name))
self._hierarchies.append(hierarchy)
|
contains_hierarchy(hierarchy_name)
Source code in TM1py/Objects/Dimension.py
| def contains_hierarchy(self, hierarchy_name: str) -> bool:
for hierarchy in self._hierarchies:
if case_and_space_insensitive_equals(hierarchy.name, hierarchy_name):
return True
return False
|
from_dict(dimension_as_dict)
classmethod
Source code in TM1py/Objects/Dimension.py
| @classmethod
def from_dict(cls, dimension_as_dict: Dict) -> "Dimension":
return cls(
name=dimension_as_dict["Name"],
hierarchies=[
Hierarchy.from_dict(hierarchy, dimension_name=dimension_as_dict["Name"])
for hierarchy in dimension_as_dict["Hierarchies"]
],
)
|
from_json(dimension_as_json)
classmethod
Source code in TM1py/Objects/Dimension.py
| @classmethod
def from_json(cls, dimension_as_json: str) -> "Dimension":
dimension_as_dict = json.loads(dimension_as_json)
return cls.from_dict(dimension_as_dict)
|
get_hierarchy(hierarchy_name)
Source code in TM1py/Objects/Dimension.py
| def get_hierarchy(self, hierarchy_name: str) -> Hierarchy:
for hierarchy in self._hierarchies:
if case_and_space_insensitive_equals(hierarchy.name, hierarchy_name):
return hierarchy
raise ValueError("Hierarchy: {} not found in dimension: {}".format(hierarchy_name, self.name))
|
remove_hierarchy(hierarchy_name)
Source code in TM1py/Objects/Dimension.py
| def remove_hierarchy(self, hierarchy_name: str):
if case_and_space_insensitive_equals(hierarchy_name, "leaves"):
raise ValueError("'Leaves' hierarchy must not be removed from dimension")
for num, hierarchy in enumerate(self._hierarchies):
if case_and_space_insensitive_equals(hierarchy.name, hierarchy_name):
del self._hierarchies[num]
return
|