我想为其生成ssrs报告,我需要选择4个值PreviousNAV、TodaysNAV、@NetChange、@ want索引
CREATE PROCEDURE [dbo].[Progreereport]
(
@EndDate DATETIME,
@ComparePeriod VARCHAR(10),
@PortfolioId VARCHAR(50) = '6'
)
AS
BEGIN
DECLARE @StartDate DATETIME =
CASE
WHEN @ComparePeriod = 'Daily' THEN dbo.DateUtility_MakeBusinessDay(DATEADD(DAY, -1, @EndDate), 'LessThanOrEqualTo')
WHEN @ComparePeriod = 'Weekly' THEN dbo.DateUtility_GetRelativeDate(@EndDate, 'LessThan', 'End', 'Week', 1)
WHEN @ComparePeriod = 'MTD' THEN dbo.DateUtility_GetRelativeDate(@EndDate, 'LessThan', 'End', 'Month', 1)
WHEN @ComparePeriod = 'QTD' THEN dbo.DateUtility_GetRelativeDate(@EndDate, 'LessThan', 'End', 'Quarter', 1)
WHEN @ComparePeriod = 'YTD' THEN dbo.DateUtility_GetRelativeDate(@EndDate, 'LessThan', 'End', 'Year', 1)
WHEN @ComparePeriod = 'LTM' THEN DATEADD(MONTH, -12, @EndDate)
WHEN @ComparePeriod = 'LTD' THEN CAST(Fireball_Configuration.dbo.GetConfigurationValue('Fireball', 'Concerto Credit Opportunity Master Fund I - Inception Date') AS DATETIME)
END
DECLARE @PreviousNAV DECIMAL(18,4)
DECLARE @TodaysNAV DECIMAL(18,4)
DECLARE @NetChange DECIMAL(18,4)
DECLARE @BAMLIndex DECIMAL(18,4)
SELECT ISNULL(@PreviousNAV,0) PreviousNAV
FROM Fireball..NAV
WHERE Date = @StartDate and PortfolioId = @PortfolioId
SELECT ISNULL(@TodaysNAV,0) TodaysNAV
FROM Fireball..NAV
WHERE Date = @EndDate and PortfolioId = @PortfolioId
SELECT @NetChange = (@TodaysNAV - @PreviousNAV )
SELECT @BAMLIndex = @NetChange / @TodaysNAV
END
GO我需要以上四个值来生成报告,但帮助我把它放到表别名中,这样我就可以很容易地使用它…
发布于 2011-09-23 15:12:11
您的意思是要返回表中的项吗?
在当前脚本之后执行此操作:
DECLARE @myData TABLE (
PreviousNAV DECIMAL(18,4),
TodaysNAV DECIMAL(18,4),
NetChange DECIMAL(18,4),
BAMLIndex DECIMAL(18,4)
)
INSERT @myData
VALUES (@PreviousNAV, @TodaysNav, @NetChange, @BAMLIndex)
SELECT * FROM @myData要返回这四个值的单个列,请在存储过程的末尾添加以下内容:
SELECT @PreviousNAV as [Data] UNION
DECLARE @TodaysNAV UNION
DECLARE @NetChange UNION
DECLARE @BAMLIndex https://stackoverflow.com/questions/7525392
复制相似问题