【发布时间】:2021-06-16 02:02:44
【问题描述】:
我有以下存储过程,该过程部署在存储数据的同一数据库中。
我尝试使用 Microsoft Report builder 添加此数据集,但“执行查询”选项显示为灰色。无法识别任何字段,只有“编辑为文本”才能执行存储过程并返回结果。
谁能帮我找出原因?我已经卡在这里很长一段时间了。
AS
BEGIN
DECLARE @time_from nvarchar(50) = '12:00:00'
, @time_to nvarchar(50) = '24:00:00'
/***************current hour Average***************/
DROP TABLE IF EXISTS #hour_average
CREATE TABLE #hour_average ( V1a INT,
V2a INT,
V3a Int)
INSERT INTO #hour_average
select AVG(V1) as V1a
, AVG(V2) as V2a
, AVG(V3) as V3a
FROM [phone].[schema].[vwCall] with (nolock)
where DATEPART(hour,CallDateTime)=DATEPART(hour,getdate())
and CallDate=CAST(GETDATE() AS DATE)
and CallJN=1
AND CallDateTime BETWEEN @time_from AND @time_to
GROUP BY DATEPART(hour,CallDateTime)
ORDER BY DATEPART(hour,CallDateTime) asc
/************current day Average******************/
DROP TABLE IF EXISTS #day_average
CREATE TABLE #day_average ( V1_day_a INT,
V2_day_a INT,
V3_day_a INT )
INSERT INTO #day_average
SELECT AVG(V1) as V1_day_a
, AVG(V2) as V2_day_a
, AVG(V3) as V3_Day_a
FROM [phone].[schema].[vwCall] with (nolock)
where CallDate=CAST(GETDATE() AS DATE)
and CallJN=1
AND CallDateTime BETWEEN @time_from AND @time_to
/*********Get the results*********/
SELECT 'Hour' as Timeframe,*
INTO #results
from #hour_average
UNION ALL
SELECT 'Day' as Timeframe,*
from #day_average
SELECT ISNULL (Timeframe,0)Timeframe, V1, V2,V3 FROM #results
END
【问题讨论】:
-
您是否将上述查询放入您的查询类型文本选择空间?或者这只是SP的一部分?您应该能够使用存储过程并将其用作您的数据集。只需选择存储过程并选择过程的名称。分享截图?
-
@Harry 这个已经是SP了,我从数据库里选的,想保存成新的数据集,但是保存不了,因为报错:没有字段,不能得救
标签: tsql reporting-services reportbuilder