oracle/sql power bi directquery指令错误“当前不支持此本机数据库查询”

5cg8jx4n  于 2021-07-24  发布在  Java
关注(0)|答案(0)|浏览(424)

首先,我想为英语不好道歉,但我会尽量说清楚的。
我正在尝试使用powerbi使sql指令成为一种快捷方式,因为我在尝试操作信息时遇到了很多麻烦,而没有导入整个数据(它确实是大数据)来构建度量,但是使用下面的sql指令,查询在powerbi中运行得相当快。

SELECT M.NUMOS, M.CODFUNCOS, M.DTINICIOOS, M.DTFIMSEPARACAO,
M.DTFIMSEPARACAO - M.DTINICIOOS AS TEMPO 
FROM PCMOVENDPEND M
WHERE DTFIMSEPARACAO IS NOT NULL
AND DATA >= SYSDATE-1

唯一的问题是列的速度,它的格式必须从数字到时间进行更改,这样我就可以轻松地使用powerbi,而无需导入表来使用powerquery编辑器进行转换。我在本主题中获得了帮助,并使用下面的代码成功地转换了列类型。

CREATE OR REPLACE FUNCTION WMS_CORINGA(TEMPO NUMBER)
RETURN VARCHAR2 IS
HORA NUMBER;
MINUTO NUMBER(2);
SEGUNDO NUMBER(2);
TEMPOABS NUMBER;
BEGIN
IF TEMPO <> 0 THEN
TEMPOABS := ABS(TEMPO);
HORA := TRUNC(TEMPOABS*24);
MINUTO := TRUNC(((TEMPOABS*24)-HORA) * 60);
SEGUNDO := ((((TEMPOABS*24)-HORA) * 60) - MINUTO) * 60;
RETURN TO_CHAR(HORA, 'FM9999900') || ':'|| TO_CHAR(MINUTO, 'FM00') || ':' || TO_CHAR (SEGUNDO, 'FM00');
ELSE
RETURN '';
END IF;
END;

SELECT  M.NUMOS, M.CODFUNCOS, M.DTINICIOOS, M.DTFIMSEPARACAO,
WMS_CORINGA(M.DTFIMSEPARACAO - M.DTINICIOOS) AS TEMPO_EM_SEPARACAO  
FROM PCMOVENDPEND M
WHERE DTFIMSEPARACAO IS NOT NULL
AND DATA>= SYSDATE-1

但是powerbi的问题来了,当我试图用上面的指令建立oracle服务器的连接时,我得到了错误的详细信息:“这个本机数据库查询目前不受支持。”
我希望有一种方法可以解决这个问题,并且仍然使用sql指令,这样我就可以在处理我将使用powerbi的数据方面获得很大的优势,谢谢!
我的powerbi版本是2.83.5894.881 64位(2020年7月)

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题