Übergeben mehrerer Werte an einen einzelnen Parameter in einer gespeicherten Prozedur
Ich verwende SSRS zum Melden und Ausführen einer gespeicherten Prozedur, um die Daten für meine Berichte zu generieren
DECLARE @return_value int
EXEC @return_value = [dbo].[MYREPORT]
@ComparePeriod = 'Daily',
@OverrideCompareDate = NULL,
@PortfolioId = '5,6',
@OverrideStartDate = NULL,
@NewPositionsOnly = NULL,
@SourceID = 13
SELECT 'Return Value' = @return_value
GO
Oben, als ich bestanden habe@PortfolioId = '5,6'
Es gibt mir falsche Eingaben
Ich brauche alle Unterlagen fürportfolio id 5 and 6 also
Ist dies die richtige Methode, um mehrere Werte zu senden?
Bei der Ausführung meiner Berichte gebe ich nur@PortfolioId = '5'
es gibt mir 120 Datensätze und wenn ich es durch Geben ausführe@PortfolioId = '6'
es gibt mir 70 Aufzeichnungen
Also, wenn ich geben werde@PortfolioId = '5,6'
es sollte mir insgesamt nur 190 Datensätze geben, aber es gibt mir mehr keine von Datensätzen, die ich nicht verstehe, wo ich genau falsch liege.
Könnte mir jemand helfen? Vielen Dank
Der gesamte Code ist zu groß zum Einfügen. Ich füge relevanten Code ein. Bitte schlagen Sie einen Hinweis vor.
CREATE PROCEDURE [dbo].[GENERATE_REPORT]
(
@ComparePeriod VARCHAR(10),
@OverrideCompareDate DATETIME,
@PortfolioId VARCHAR(50) = '2', --this must be multiple
@OverrideStartDate DATETIME = NULL,
@NewPositionsOnly BIT = 0,
@SourceID INT = NULL
) AS
BEGIN
SELECT
Position.Date,
Position.SecurityId,
Position.Level1Industry,
Position.MoodyFacilityRating,
Position.SPFacilityRating,
Position.CompositeFacilityRating,
Position.SecurityType,
Position.FacilityType,
Position.Position
FROM
Fireball_Reporting.dbo.Reporting_DailyNAV_Pricing POSITION WITH (NOLOCK, READUNCOMMITTED)
LEFT JOIN Fireball.dbo.AdditionalSecurityPrice ClosingPrice WITH (NOLOCK, READUNCOMMITTED) ON
ClosingPrice.SecurityID = Position.PricingSecurityID AND
ClosingPrice.Date = Position.Date AND
ClosingPrice.SecurityPriceSourceID = @SourceID AND
ClosingPrice.PortfolioID IN (
SELECT
PARAM
FROM
Fireball_Reporting.dbo.ParseMultiValuedParameter(@PortfolioId, ',') )