我正在尝试根据以下查询形成报告,我遇到的问题是:我如何让它建立一个可以在 SSRS 中调用它的结构,比如将 MTF、PMonth、PPMonth 称为“类型”选择,当我将它放入 SSRS 时,我希望 MTD、PMonth 和 PPMonth 作为单独的实体出现在报告中。
-- ResWare.dbo.rptClosingPipeline3
SET NOCOUNT ON
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
DECLARE @today varchar(20)
SET @today = Convert(varchar, GetDate(), 101)
DECLARE @startdate datetime
SET @startdate = dbo.GetUTCDateTimeFunc(DateAdd(m, 0, convert(datetime, convert(char(8), current_timestamp, 112)) - day(current_timestamp) + 1))--
DECLARE @enddate datetime --today at midnight. first moment of the day
SET @enddate = dbo.GetUTCDateTimeFunc(@today)--
DECLARE @MTD datetime
SET @MTD = dbo.GetUTCDateTimeFunc(DateAdd(m, 0, convert(datetime, convert(char(8), current_timestamp, 112)) - day(current_timestamp) + 1))--
DECLARE @PMonth datetime
SET @PMonth = dbo.GetUTCDateTimeFunc(DateAdd(m, -1, convert(datetime, convert(char(8), current_timestamp, 112)) - day(current_timestamp) + 1))
DECLARE @PMonthEnd datetime
SET @PMonthEnd = dbo.GetUTCDateTimeFunc(DateAdd(m, 0, convert(datetime, convert(char(8), current_timestamp, 112)) - day(current_timestamp) + 1))--
DECLARE @PPMonth datetime
SET @PPMonth = dbo.GetUTCDateTimeFunc(DateAdd(m, -2, convert(datetime, convert(char(8), current_timestamp, 112)) - day(current_timestamp) + 1))
DECLARE @PPMonthEnd datetime
SET @PPMonthEnd = dbo.GetUTCDateTimeFunc(DateAdd(m, -1, convert(datetime, convert(char(8), current_timestamp, 112)) - day(current_timestamp) + 1))--
SELECT FM.FileNumber AS FileNumber,
ISNULL(IU.TEAMNAME,'') AS Closer,
dbo.GetLocalDateTimeFunc(FM.ActualSettlementDate) AS Scheduled,
dbo.GetLocalDateTimeFunc(FM.DisbursementDate) AS DisbursementDate,
dbo.GetLocalDateTimeFunc(FM.EstSettlementDate) AS EstSettlementDate,
CASE WHEN EXISTS (SELECT * FROM FilePartnerRel FPR1
WHERE FPR1.PartnerTypeID = 10033 AND FPR1.FileID = FM.FileID)
THEN P.State+'-(W)'
ELSE P.State END AS State,
ISNULL(P.StreetNumber,'')+' '+ISNULL(P.StreetDirection,'')+' '+ISNULL(P.StreetName,'')+' '+ISNULL(P.Unit,'')AS PropertyAddress,
S.Name,
(SELECT CONVERT(varchar(7000),Body) FROM Note WHERE NoteID =
(Select MAX(N.NoteID)
FROM Note N
JOIN FileActions A1 ON A1.FileID=FM.FileID
AND A1.ActionDefID IN (141,386,306)
JOIN FileActionNoteRel AN ON AN.FileActionsID=A1.FileActionsID
AND N.NoteID = AN.NoteID)) AS Note,
(SELECT COUNT(DISTINCT FA1.FileID) FROM FileActions FA1
JOIN FileMain FM1 ON FM1.FileID = FA1.FileID
AND FM1.FileNumber NOT LIKE 'PA-%'
JOIN Coordinator C1 ON C1.FileID = FA1.FileID
AND C1.CoordinatorTypeID IN (2, 6)
AND C1.CoordinatorID = C.CoordinatorID
WHERE FA1.ActionDefID IN (61,315,393)
AND FA1.ReceivedDate >= @startdate
AND FM1.StatusID != 8),
(SELECT COUNT(DISTINCT FA1.FileID) FROM FileActions FA1
JOIN FileMain FM1 ON FM1.FileID = FA1.FileID
AND FM1.FileNumber NOT LIKE 'PA-%'
WHERE FA1.ActionDefID IN (61,315,393)
AND FA1.ReceivedDate >= @startdate
AND FM1.StatusID != 8) AS TotalDisb
, TRT.Name CurativeItem
, SD.CommitmentEffDate
FROM FileMain FM
JOIN ActionListTransactionType ALTT ON ALTT.ActionListTransactionTypeID = FM.ActionListTransactionTypeID
JOIN ActionListProductType ALPT ON ALPT.ActionListProductTypeID = FM.ActionListProductTypeID
JOIN Coordinator C ON C.FileID = FM.FileID
AND C.CoordinatorTypeID IN (2)
LEFT JOIN FilePartnerRel FPR ON FPR.FileID = FM.FileID
AND FPR.PartnerTypeID = 5
JOIN Property P ON P.FileID = FM.FileID
LEFT JOIN PartnerCompany PC ON PC.PartnerCompanyID = FPR.PartnerCompanyID
JOIN PartnerCompany PC1 ON PC1.PartnerCompanyID = FM.ClientID
JOIN TEAM IU ON IU.TEAMID = C.CoordinatorID
JOIN Status S ON S.StatusID = FM.StatusID
LEFT JOIN TitleReview TR ON TR.FileID = Fm.FileID
AND (TR.InternalClear IS NULL OR TR.InternalClear = 0)
LEFT JOIN TitleReviewType TRT ON TRT.TitleReviewTypeID = TR.TitleReviewTypeID
LEFT JOIN SearchData SD ON SD.FileID = FM.FileID
WHERE FM.OfficeID = 1
AND FM.FileNumber NOT LIKE 'PA-%'
AND FM.StatusID IN (2,4,5,10,11,14,15,18)
UNION ALL
SELECT FM.FileNumber AS FileNumber,
ISNULL(IU.TEAMNAME,'') AS Closer,
dbo.GetLocalDateTimeFunc(FM.ActualSettlementDate) AS Scheduled,
dbo.GetLocalDateTimeFunc(FM.DisbursementDate) AS DisbursementDate,
dbo.GetLocalDateTimeFunc(FM.EstSettlementDate) AS EstSettlementDate,
CASE WHEN EXISTS (SELECT * FROM FilePartnerRel FPR1
WHERE FPR1.PartnerTypeID = 10033 AND FPR1.FileID = FM.FileID)
THEN P.State+'-(W)'
ELSE P.State END AS State,
ISNULL(P.StreetNumber,'')+' '+ISNULL(P.StreetDirection,'')+' '+ISNULL(P.StreetName,'')+' '+ISNULL(P.Unit,'')AS PropertyAddress,
S.Name,
(SELECT CONVERT(varchar(7000),Body) FROM Note WHERE NoteID =
(Select MAX(N.NoteID)
FROM Note N
JOIN FileActions A1 ON A1.FileID=FM.FileID
AND A1.ActionDefID IN (141,386,306)
JOIN FileActionNoteRel AN ON AN.FileActionsID=A1.FileActionsID
AND N.NoteID = AN.NoteID)) AS Note,
(SELECT COUNT(DISTINCT FA1.FileID) FROM FileActions FA1
JOIN FileMain FM1 ON FM1.FileID = FA1.FileID
AND FM1.FileNumber NOT LIKE 'PA-%'
JOIN Coordinator C1 ON C1.FileID = FA1.FileID
AND C1.CoordinatorTypeID IN (2, 6)
AND C1.CoordinatorID = C.CoordinatorID
WHERE FA1.ActionDefID IN (61,315,393)
AND FA1.ReceivedDate >= @MTD
AND FM1.StatusID != 8),
(SELECT COUNT(DISTINCT FA1.FileID) FROM FileActions FA1
JOIN FileMain FM1 ON FM1.FileID = FA1.FileID
AND FM1.FileNumber NOT LIKE 'PA-%'
WHERE FA1.ActionDefID IN (61,315,393)
AND FA1.ReceivedDate >= @MTD
AND FM1.StatusID != 8) AS TotalDisb
, TRT.Name CurativeItem
, SD.CommitmentEffDate
FROM FileMain FM
JOIN ActionListTransactionType ALTT ON ALTT.ActionListTransactionTypeID = FM.ActionListTransactionTypeID
JOIN ActionListProductType ALPT ON ALPT.ActionListProductTypeID = FM.ActionListProductTypeID
JOIN Coordinator C ON C.FileID = FM.FileID
AND C.CoordinatorTypeID IN (2)
LEFT JOIN FilePartnerRel FPR ON FPR.FileID = FM.FileID
AND FPR.PartnerTypeID = 5
JOIN Property P ON P.FileID = FM.FileID
LEFT JOIN PartnerCompany PC ON PC.PartnerCompanyID = FPR.PartnerCompanyID
JOIN PartnerCompany PC1 ON PC1.PartnerCompanyID = FM.ClientID
JOIN TEAM IU ON IU.TEAMID = C.CoordinatorID
JOIN Status S ON S.StatusID = FM.StatusID
LEFT JOIN TitleReview TR ON TR.FileID = Fm.FileID
AND (TR.InternalClear IS NULL OR TR.InternalClear = 0)
LEFT JOIN TitleReviewType TRT ON TRT.TitleReviewTypeID = TR.TitleReviewTypeID
LEFT JOIN SearchData SD ON SD.FileID = FM.FileID
WHERE FM.OfficeID = 1
AND FM.FileNumber NOT LIKE 'PA-%'
AND FM.StatusID IN (2,4,5,10,11,14,15,18)
UNION ALL
SELECT FM.FileNumber AS FileNumber,
ISNULL(IU.TEAMNAME,'') AS Closer,
dbo.GetLocalDateTimeFunc(FM.ActualSettlementDate) AS Scheduled,
dbo.GetLocalDateTimeFunc(FM.DisbursementDate) AS DisbursementDate,
dbo.GetLocalDateTimeFunc(FM.EstSettlementDate) AS EstSettlementDate,
CASE WHEN EXISTS (SELECT * FROM FilePartnerRel FPR1
WHERE FPR1.PartnerTypeID = 10033 AND FPR1.FileID = FM.FileID)
THEN P.State+'-(W)'
ELSE P.State END AS State,
ISNULL(P.StreetNumber,'')+' '+ISNULL(P.StreetDirection,'')+' '+ISNULL(P.StreetName,'')+' '+ISNULL(P.Unit,'')AS PropertyAddress,
S.Name,
(SELECT CONVERT(varchar(7000),Body) FROM Note WHERE NoteID =
(Select MAX(N.NoteID)
FROM Note N
JOIN FileActions A1 ON A1.FileID=FM.FileID
AND A1.ActionDefID IN (141,386,306)
JOIN FileActionNoteRel AN ON AN.FileActionsID=A1.FileActionsID
AND N.NoteID = AN.NoteID)) AS Note,
(SELECT COUNT(DISTINCT FA1.FileID) FROM FileActions FA1
JOIN FileMain FM1 ON FM1.FileID = FA1.FileID
AND FM1.FileNumber NOT LIKE 'PA-%'
JOIN Coordinator C1 ON C1.FileID = FA1.FileID
AND C1.CoordinatorTypeID IN (2, 6)
AND C1.CoordinatorID = C.CoordinatorID
WHERE FA1.ActionDefID IN (61,315,393)
AND FA1.ReceivedDate >= @PMonth
AND FM1.StatusID != 8),
(SELECT COUNT(DISTINCT FA1.FileID) FROM FileActions FA1
JOIN FileMain FM1 ON FM1.FileID = FA1.FileID
AND FM1.FileNumber NOT LIKE 'PA-%'
WHERE FA1.ActionDefID IN (61,315,393)
AND FA1.ReceivedDate >= @PMonth
AND FM1.StatusID != 8) AS TotalDisb
, TRT.Name CurativeItem
, SD.CommitmentEffDate
FROM FileMain FM
JOIN ActionListTransactionType ALTT ON ALTT.ActionListTransactionTypeID = FM.ActionListTransactionTypeID
JOIN ActionListProductType ALPT ON ALPT.ActionListProductTypeID = FM.ActionListProductTypeID
JOIN Coordinator C ON C.FileID = FM.FileID
AND C.CoordinatorTypeID IN (2)
LEFT JOIN FilePartnerRel FPR ON FPR.FileID = FM.FileID
AND FPR.PartnerTypeID = 5
JOIN Property P ON P.FileID = FM.FileID
LEFT JOIN PartnerCompany PC ON PC.PartnerCompanyID = FPR.PartnerCompanyID
JOIN PartnerCompany PC1 ON PC1.PartnerCompanyID = FM.ClientID
JOIN TEAM IU ON IU.TEAMID = C.CoordinatorID
JOIN Status S ON S.StatusID = FM.StatusID
LEFT JOIN TitleReview TR ON TR.FileID = Fm.FileID
AND (TR.InternalClear IS NULL OR TR.InternalClear = 0)
LEFT JOIN TitleReviewType TRT ON TRT.TitleReviewTypeID = TR.TitleReviewTypeID
LEFT JOIN SearchData SD ON SD.FileID = FM.FileID
WHERE FM.OfficeID = 1
AND FM.FileNumber NOT LIKE 'PA-%'
AND FM.StatusID IN (2,4,5,10,11,14,15,18)
UNION ALL
SELECT FM.FileNumber AS FileNumber,
ISNULL(IU.TEAMNAME,'') AS Closer,
dbo.GetLocalDateTimeFunc(FM.ActualSettlementDate) AS Scheduled,
dbo.GetLocalDateTimeFunc(FM.DisbursementDate) AS DisbursementDate,
dbo.GetLocalDateTimeFunc(FM.EstSettlementDate) AS EstSettlementDate,
CASE WHEN EXISTS (SELECT * FROM FilePartnerRel FPR1
WHERE FPR1.PartnerTypeID = 10033 AND FPR1.FileID = FM.FileID)
THEN P.State+'-(W)'
ELSE P.State END AS State,
ISNULL(P.StreetNumber,'')+' '+ISNULL(P.StreetDirection,'')+' '+ISNULL(P.StreetName,'')+' '+ISNULL(P.Unit,'')AS PropertyAddress,
S.Name,
(SELECT CONVERT(varchar(7000),Body) FROM Note WHERE NoteID =
(Select MAX(N.NoteID)
FROM Note N
JOIN FileActions A1 ON A1.FileID=FM.FileID
AND A1.ActionDefID IN (141,386,306)
JOIN FileActionNoteRel AN ON AN.FileActionsID=A1.FileActionsID
AND N.NoteID = AN.NoteID)) AS Note,
(SELECT COUNT(DISTINCT FA1.FileID) FROM FileActions FA1
JOIN FileMain FM1 ON FM1.FileID = FA1.FileID
AND FM1.FileNumber NOT LIKE 'PA-%'
JOIN Coordinator C1 ON C1.FileID = FA1.FileID
AND C1.CoordinatorTypeID IN (2, 6)
AND C1.CoordinatorID = C.CoordinatorID
WHERE FA1.ActionDefID IN (61,315,393)
AND FA1.ReceivedDate >= @PPMonth
AND FM1.StatusID != 8),
(SELECT COUNT(DISTINCT FA1.FileID) FROM FileActions FA1
JOIN FileMain FM1 ON FM1.FileID = FA1.FileID
AND FM1.FileNumber NOT LIKE 'PA-%'
WHERE FA1.ActionDefID IN (61,315,393)
AND FA1.ReceivedDate >= @PPMonth
AND FM1.StatusID != 8) AS TotalDisb
, TRT.Name CurativeItem
, SD.CommitmentEffDate
FROM FileMain FM
JOIN ActionListTransactionType ALTT ON ALTT.ActionListTransactionTypeID = FM.ActionListTransactionTypeID
JOIN ActionListProductType ALPT ON ALPT.ActionListProductTypeID = FM.ActionListProductTypeID
JOIN Coordinator C ON C.FileID = FM.FileID
AND C.CoordinatorTypeID IN (2)
LEFT JOIN FilePartnerRel FPR ON FPR.FileID = FM.FileID
AND FPR.PartnerTypeID = 5
JOIN Property P ON P.FileID = FM.FileID
LEFT JOIN PartnerCompany PC ON PC.PartnerCompanyID = FPR.PartnerCompanyID
JOIN PartnerCompany PC1 ON PC1.PartnerCompanyID = FM.ClientID
JOIN TEAM IU ON IU.TEAMID = C.CoordinatorID
JOIN Status S ON S.StatusID = FM.StatusID
LEFT JOIN TitleReview TR ON TR.FileID = Fm.FileID
AND (TR.InternalClear IS NULL OR TR.InternalClear = 0)
LEFT JOIN TitleReviewType TRT ON TRT.TitleReviewTypeID = TR.TitleReviewTypeID
LEFT JOIN SearchData SD ON SD.FileID = FM.FileID
WHERE FM.OfficeID = 1
AND FM.FileNumber NOT LIKE 'PA-%'
AND FM.StatusID IN (2,4,5,10,11,14,15,18)
GROUP BY FM.FileNumber,
PC1.Name,
PC.Name,
ISNULL(IU.TEAMNAME,''),
ALTT.Name +': '+ALPT.DisplayName,
dbo.GetLocalDateTimeFunc(FM.ActualSettlementDate),
dbo.GetLocalDateTimeFunc(FM.DisbursementDate),
dbo.GetLocalDateTimeFunc(FM.EstSettlementDate),
FM.FileID,
P.State,
P.StreetNumber,
P.StreetDirection,
P.StreetName,
P.Unit,
S.Name,
FM.EstSettlementDate,
C.CoordinatorID,
TRT.Name,
SD.CommitmentEffDate