(Dieses Beispiel ist für SQL Server)
Sie können es in SQL tun, wenn Sie die ersten Ergebnisse in einer Tabelle oder eine temporäre Datenstruktur speichern. Wenn Sie eine Unterabfrage durchführen, können Sie die Raten der Leitung durch die Rate der vorherigen Leitung subtrahieren. Dies ist nach Datum, also haben Sie den MAX (Datum) für den gegebenen Patienten/Arzt gewählt, was auch immer das ist (Primärschlüssel?). In diesem Fall habe ich "PatientID" verwendet, um den Patienten zu identifizieren. Siehe unten:
--Assume your values are saved in a table or other temp table
DECLARE @tmp TABLE (PatientID int, Interview_Date date, Avg_Alcohol_Use_Month decimal (4,2), Avg_Drug_Use_Month decimal (4,2))
INSERT INTO @tmp
VALUES
(1, '2017-01-30', 1.63, 1.34)
,(2, '2017-06-30', 2.58, 0.80)
,(1, '2017-03-01', 1.54, 1.23)
,(1, '2017-07-02', 3.21, 0.20)
,(2, '2017-08-23', 2.10, 4.52)
SELECT PatientID
,Interview_Date
,Avg_Alcohol_Use_Month
,Avg_Drug_Use_Month
,Avg_Alcohol_Use_Month
-
(SELECT Avg_Alcohol_Use_Month
FROM @tmp T2
WHERE T2.PatientID = T1.PatientID
AND T2.Interview_Date = (SELECT MAX(Interview_Date)
FROM @tmp T3
WHERE T3.Interview_Date < T1.Interview_Date
AND T3.PatientID = T1.PatientID
-- or whatever PK that makes the row unique for the patient.
)
) AS [Alcohol Use Rate change]
,Avg_Drug_Use_Month
-
(SELECT Avg_Drug_Use_Month
FROM @tmp T2
WHERE T2.PatientID = T1.PatientID
AND T2.Interview_Date = (SELECT MAX(Interview_Date)
FROM @tmp T3
WHERE T3.Interview_Date < T1.Interview_Date
AND T3.PatientID = T1.PatientID
-- or whatever PK makes the row unique for the patient.
)
) AS [Drug Use Rate change]
FROM @tmp T1
ORDER BY PatientID, Interview_Date
Verwenden Sie eine solche Abfrage als Dataset für SSRS.
Können Sie Ihre Frage klären? Ich bin mir nicht sicher, worauf Sie hoffen. (Ausdruckshilfe, berechnetes Feld, Dataset) –
Wenn Sie mit SQL besser vertraut sind, ist es wahrscheinlich einfacher, die Arbeit in Ihrem Dataset zu erledigen, da dies reines SQL ist. SSRS-Ausdrücke arbeiten mit den Daten, die vom Dataset bereitgestellt werden. Dies sind wiederum (normalerweise) Daten, die von einer Abfrage abgerufen oder von SQL Server gespeichert werden. –