Ralat ini disebabkan oleh fakta bahawa apabila menggunakan perpustakaan kiub python, kedalaman tahap yang cuba diakses melebihi kedalaman tahap sedia ada yang sebenar. Iaitu, tahap yang diminta tidak wujud dalam kiub anda.
Terdapat beberapa cara untuk menyelesaikan ralat ini:
Pastikan tahap yang anda minta wujud dalam kiub. Ini mungkin memerlukan menyemak sama ada nama hierarki dalam kod anda adalah betul atau data anda diperuntukkan dengan betul kepada hierarki tersebut.
Ubah suai kedalaman aras yang diminta supaya wujud dalam kiub.
Selesaikan masalah ini dengan mengemas kini perpustakaan kiub.
Pastikan selepas mencipta kiub, nama peringkat dalam kod anda sepadan dengan nama peringkat dalam fail konfigurasi yang mencipta kiub.
Pastikan nama tahap dalam fail konfigurasi yang digunakan semasa membuat kiub sepadan dengan nama tahap dalam pangkalan data.
Ya, berikut ialah contoh mudah yang menunjukkan cara menggunakan perpustakaan kiub dan mencetuskan ralat "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)
Dalam contoh ini, kami cuba mengakses tahap "hari" dalam kubus yang dicipta, tetapi tahap ini tidak ditakrifkan dalam kubus, dan HierarchyError("Hierarki 'tarikh' hanya mempunyai 2 tahap, meminta tahap yang lebih mendalam" akan dibuang )silap.
Jika anda ingin menyelesaikan ralat ini, anda boleh menukar tahap tarikh untuk memasukkan hari, atau mengubah suai parameter gerudi turun ke tahap yang ditentukan dalam kubus.
Atas ialah kandungan terperinci Penyelesaian kepada ralat HierarchyError(\'Hierarchy \'%s\' hanya mempunyai %d level, \'\'meminta tahap yang lebih dalam\'% (self.name, len(self._levels))). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!