ホームページ >バックエンド開発 >Python チュートリアル >エラー HierarchyError(\'階層 \'%s\' には %d レベルしかありません、\'\'より深いレベルを要求しています\'% (self.name, len(self._levels))) の解決策

エラー HierarchyError(\'階層 \'%s\' には %d レベルしかありません、\'\'より深いレベルを要求しています\'% (self.name, len(self._levels))) の解決策

WBOY
WBOY転載
2024-02-29 21:34:361154ブラウズ

エラー 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("階層 '日付' には 2 レベルしかないため、より深いレベルが必要です" ) エラー。

このエラーを解決するには、日付レベルを変更して日を含めるか、ドリルダウン パラメーターをキューブで定義されたレベルに変更します。

以上がエラー HierarchyError(\'階層 \'%s\' には %d レベルしかありません、\'\'より深いレベルを要求しています\'% (self.name, len(self._levels))) の解決策の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はlsjlt.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。