2

我會問這個問題錯了,但這裏是我想要做的事:如何使用計算的列值作爲參數SSRS報告

我已經按照我的SP SELECT語句。我將在SSRS中使用此語句,以便用戶通過參數傳遞值。但是,我的問題是,我能想到的唯一參數是Status參數。我用case語句做了一個計算列。

我希望SSRS中的用戶選擇一個值:發佈,未發佈或全部

我該如何做一個計算列和狀態?

注意: SIS.cs_id_number和PC.css_id是一個整數值。

BEGIN 

SELECT PC.css_id as [CSS ID] 
, convert(VARCHAR, PC.birth_date, 101) AS DOB 
, PC.first_name as [First Name] 
, PC.last_name as [Last Name] 
, ssn as [SSN] 
, substring(PC.css_record, CHARINDEX('<AddressLine>', PC.css_record) + 22,CHARINDEX('</AddressLine>', PC.css_record)- CHARINDEX('<AddressLine>', PC.css_record) - 25) as [Street] 
, City 
, substring(PC.css_record, CHARINDEX('<StateProvinceCode>', PC.css_record) + 19 , 2) + ' - ' + substring(PC.css_record, CHARINDEX('<PostalCode>', PC.css_record) + 12 , 5) AS [State & ZipCode] 
, **[Status] = CASE WHEN SIS.cs_id_number = PC.css_id THEN 'POSTED' ELSE 'Not Posted: Student may not be in PF Database yet or there might be a mismatch' end** 


FROM 
profile_convert PC 
left JOIN say_im_stu SIS 
    ON SIS.cs_id_number = PC.css_id 
     order by css_id 

End 

回答

2

根據您的描述,您可以嘗試添加一個類似的WHERE條款:

... 
where (@Status = 'All' -- All rows regardless of status 
    or (@Status = 'Posted' and SIS.cs_id_number = PC.css_id) 
    or (@Status = 'Not Posted' and (SIS.cs_id_number <> PC.css_id or SIS.cs_id_number is null))) 

我假設你傳遞一個參數@Status報告,它可以是一個以下值:

  • 發佈
  • 沒有貼
  • 全部