Ssrs

根據特定欄位值從報告中刪除行

  • March 11, 2021

我發現瞭如何根據特定欄位值隱藏行。

但是是否可以從報告中實際刪除行而不只是隱藏它們?

史蒂夫

好的,所以看起來技巧是獲取 Status = “OK” 的行的行數,並將其與所有行的計數進行比較。

如果它們相等,則沒有警告消息,我們會顯示消息行。

如果它們不相等,則會出現警告並且我們不會顯示消息行。

做這一切的訣竅是對狀態為 OK 的行求和,如下所示:

=iif(countrows()<>sum(iif(Fields!ALERT_VALUE.Value=”OK”,1,0)),true,false)

感謝我的朋友查爾斯為我指明了正確的方向。

DELETE報告本身沒有SSRS的概念,因為報告是只讀的。如果DELETE您的意思是根本不想將這些行帶入報表的數據集中,那麼您需要適當地過濾數據集以消除上游的行。

例如,如果您的數據集是 SQL 查詢,您可以在WHERE該查詢的子句中添加謂詞以過濾掉數據(或者如果它是儲存過程,您可以通過參數執行相同的操作)。我們需要查看填充SSRS報告數據集的查詢。


相反,如果您問的是如何在SSRS報告中設置“刪除按鈕”,以便使用者可以選擇****從數據庫中刪除哪些行,那麼這就有點複雜了。

這將要求您創建一個儲存過程,該過程從基礎表中適當地刪除,並為要刪除的行獲取鍵的參數。然後,您將其設置為報表的隱藏參數,並且必須在報表中添加一列,其中包含一個連結,該連結具有引用報表本身但具有附加隱藏參數的表達式。然後它將重新執行相同的報告,但將點擊連結的行的鍵傳遞給儲存過程,因此它知道要從數據庫中刪除哪一行,然後返回報告所需的其餘行.

引用自:https://dba.stackexchange.com/questions/286800