[英]Query works in Power Query Editor but not in Power BI
我刚开始使用 Power BI,希望能够比较直接查询和导入模式之间的报表性能。 通过在导入模式下执行数据操作,我将要描述的内容可能是可能的。 这不是这个问题的目的。
对 SQL Server 2016 使用 Power BI。
不幸的是,我正在处理预先透视的数据。 为了取消它,我正在做这样的事情:
;
with a as (
SELECT pd.[ProjectDollarsId]
, pd.[VersionId]
, pd.[ProjectId]
, pd.[FundTypeId]
, pd.[ApprovalId]
, pd.[PriorDollar]
, pd.[LastYearDollar]
, pd.[ThisYearDollar]
, pd.[NextYearDollar]
, pd.[FutureDollar]
, pd.[TotalDollar]
, v.[Year] as VersionYear
FROM [ProjectDollars] pd
inner join [Version] v on v.VersionId = pd.VersionId
where v.[Year] > 2016
),
b as (
select ProjectDollarsId
, VersionId
, ProjectId
, ProjectPhaseId
, FundTypeId
, ApprovalId
, VersionYear
, DollarsYear
, Dollars
from a pvt
unpivot (
Dollars for DollarsYear in (
PriorDollar,
LastYearDollar,
ThisYearDollar,
NextYearDollar,
FutureDollar)
) as unpvt
)
select ProjectDollarsId
, VersionId
, ProjectId
, FundTypeId
, ApprovalId
, case DollarsYear
when 'PriorDollar' then VersionYear - 2
when 'LastYearDollar' then VersionYear - 1
when 'ThisYearDollar' then VersionYear
when 'NextYearDollar' then VersionYear + 1
when 'FutureDollar' then VersionYear + 2
else 0
end as [Year]
, Dollars
from b
这在 Power Query 编辑器中运行良好。 我得到一个包含正确列名和数据的结果表以进行预览。
单击关闭并应用后,Power BI 显示:
Microsoft SQL:“;”附近的语法不正确。 ')' 附近的语法不正确。
我需要做些什么来解决这个问题?
Power BI 将像这样编写查询:
select * from (<your query>) SourceQuery
IE
select * from (; with a as (SELECT pd.[ProjectDollarsId] ... ) SourceQuery
它这样做是因为它需要在运行时添加连接和条件。 显然上述查询无效。 您需要在 Power BI 中使用 M 和 DAX 实现查询逻辑,或者将其包装在数据库中的视图中。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.