Heim >Backend-Entwicklung >Python-Tutorial >Lösung für den Fehler HierarchyError(\'Hierarchie \'%s\' hat nur %d Ebenen, \'\'fragt nach tieferer Ebene\'% (self.name, len(self._levels)))
Dieser Fehler ist auf die Tatsache zurückzuführen, dass bei Verwendung der Cubes-Bibliothek von Python die Leveltiefe, auf die zugegriffen werden soll, die tatsächlich vorhandene Leveltiefe überschreitet. Das heißt, die angeforderte Ebene ist in Ihrem Cube nicht vorhanden.
Es gibt mehrere Möglichkeiten, diesen Fehler zu beheben:
Stellen Sie sicher, dass das von Ihnen angeforderte Level im Cube vorhanden ist. Dazu muss möglicherweise überprüft werden, ob die Hierarchienamen in Ihrem Code korrekt sind oder ob Ihre Daten diesen Hierarchien korrekt zugeordnet sind.
Ändern Sie die gewünschte Ebenentiefe so, dass sie im Würfel vorhanden ist.
Lösen Sie dieses Problem, indem Sie die Cubes-Bibliothek aktualisieren.
Stellen Sie sicher, dass nach dem Erstellen des Cubes der Ebenenname in Ihrem Code mit dem Ebenennamen in der Konfigurationsdatei übereinstimmt, die den Cube erstellt hat.
Stellen Sie sicher, dass der Ebenenname in der beim Erstellen des Cubes verwendeten Konfigurationsdatei mit dem Ebenennamen in der Datenbank übereinstimmt.
Ja, hier ist ein einfaches Beispiel, das zeigt, wie man die Cubes-Bibliothek verwendet und einen „HierarchyError“-Fehler auslöst:
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)
In diesem Beispiel versuchen wir, auf die Ebene „Tag“ im erstellten Cube zuzugreifen, aber diese Ebene ist im Cube nicht definiert, und ein HierarchyError("Hierarchy 'date' has only 2levels, ask for tiefer level" wird angezeigt geworfen werden)Fehler.
Wenn Sie diesen Fehler beheben möchten, können Sie die Datumsebene so ändern, dass sie den Tag einschließt, oder den Drilldown-Parameter auf die im Cube definierte Ebene ändern.
Das obige ist der detaillierte Inhalt vonLösung für den Fehler HierarchyError(\'Hierarchie \'%s\' hat nur %d Ebenen, \'\'fragt nach tieferer Ebene\'% (self.name, len(self._levels))). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!