管理報表模型

在 Reporting Services 中,模型管理包括在報表伺服器中加入和刪除模型、修改模型屬性,以及管理與模型相關聯的共用資料來源。如需有關控制所有或部分模型之存取權的詳細資訊,請參閱<保護模型>。如需有關如何從預先定義的共用資料來源產生模型的詳細資訊,請參閱<如何:使用報表管理員建立模型>。

[!附註]

SQL Server Express with Advanced Services 不支援報表模型。如需有關本版功能的詳細資訊,請參閱<SQL Server Express with Advanced Services 中的 Reporting Services>。

在 Reporting Services 中使用模型

若要有效地管理模型,必須了解模型的使用方式。在 Reporting Services 中,報表模型會描述您在報表產生器中建立和修改之特定報表的資料。報表模型的使用方式如下:

  • 當做在「報表產生器」中設計報表或是在「報表設計師」中設計以模型為基礎之報表的資料來源。

  • 做為在執行階段瀏覽資料的資料來源。由於「報表產生器」報表是以模型為基礎,所以使用者可以利用非線性導覽路徑來瀏覽資料,在以互動方式瀏覽報表資料時,點選連結自動產生的報表。

  • 做為執行查詢以取得資料的資料來源。協力廠商用戶端應用程式可以利用程式設計存取模型,並使用模型做為報表資料來源。

預先定義及自動產生的點選連結報表

您可以專門透過顯示使用者相關資料之自動產生的點選連結報表來支援針對以模型為基礎的報表進行特定資料瀏覽。但是,您可以使用會以特定方式顯示資料之預先定義的自訂報表來補充或取代自動產生的報表。

自動產生的點選連結報表是在使用者瀏覽報表中的資料時,由報表伺服器所即時建立。報表伺服器會使用範本來建立暫存報表。有兩個範本:一個範本適用於單一執行個體資料 (例如,顯示與特定客戶有關的資料),而另一個範本適用於多重執行個體資料 (例如,顯示特定產品的訂單清單)。無法修改範本。但是,您可以使用具有您想要之樣式和配置的預先定義報表來取代暫存點選連結報表。

預先定義的點選連結報表是已發行的自訂報表,您會將這些報表對應至模型的特定部分。當使用者瀏覽至模型中對應至預先定義報表的某個部分時,該使用者會檢視此自訂報表,而不是報表伺服器所產生的點選連結報表。由於報表是由報表作者所建立,所以預先定義的點選連結報表可以使用「報表產生器」中提供的所有報表功能。如果您想要以特定配置呈現資料,則應該建立自訂報表。預先定義的點選連結報表必須在「報表產生器」中建立。建立和儲存報表之後,您可以使用報表管理員,將報表與模型中的實體產生關聯。

預先定義之報表的存取權是由報表上的角色指派所控制。如果不允許使用者透過明確或繼承的角色指派進行存取,該使用者將會檢視暫存報表,而非您對應至模型項目之預先定義的報表。

在模型驅動報表中瀏覽資料

「報表產生器」報表提供了進一步查詢的起點。相較於「報表設計師」報表所支援的明確鑽研和向下鑽研導覽路徑,「報表產生器」報表包含可按下的資料點,使用者可以遵循這些資料點來檢視模型所提供的其他資料。例如,您若有一個描述銷售、產品和員工資料的模型,從員工報表開始的使用者,可以利用點閱連結報表來檢視有關特定員工、產品和銷售的特定報表。

鑽研導覽中的報表系列

如果有多個實體互相關聯,則點選連結導覽路徑會由代表基礎實體之報表中的值所決定。例如,假設您有一個模型,其中包含一個 Customer 實體、一個 Customer Orders 實體,以及一個 Customer Returns 實體。如果 Customer 報表包含訂單數目與退貨數目的欄位,則按下訂單數目的使用者會鑽研至顯示訂單清單的報表,而按下退貨數目的使用者則會鑽研至顯示退貨清單的報表。

導覽特定資料路徑的能力是由模型項目安全性決定。例如,若要控制客戶訂單的存取權,您可以保護模型中的 Customer Order 實體。只有擁有檢視 Customer Order 實體之權限的使用者,才看得到報表中的客戶訂單資訊。

如何將預先定義的報表對應至報表模型中的實體

您可以設計自訂報表來取代報表伺服器所自動產生的點選連結報表。若要讓自訂報表可供使用者使用,您必須事先建立此報表、將它發行至報表伺服器,然後將此報表對應至模型中的主要實體。

如果您提供的是自訂點選連結報表,就應該同時包含單一執行個體和多重執行個體版本的報表。使用者導覽到特定實體的資料路徑,會決定需要單一執行個體或多重執行個體報表。您總是無法事先知道,是否不需要報表的某個特定版本。使用下列步驟可建立自訂報表供使用者進行點選連結導覽:

  1. 在報表伺服器上產生模型。

  2. 使用模型做為資料來源,以建立自訂報表。

    若要建立使用模型資料來源的報表,請使用報表產生器。您應該為每個實體建立一組報表:一個用於單一執行個體資料,而另一個用於多重執行個體資料。如需詳細資訊,請參閱<教學課程:自訂報表產生器點選連結報表>。

  3. 將報表儲存到報表伺服器。

  4. 啟動報表管理員

  5. 以滑鼠右鍵按一下模型,然後選取 [屬性]

  6. [點選連結報表] 頁面上,尋找您要為其指定自訂報表的實體。如需詳細資訊,請參閱<點選連結報表頁面 (報表管理員)>。

  7. 選擇您建立的單一執行個體和多重執行個體報表。

管理共用資料來源和報表模型

報表模型可使用來自 SQL Server 2000 和更新版本資料庫以及 SQL Server 2005 和更新版本 Analysis Services Cube 資料庫中的資料。若要連接到資料庫,報表模型會使用定義連接字串、認證和資料處理延伸模組的共用資料來源。

每個報表模型都與一個單一共用資料來源,以及一個資料來源檢視相關聯。共用資料來源最初是在「模型設計師」中隨著報表模型一起建立,但是可以在該模型和共用資料來源發行至報表伺服器之後,當成個別的項目來管理。

指定模型的共用資料來源時,取得認證的方式有一些限制。為報表模型提供資料的共用資料來源必須設定為使用:

  • 預存認證

  • Windows 整合式安全性。

針對為報表模型提供資料的共用資料來源,並不支援提示認證或無認證。如需有關認證的詳細資訊,請參閱<指定報表資料來源的認證和連接資訊>。

將模型加入至報表伺服器

您可以利用下列方式,將模型 (.smdl) 檔案加入至報表伺服器:

  • 從模型設計師,將模型發行至報表伺服器。

  • 從檔案系統,將模型上傳至報表伺服器。

要將模型放到報表伺服器上,最簡單的方法是從共用資料來源產生模型。您也可以從模型設計師發行模型,或者從檔案系統上傳 .smdl 檔案。

並非所有的 .smdl 檔案都可以上傳。如果檔案遺漏資料來源檢視資訊,則在您嘗試上傳檔案時,會出現錯誤。如果您嘗試上傳從未發行至報表伺服器的 .smdl 檔案,資料來源檢視資訊就會遺漏。從模型設計師發行之前,.smdl 檔案和資料來源檢視是分開儲存的。在發行過程中,資料來源檢視資訊會合併到 .smdl 檔案中。因此,您只應上傳先前已經發行至報表伺服器的 .smdl 檔案,然後再從報表伺服器儲存至檔案系統。

如需有關發行和上傳模型的詳細資訊,請參閱<發行報表模型>和<上傳檔案到資料夾>。

刪除模型和資料來源

報表模型會提供資料給您在「報表產生器」中建立的報表。如果您刪除模型,就不能再開啟、執行或修改以該模型為基礎的任何報表。

報表模型會使用共用資料來源,為提供資料給報表的關聯式資料庫或 Cube 指定連接資訊。如果刪除共用資料來源,將會中斷以該來源為基礎的模型和任何報表。

如果您不小心刪除了共用資料來源,可以使用報表管理員來建立指向基礎資料庫或 Cube 的新共用資料來源,然後在此模型的 [一般屬性] 頁面中指定新的資料來源。新的共用資料來源項目的名稱、認證或連接字串語法可以與之前刪除的資料來源不同。只要連接解析為相同的資料來源,您就可以搭配此模型使用此資料來源。

您無法重新建立之前不小心刪除的模型。如果您錯誤地刪除此模型,則必須重新產生此模型、重新建立及儲存報表,並重新指定您想要使用的任何模型項目安全性。您不能只是重新產生模型,然後將它附加到現有的報表。

重新命名模型和相依的資料來源

您可以重新命名報表模型,而不會影響使用它的報表。您也可以重新命名模型所使用的共用資料來源,而不會影響報表的可用性。

更新模型項目

如果是以 SQL Server 關聯式資料庫為基礎的模型,您可以使用模型設計師來修改及重新發行模型。如果您在模型使用中時 (例如,當使用者正在導覽從該模型產生的點選連結報表時) 重新發行此模型,則在部署進行中時,報表將會遭到鎖定。若要在您重新發行模型時停止模型處理,可以停用模型所使用的共用資料來源。若要這樣做,請清除 [資料來源屬性] 頁面中的 [啟用此資料來源] 選項。如果您刪除已發行報表中所使用的模型項目,報表的該部分會產生「找不到模型項目」錯誤。

您可以使用報表管理員來建立或修改模型項目安全性設定。在模型命名空間中,模型項目是由模型識別碼唯一識別。您更新模型時,報表伺服器會比較更新與先前儲存之模型版本的識別碼。如果相符,更新的模型項目就會取得現有項目的安全性設定。保護模型項目有許多需求。如需詳細資訊,請參閱<模型項目安全性頁面 (報表管理員)>。