本主題提供使用 SQL Server Data Tools (SSDT) 撰寫模型時處理(重新整理)模型數據的相關信息。 本主題不提供已部署到 Analysis Services 伺服器實例之模型中處理數據的相關信息。 如需在已部署模型中處理數據的詳細資訊,請參閱 在 Analysis Services 中編寫系統管理工作的腳本。
本主題中的章節:
數據處理的運作方式
當您處理數據時,模型設計工具中的數據會取代為新的數據。 您無法只匯入新的資料列或只匯入已變更的數據。 模型設計工具不會追蹤先前新增的數據列。
數據處理會以交易的形式進行。 這表示一旦您開始更新數據,整個更新必須失敗或成功;您永遠不會有部分正確的數據。
您從 SQL Server Data Tools 起始的手動數據處理是由 Analysis Services 的本機記憶體內部實例處理。 因此,數據處理作業可能會影響計算機上其他工作的效能。 不過,如果您在已部署模型中,使用腳本安排數據的自動處理程序,則 Analysis Services 實例會管理匯入過程及其時間。
數據處理的影響
數據的流程通常會觸發數據的重新計算。 處理數據表示從外部來源取得最新數據;重新計算表示更新使用已變更數據的所有公式結果。 進程作業通常會觸發重新計算。
因此,在變更數據源或處理從數據源取得的數據之前,您應該一律注意潛在影響,並考慮這些潛在的後果:
模型數據的某些部分可能會因為數據源中的變更而中斷。 如果無法從數據源擷取所有數據行(例如,如果數據行已刪除或變更),程式將會失敗,而且您必須更新源數據與模型數據之間的對應。 如需詳細資訊,請參閱編輯現有的數據源連接(SSAS 表格式)。
處理之後,某些數據行可能會標示為包含錯誤。 這可能會發生,因為欄位中的DAX公式會使用在您處理時變得無法使用的資料、欄位的資料類型發生變更,或將無效的值新增到外部資料。 若要解決此問題,您可以編輯公式,或者刪除該欄,如果欄位所依據的數據已不再可用。
您必須重新計算使用更新數據的公式。 視模型的大小而定,這可能需要一些時間。
如果您的模型包含多個數據源,則即使只有一個外部數據源已變更,您仍可能需要處理整個模型 (Process All)。 例如,如果您建立依賴匯出數據行的量值,而且這些匯出數據行使用來自其他匯出數據行的值,模型設計工具會先分析相依性,然後依序處理整個相關對象的鏈結。 視相依性的複雜度而定,這可能需要很長的時間。
當您變更篩選時,必須重新計算整個模型。
判斷數據源
如果您不確定模型中的數據來自何處,您可以使用 SQL Server Data Tools 中的工具來取得詳細數據,包括來源檔名和路徑。
尋找現有數據的來源
在模型設計工具中,選取包含您要知道來源數據的數據表。
按兩下 [ 資料表] 選單,然後按下 [ 資料表屬性]。
在 [ 編輯數據表屬性 ] 對話框中,記下 [ 連接名稱] 所列的值。
在 [SQL Server Data Tools] 的 [ 模型 ] 功能表上,按兩下 [ 現有連線]。
在 [ 現有連接 ] 對話框中,選取具有您在步驟 3 中找到名稱的數據源,然後按兩下 [ 編輯]。
在 [ 編輯連接 ] 對話框中,檢視連接資訊,例如資料庫名稱、檔案路徑或報表路徑。
判斷上次重新整理數據的時間
您可以使用資料表屬性來判斷上次重新整理資料的時間。
尋找上次處理數據表的日期和時間
在模型設計工具中,選取包含您要知道重新整理日期之數據的數據表。
按兩下 [ 資料表] 選單,然後按下 [ 資料表屬性]。
在 [ 編輯數據表屬性 ] 對話框中, [上次 重新整理] 會顯示數據表重新整理的最後一個日期。
可更新的數據源限制
某些限制適用於可從 Analysis Services 實例上部署的模型自動處理的數據源。 請務必只選取符合下列準則的數據源:
數據源必須在數據處理程序發生且可在指定位置使用時提供。 如果原始數據源位於撰寫模型之使用者的本機磁碟驅動器上,您必須從數據處理作業中排除該數據源,或尋找將該數據源發佈至可透過網路連線存取的位置的方法。 如果您將數據源移至網路位置,請務必在模型設計工具中開啟模型,並重複數據擷取步驟。 這是為了重新建立儲存在資料源連接屬性中的連接資訊的必要步驟。
必須使用內嵌在數據源連線中的認證來存取數據源。 當您連接到外部數據源時,會在數據源連接中建立內嵌認證。
您指定的所有資料來源都必須成功進行資料處理。 否則會捨棄已處理的數據,只留下您最後儲存的模型版本。 排除您不確定的任何數據來源。
數據進程不得使模型中的其他數據失效。 當您處理數據的子集時,務必了解,一旦有較新的數據與非同期的靜態數據匯總,模型是否仍然有效。 身為模型設計師,您必須知道數據相依性,並確保數據處理適合模型本身。
外部數據源是透過您使用資料表匯入精靈將原始資料匯入模型時所指定的內嵌連接字串、URL 或 UNC 路徑來存取。 儲存在數據源連線中的原始連接資訊會重複使用,以供後續的數據重新整理作業使用。 針對數據處理目的,不會建立及管理個別的連接資訊;只會使用現有的連接資訊。
數據源變更的限制
您可以對資料來源進行的變更有一些限制:
數據行的數據類型只能變更為相容的數據類型。 例如,如果數據行中的數據包含十進位數,就無法將數據類型變更為整數。 不過,您可以將數值數據變更為文字。 如需數據類型的詳細資訊,請參閱支持的數據類型(SSAS 表格式)。
您無法在不同的數據表中多重選取數據行,並變更數據行的屬性。 您一次只能使用一個數據表或檢視表。