2009-04-13 36 views
0

有沒有辦法在SSRS 2005中執行「and」或「filters」?Reporting Services 2005篩選器

我有一個表指向一個數據集(存儲過程),看起來像這樣:

name      type     amount 
License Plate Credit   fees    ($150.00) 
Lieu Tax      fees    $1,012.12 
Finance Tax City    taxes    $1,839.90 
Finance Tax County    taxes    $306.65 
Finance Tax State    taxes    $3,434.48 

用戶希望看到包含所有行:

  1. 類型=「稅」或
  2. 類型=「費」和名稱=「遼稅」

我需要做這個報告的原因而不是存儲過程是因爲 我們將創建多個報告指向相同的存儲過程,具體取決於 每個客戶端如何佈局顯示和業務規則。

需求說明 我希望有一種方法可以在報告中使用,而不是proc。該計劃將有許多自定義報告指向具有不同要求的相同過程。這個想法是爲了讓報表編制者(不知道SQL)創建報表,而不是我們程序員總是需要參與的。

回答

1

每種可能的條件組合都是合格或不合格。您可以使用SWITCH來評估每個可能的條件,並返回1或0.然後在過濾條件中使用「=」和「= 1」。

= SWITCH(TYPE = 「稅」,1, TYPE = 「費」 NAME = 「遼稅」),1, 1 = 1,0 )

您可以處理整個過濾用這種方式在一個單一的表達。奇蹟般有效。

1

您應該修改存儲過程以接受類型和名稱之類的參數,然後從報告中根據用戶要求使用正確的值調用此存儲過程。報告服務報告確實有一個稱爲報告參數的功能。因此,您應該將報告轉換爲接受來自用戶&的類型和名稱參數,並將其傳遞到存儲過程。要爲多個用戶創建多個報告,您只需從這一個模板報告中創建具有不同參數值的多個鏈接報告。

+0

我希望有一種方法可以在報告中代替proc。該計劃將有許多自定義報告指向具有不同要求的相同過程。這個想法是爲了讓報表編制者(不知道SQL)創建報表,而不是我們程序員總是需要參與的。 – 2009-04-15 12:52:00

+0

您是否看過Reporting Services中的鏈接報告功能?如果您有一個接受參數值的模板報告功能,您的最終用戶可以使用不同的參數值從此一個模板報告中創建儘可能多的鏈接報告。這比建設者更容易 – msvcyc 2009-04-15 16:59:38

0

變化PROC是

SELECT 

xxx 

FROM 

xxx 

WHERE (a.id = @aID OR @aID IS NULL) 
AND (b.id = @bID OR @bID IS NULL) 
AND (c.id = @..... 

在一個值或NULL只是通過從報告

0

是的,有。 用數據打開表格或矩陣的表格屬性。 有一個「過濾器」選項卡允許您在查詢執行後過濾數據。