CountDistinct 函數 (報表產生器及 SSRS)

傳回運算式指定的所有非 Null 相異值的計數 (在給定範圍的內容中評估)。

注意

您可以在報表產生器以及 SQL Server Data Tools 的報表設計師中建立和修改報表定義 (.rdl)。 每種撰寫環境都會提供不同的方式來建立、開啟和儲存報表與相關的項目。 如需詳細資訊,請參閱在網路上 microsoft.com 在 報表設計師 和 Report Builder (SSRS) 中設計報表

語法

  
CountDistinct(expression, scope, recursive)  

參數

expression
(Variant) 要在其上執行彙總的運算式。

範圍 (scope)
(String) 選擇性。 包含要套用彙總函式之報表項目的資料集、群組或資料區的名稱。 如果未指定 scope ,則使用目前的範圍。

遞迴
(列舉型別) 選擇性。 Simple (預設值) 或 RdlRecursive。 指定是否要以遞迴方式執行彙總。

傳回類型

傳回 Integer

備註

scope 的值必須是字串常數,而且不得為運算式。 如果是未指定其他彙總的外部彙總, scope 必須參考目前的範圍或是包含的範圍。 如果是彙總的彙總,巢狀彙總可以指定子範圍。

Expression 可以包含巢狀彙總函式的呼叫,其中包含下列例外和條件:

  • 巢狀彙總的Scope 必須與外部彙總的範圍相同或是由外部彙總的範圍所限制。 如果是運算式中的所有相異範圍,一個範圍必須與所有其他範圍之間具有子關聯性。

  • 巢狀彙總的Scope 不得為資料集的名稱。

  • 運算式 不得包含 FirstLastPrevious 或 函 RunningValue 式。

  • Expression 不得包含指定 recursive的巢狀彙總。

如需詳細資訊,請參閱彙總函式參考 (報表產生器和 SSRS)總計、彙總與內建集合的運算式範圍 (報表產生器和 SSRS)

如需遞迴彙總的詳細資訊,請參閱建立遞迴階層群組 (報表產生器和 SSRS)

範例

下列程式碼範例顯示的運算式會針對預設範圍及父群組範圍,計算 Size 的非 Null 唯一值數目。 運算式會加到屬於子群組 GroupbySubcategory的資料列中的資料格。 父群組是 GroupbyCategory。 運算式會先顯示 GroupbySubcategory (預設範圍) 的結果,再顯示 GroupbyCategory (父群組範圍) 的結果。

注意

運算式不會真的包含歸位字元和分行符號;範例程式碼是為了支援文件轉譯器而包含這些字元及符號。 如果要複製下列範例,請移除每一行的歸位字元。

="Distinct count (Subcategory): " & CountDistinct(Fields!Size.Value) &   
"Distinct count (Category): " & CountDistinct(Fields!Size.Value,"GroupbyCategory")  

另請參閱

報表中的運算式用法 (報表產生器及 SSRS)
運算式範例 (報表產生器及 SSRS)
運算式中的資料類型 (報表產生器及 SSRS)
總計、彙總與內建集合的運算式範圍 (報表產生器及 SSRS)