您的位置:

解决ArgumentError("Only aggregates or measures can be ""specified, not both")在cubes出现报错

  发布时间:2023-01-31 09:30:01
cubes框架要求只能指定聚合或者度量中的一种,不能同时指定。更加具体的,需要把你的查询中的aggregations 和 measures 分别赋值一个,不能同时赋值两个。使用例子是的,下面是一个简单的例子:假设有一个名为"sales"的cube,它有一个名为"amount"的度量和一个名为"region"的维度。如果你想要获取度量值,那么你需要使用 "measures"参数,如果你想要获取聚合值,那么你需要使用 "aggregations"参数。

报错的原因

这个错误是因为在使用cubes框架时,你指定了聚合和度量两种类型的参数,而这两种参数不能同时使用。cubes框架要求只能指定聚合或者度量中的一种,不能同时指定。

如何解决

解决这个问题的方法是将你的查询中的聚合和度量参数分开,只指定其中的一种。例如,如果你的查询中指定了聚合参数,那么你需要删除度量参数,或者如果你的查询中指定了度量参数,那么你需要删除聚合参数。

更加具体的,需要把你的查询中的aggregations 和 measures 分别赋值一个,不能同时赋值两个。

使用例子

是的,下面是一个简单的例子:

假设有一个名为"sales"的cube,它有一个名为"amount"的度量和一个名为"region"的维度。

正确的查询方式如下:


# 指定度量
result = browser.aggregate(drilldown=["region"], measures=["amount"])

# 指定聚合
result = browser.aggregate(drilldown=["region"], aggregations=["amount"])

错误的查询方式如下:


# 同时指定聚合和度量
result = browser.aggregate(drilldown=["region"], measures=["amount"], aggregations=["amount"])

上面的例子就会抛出"ArgumentError("Only aggregates or measures can be specified, not both")"

对,如果您在查询中同时指定了聚合和度量,则会引发“ArgumentError(”只能指定聚合或度量,不能同时指定“)”。

如果你想要获取度量值,那么你需要使用 "measures"参数,如果你想要获取聚合值,那么你需要使用 "aggregations"参数。

另外,在你的查询中使用了错误参数,也会抛出这个错误。例如,如果你的cube中没有某个度量或聚合,但你却在查询中使用了它,那么也会引发这个错误。

总之,为了避免这个错误,需要确保您的查询中只指定了一个聚合或度量,并且您指定的聚合或度量在cube中存在。