2013年12月6日 星期五

[SQL Server 2008R2][SSRS] 報表模型 (二)

報表模型屬性,在點選每個實體之後,可以在詳細資料區域看到與該實體相連結的屬性 ( Attribute ) 與角色 ( Role )。
屬性 ( Attribute ) 用來進行分析的基礎欄位單位,可從屬性前方圖示來分辨屬性的類型:

  • 「#」圖示表示為連續變數彙總值。
  • 「a」圖示表示為文字欄位。
  • 日曆圖示表示為時間欄位。


在連續數值以及日期的部分,SSRS會自動產生所有分析時可能使用到的選項 ( 彙總值以及日期選項 ),例如連續變數會產生總計、平均、最大值以及最小值等。時間欄位則會產生年、季、月、日及第一天與最後一天等分析欄位。這些衍生欄位能夠方便後續使用者在使用報表產生器時,能自動於介面選取使用。

常用數屬如下:

  • Alignment : 字元對齊方式。
  • Binding : 繫結至資料表中的哪個欄位。
  • DataType : 資料型別。如果有Expression,則DataType值必須與Expression的DataType值相同。 
  • EnableDrillthrough : 是否允許鑽研。
  • Expression : 可輸入運算式。
  • Format : 資料格式設定。例如數值 N0 代表不帶小數的數值。
  • Hidden : 是否隱藏。
  • IsAggregate : 是否為一個彙總值。
  • Nullable : 是否可以有 Null 值。
  • SortDirection : 排序依據的方向。None、Ascending ( 預設 )、Descending
  • ValueSelection : 有三個選項可用 : None ( 預設 ) 表示需要使用者輸入值、Dropdown 會在下拉選單中顯示唯一值、List 會在 UI 中以清單顯示唯一值。
  • Width : 欄位寬度。

因所有的鍵值類的欄位  ( Primary Key ) 通常不會出現在報表上,建議最好將 Hidden 屬性設為 True ,僅供排序使用而不顯示於欄屬性清單中。至於連續變數以及時間變數則最好先利用 Format 屬性設定格式。

角色 ( Role ) 則是定義實體間屬性的關聯性。角色屬性中最重要的是利用 Cardinality 屬性來定義鍵值的對應關係,包括 One ( 一對一 ) 或是 Many ( 一對多 )。


新增報表模型項目
在報表模型圖示上按右鍵,可以新增模型項目如下圖



  • 資料夾:可將模型中的實體、檢視方塊根據相似性分門別類,放在個別的資料夾中。產生一個「產品資訊」的資料夾,將產品大類、產品中類及產品實體的實體,拖拉至此資料夾中。



  • 檢視方塊:檢視方塊是模型的子集。若報表模型非常大,或是有些使用者只需要檢視模型中局部的實體時,可利用檢視方塊分額模型,讓特定的使用者群組只能存取對應的檢視方塊。檢視方去可以包含實體、資料夾、角色、來源欄位和運算式。檢視方塊並不是由模型設計師精靈產生的,而是手動建立,然後使用「編輯檢視方塊」對話方塊,選取要包含在檢視方塊中的模型項目。






  • 實體:建立新實體時,需要使用 Binding 屬性,將其繫結至資料庫裡的資料表或資料行。實體繫結至資料庫後,以滑鼠右鍵按一下實體,即可將角色、來源欄位、資料夾或運算式加入實體。



  • 來源欄位:是繫結至資料庫中之資料行欄位。
  • 運算式:可以利用運算式來新增欄位。
  • 角色:指出兩個實體互相關聯。可以是一對一關聯性、一對多關聯性。
  • 篩選:可以針對實體新增篩選條件。

報表模型產生後,若遇到來源資料庫或資料來源檢視有邏輯上的變動,必須更新報表模型,更新方法只要按工具列上的「報表模型」→「自動產生」即可完成。執行時並不會覆寫整個模型;只會偵測新加入的項目。


沒有留言: