>백엔드 개발 >파이썬 튜토리얼 >오류 HierarchyError(\'계층 \'%s\'에는 %d개 수준만 있습니다. \'\'더 깊은 수준을 요청합니다\'% (self.name, len(self._levels)))

오류 HierarchyError(\'계층 \'%s\'에는 %d개 수준만 있습니다. \'\'더 깊은 수준을 요청합니다\'% (self.name, len(self._levels)))

WBOY
WBOY앞으로
2024-02-29 21:34:361158검색

오류 HierarchyError(\계층 \%s\에는 %d개 수준만 있습니다. \\더 깊은 수준을 요청합니다\% (self.name, len(self._levels)))

오류 발생 이유

이 오류는 python의 큐브 라이브러리를 사용할 때 액세스하려고 시도한 레벨 깊이가 실제 기존 레벨 깊이를 초과하기 때문에 발생합니다. 즉, 요청한 수준이 큐브에 존재하지 않습니다.

해결 방법

이 오류를 해결하는 방법에는 여러 가지가 있습니다.

요청한 레벨이 큐브에 존재하는지 확인하세요. 이를 위해서는 코드의 계층 이름이 올바른지 또는 데이터가 해당 계층에 올바르게 할당되었는지 확인해야 할 수도 있습니다.

큐브에 존재하도록 요청된 레벨 깊이를 수정합니다.

큐브 라이브러리를 업데이트하여 이 문제를 해결하세요.

큐브를 생성한 후 코드의 레벨 이름이 큐브를 생성한 구성 파일의 레벨 이름과 일치하는지 확인하세요.

큐브를 생성할 때 사용된 구성 파일의 레벨 이름이 데이터베이스의 레벨 이름과 일치하는지 확인하세요.

사용 예

예, 다음은 큐브 라이브러리를 사용하고 "HierarchyError" 오류를 트리거하는 방법을 보여주는 간단한 예입니다.

import cubes

# 创建一个cube
cube = cubes.create_cube("sales")

# 添加一个层级"date"
cube.add_dimension("date", levels=["year", "month"])

# 尝试访问不存在的层级
try:
cube.aggregate(drilldown=["date", "day"])
except cubes.HierarchyError as e:
print(e)

이 예에서는 생성된 큐브의 "일" 수준에 액세스하려고 시도하지만 이 수준은 큐브에 정의되어 있지 않으며 HierarchyError("Hierarchy 'date'에는 2개의 수준만 있습니다. 더 깊은 수준을 요청합니다." ) 실수를 당하다.

이 오류를 해결하려면 날짜 수준을 변경하여 날짜를 포함하거나 드릴다운 매개변수를 큐브에 정의된 수준으로 수정하면 됩니다.

위 내용은 오류 HierarchyError(\'계층 \'%s\'에는 %d개 수준만 있습니다. \'\'더 깊은 수준을 요청합니다\'% (self.name, len(self._levels)))의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 lsjlt.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제