我在mysql(denodo)中计算STDEV有问题
代码如下:
select STDEV(amount) OVER (PARTITION BY customer_id ORDER BY datetime ROWS BETWEEN UNBOUNDED PRECEDING AND 1 PRECEDING)
from my_table where
这就是我得到的错误。
[Code:30100,SQL状态:HY000]未找到arity为1的函数“stdev”```
我还尝试使用SQRT(VAR(amount))
而不是stdev,但我得到了
[Code:30100,SQL状态:HY000]计算GROUP BY视图的能力时出错` error。
我该怎么解决这个问题?
1条答案
按热度按时间f4t66c6m1#
如果你正在使用PostgreSQL驱动程序,这篇文章可能会帮助你:https://community.denodo.com/answers/question/details?questionId=90670000000XcrdAAC&title=Function+%27current_setting%27+with+arity+1+not+found..。
该错误似乎与PostgreSQL驱动程序发出VDP不支持的函数有关。我会使用JDBC驱动程序连接到VDP,因为这是推荐的连接方式,因为它比ODBC更快。以下知识库文章介绍了如何配置从BO到VDP的JDBC连接:https://community.denodo.com/kb/view/document/How%20to%20access%20VDP%20from%20SAP%20BusinessObjects?category=Northbound+Connections
如果您仍然希望使用ODBC连接,我认为您应该使用位于安装路径DENODO-HOME/tools/client-drivers/odbc中的Denodo ODBC驱动程序。