建立和使用以 Teradata 為基礎的報表模型

您可以使用模型設計師、報表管理員或 Microsoft Office SharePoint Server 2007 或 SharePoint Server 2010,根據執行 12.00 版或是 6.20 版的 Teradata 資料庫產生報表模型

(以 SharePoint 整合模式中執行時)。

[!附註]

系統管理員必須先在報表撰寫用戶端和報表伺服器上安裝正確的 .NET Data Provider for Teradata 版本,然後您才能夠連接 Teradata 資料來源。如需詳細資訊,請參閱<資料連接、資料來源及連接字串 (SSRS)>。

連接字串

根據 Teradata 資料庫建立報表模型時,連接字串具有下列格式:

Database=<data base>;Data Source=<IP address>;userid=<user name>;password=<password>

重要事項重要事項

當您針對 Teradata 模型產生資料來源檢視時,建議您指定結構描述。否則,系統將會擷取您在資料來源上擁有存取權的所有結構描述。

版本支援

若要根據 Teradata 資料庫建立模型,您必須針對所使用的 Teradata 資料庫版本使用正確的 .NET Framework Data Provider for Teradata 版本。您可以向 Teradata 取得此元件。請與系統管理員一起確認報表撰寫電腦和報表伺服器是否已安裝正確的版本。如需詳細資訊,請參閱<Reporting Services 支援的資料來源 (SSRS)>。

功能限制

由於 Teradata 資料庫的基礎行為,所以根據 Teradata 資料庫產生模型的方式與根據其他資料來源類型產生模型的方式有所不同,其差異如下所示:

  • **主索引鍵:**資料來源檢視精靈不會偵測 Teradata 資料庫的主索引鍵。主索引鍵是產生報表模型所需的項目。您必須在 Business Intelligence Development Studio 的報表模型專案中使用 [資料來源檢視] 功能表來定義可用於產生模型的邏輯主索引鍵。如需詳細資訊,請參閱<如何:為以 Teradata 為基礎的報表模型建立主索引鍵 (Reporting Services)>。

    如果要手動定義邏輯索引鍵的資料表或物件太多,您可以使用報表伺服器的資料來源檢視來建立模型。在報表伺服器上產生的模型包括含有主索引鍵的資料來源檢視。在報表伺服器上建立模型之後,您就可以將它下載至報表撰寫用戶端並且將它匯入報表模型專案中。在您加入模型當做現有的項目之後,資料來源檢視就會顯示在 [資料來源檢視] 資料夾底下。

  • **語意模型定義語言 (SMDL) 查詢轉譯程式:**當 SMDL 查詢轉譯程式與 Teradata 資料庫搭配使用時,它會具有一些行為差異。這些行為可能包含功能和組態參數上的細微差異,您需要這些參數來控制錯誤的因應措施以及設計目標資料庫中的限制。

下列各節將描述這些差異。

資料類型

SMDL 僅支援下列 Teradata 資料類型。

SMDL 類型

Teradata 類型

String

CHAR、CHARACTER、CHAR VARYING、CHARACTER VARYING、CHARACTER LARGE OBJECT、CLOB、GRAPHIC、INTERVAL DAY、INTERVAL DAY TO HOUR、INTERVAL DAY TO MINUTE、INTERVAL DAY TO SECOND、INTERVAL HOUR、INTERVAL HOUR TO MINUTE、INTERVAL HOUR TO SECOND、INTERVAL MINUTE、INTERVAL MINUTE TO SECOND、INTERVAL MONTH、INTERVAL SECOND、INTERVAL YEAR、INTERVAL YEAR TO MONTH、LONG VARCHAR、LONG VARGRAPHIC、VARCHAR、VARGRAPHIC

Int16

SMALLINT

Int32

INT、INTEGER

Int64

BIGINT

Decimal

DEC、DECIMAL、NUMERIC

Double

DOUBLE PRECISION、FLOAT、REAL

Binary

BINARY LARGE OBJECT、BLOB、VARBYTE

Byte

BYTE

SByte

BYTEINT

日期

DATE

Time

TIME

DateTime

TIMESTAMP

若為 Teradata 資料來源,SMDL 不支援以上未列出的任何資料類型,包括:

  • TIME WITH TIME ZONE

  • TIMESTAMP WITH TIME ZONE

  • 某些 USER DEFINED TYPE 資料類型 (UDT)

  • 有效位數超過 29 位數而且無法以 CLR Decimal 資料類型表示的 DECIMAL。例如,此資料來源的欄位可能會有 38 位數的有效位數。根據資料的有效位數和小數位數而定,在執行階段擷取資料可能會在資料提供者中導致例外狀況。如需詳細資訊,請參閱適用於報表撰寫用戶端和報表伺服器已安裝之資料提供者版本的 Teradata .NET Framework Data Provider 說明文件。

使用報表管理員或 SharePoint 產品來自動產生報表模型時,系統會排除包含不受支援資料類型的資料行。此外,如果不受支援的資料類型為主索引鍵的一部分,則不會產生整個實體。

使用模型設計師來建立報表模型時,所有項目都會加入至報表模型。因此,在精簡模型時,您必須手動篩選出上述所有不受支援的資料類型。

函數

某些函數的行為可能會視基礎資料庫而定。如果您為 Left、Right 或 Substring 函數中的長度引數指定小於零的值,則該行為在 SMQL 中未定義。

預設值

Teradata 會使用下列預設值:

來自 Unicode 字元集的字元字串常值。

Date 資料類型支援年份、日期和月份,而且會包含以小時、分鐘和秒鐘為單位的時間。

組態參數

由於基礎資料來源的關係,可以使用許多組態參數,依據資料來源與環境的特性,修改查詢轉譯程式的行為。下列參數是在 RSReportServer.config 檔中定義的,該檔案預設安裝在 <SysDrive>:\Program Files\Microsoft SQL Server\MRRS10.MSSQLSERVER\Reporting Services\ReportServer\ 資料夾中。

名稱

型別

定義預設值

說明

EnableMath

OpCasting

布林值

False

此參數會將數學運算的結果轉換為 Microsoft .NET Framework 十進位格式。

在查詢中的某些數學運算可能會導致結合有效位數與小數位數的十進位值,而該值無法以 .NET Framework 十進位資料類型表示。雖然您可以將此種十進位運算式的結果明確地轉換為十進位,但您的使用者未必會知道這在設計階段的必要性。如果經常建立此種運算式,可以將此參數設定為 True,以便自動執行所需的轉換。