關聯式查詢設計工具 (PowerPivot)

重要:  本文係由機器翻譯而成,請參閱免責聲明。本文的英文版本請見這裡,以供參考。

使用 Microsoft Excel 2013 中的 Power Pivot 匯入 SQL Server 關聯式資料時,可使用關聯式查詢設計工具以互動方式建立查詢。關聯式查詢設計工具可協助您建立查詢,以指定要從 Microsoft SQL Server、Microsoft Azure SQL 資料庫和 Microsoft SQL Server Parallel Data Warehouse 擷取關聯式資料的資料。您可以使用圖形化查詢設計工具來瀏覽中繼資料、以互動方式建立查詢,以及檢視查詢的結果。  或者,您可以使用以文字為基礎的查詢設計工具,來檢視圖形化查詢設計工具所建立的查詢,或是修改查詢。您也可以從檔案或報表匯入現有的查詢。

  1. 開啟 Power Pivot 視窗

  2. 按一下 [取得外部資料][從資料庫][從 SQL Server]

  3. 在 [資料表匯入精靈] 中,指定伺服器名稱、認證和資料庫。 按 [下一步]

  4. 按一下 [撰寫查詢以指定要匯入的資料]。 按 [下一步]

  5. 按一下 [設計],開啟關聯式查詢設計工具。

如有需要,您可以使用以文字為基礎的編輯器,利用 SQL 語言來撰寫查詢。若要切換至以文字為基礎的查詢設計工具,請按一下工具列中的 [當成文字編輯]。在以文字為基礎的查詢設計工具中編輯查詢之後,您就無法再使用圖形化查詢設計工具。

附註: 若要指定 Oracle、OLE DB、ODBC 和 Teradata 資料來源類型的查詢,您必須使用以文字為基礎的查詢設計工具。

本文內容

圖形化查詢設計工具

資料庫檢視窗格

選取的欄位窗格

群組和彙總

函數參數窗格

關聯性窗格

套用的篩選器窗格

查詢結果窗格

圖形化查詢設計工具工具列

了解自動產生的查詢

以文字為基礎的查詢設計工具

以文字為基礎的查詢設計工具工具列

Text 命令類型

範例

StoredProcedure 命令類型

範例

TableDirect 命令類型

範例

圖形化查詢設計工具

在圖形化查詢設計工具中,您可以瀏覽資料庫資料表和檢視表、以互動方式建立 SQL SELECT 陳述式,以便指定要從中擷取資料集之資料的資料庫資料表和資料行。您可以選擇要包含在資料集中的欄位,並選擇性地指定篩選來限制資料集中的資料。您可以指定將篩選作為參數使用,並在執行階段提供篩選的值。如果您選擇多個資料表,查詢設計工具會描述兩個資料表集合之間的關聯性。

圖形化查詢設計工具分成三個區域。根據查詢使用資料表/檢視還是預存程序/資料表值函數,查詢設計工具的配置會有所不同。

附註: 

SQL Server Parallel Data Warehouse 不支援預存程序或資料表值函式。

下圖顯示搭配資料表或檢視表使用時的圖形化查詢設計工具。

關聯式查詢設計工具

下圖顯示搭配預存程序或資料表值函式使用時的圖形化查詢設計工具。

rs_relational_graphical_SP

下表會描述各個窗格的功能。

窗格

函數

資料庫檢視

顯示資料表、檢視表、預存程序和資料表值函式的階層式檢視 (依照資料庫結構描述所組織)。

選取的欄位

顯示來自 [資料庫檢視] 窗格中選取之項目的資料庫欄位名稱清單。這些欄位會成為資料集的欄位集合。

函數參數

針對 [資料庫檢視] 窗格中的預存程序或資料表值函式顯示輸入參數的清單。

關聯性

顯示關聯性清單,這些關聯性是從 [資料庫檢視] 窗格中的資料表或檢視選取的欄位所推斷,或是顯示您手動建立的關聯性。

套用的篩選器

針對 [資料庫檢視] 窗格中的資料表或檢視表顯示欄位和篩選準則的清單。

查詢結果

針對自動產生的查詢顯示結果集的範例資料。

資料庫檢視窗格

[資料庫檢視] 窗格會顯示您有權檢視之資料庫物件的中繼資料,而這個權限是由資料來源連接和認證所決定。階層式檢視會檢視依照資料庫結構描述所組織的資料庫物件。您可以展開每個結構描述的節點,以便檢視資料表、檢視表、預存程序和資料表值函式。您可以展開資料表或檢視表來顯示資料行。

選取的欄位窗格

[選取的欄位] 窗格會顯示資料集中的欄位,以及查詢中要包含的群組和彙總。

以下為顯示的選項:

  • 選取的欄位  顯示所選取的資料表或檢視或預存程序或資料表值函式的輸入的參數的資料庫欄位。此窗格所顯示的欄位會變成資料集的欄位集合。

  • [報表資料] 窗格可用來檢視資料集的欄位集合。

  • 群組和彙總:在查詢中切換使用群組和彙總。如果您在加入群組和彙總之後關閉群組和彙總功能,就會將它們移除。[(無)] 這個字表示未使用群組和彙總。如果您再次開啟群組和彙總功能,則會還原之前的群組和彙總。   

  • 刪除欄位:刪除選取的欄位。   

群組和彙總

查詢包含大型資料表的資料庫可能會傳回不實用的大量資料列,而且會對傳輸大量資料的網路造成效能上的影響。若要限制資料列的數目,查詢中可以包含 SQL 彙總,用來摘要資料庫伺服器上的資料。

彙總會提供資料摘要,而資料會進行分組,以支援傳遞摘要資料的彙總。當您在查詢中使用彙總時,查詢傳回的其他欄位會自動分組,且查詢會包含 SQL GROUP BY 子句。您可以僅使用 [群組和彙總] 清單中的 [群組依據] 選項摘要資料,而不加入彙總。許多彙總會包含使用 DISTINCT 關鍵字的版本。包含 DISTINCT 可消除重複的值。

Microsoft SQL Server 使用 Transact-SQL,而 Microsoft SQL Server Parallel Data Warehouse 則使用 SQL。SQL 語言的這兩種方言都支援查詢設計工具提供的子句、關鍵字和彙總。  

下表列出彙總並提供彙總的簡短描述。

彙總

說明

Avg

傳回群組中值的平均值。實作 SQL AVG 彙總。

Count

傳回群組中的項目數。實作 SQL COUNT 彙總。

Count Big

傳回群組中的項目數。它是 SQL COUNT_BIG 彙總。COUNT 和 COUNT_BIG 之間的差異在於,COUNT_BIG 會固定傳回 bigint 資料類型的值。

Min

傳回群組中的最小值。實作 SQL MIN 彙總。

Max

傳回群組中的最大值。實作 SQL MAX 彙總。

StDev

傳回群組中所有值的統計標準差。實作 SQL STDEV 彙總。

StDevP

傳回群組指定之運算式中所有值的母體統計標準差。實作 SQL STDEVP 彙總。

Sum

傳回群組中所有值的總和。實作 SQL SUM 彙總。

Var

傳回群組中所有值的統計變異數。實作 SQL VAR 彙總。

VarP

傳回群組中所有值的母體統計變異數。實作 SQL VARP 彙總。

Avg Distinct

傳回唯一平均值。實作 AVG 彙總和 DISTINCT 關鍵字的組合。

Count Distinct

傳回唯一計數。實作 COUNT 彙總和 DISTINCT 關鍵字的組合。

Count Big Distinct

傳回群組中項目的唯一計數。實作 COUNT_BIG 彙總和 DISTINCT 關鍵字的組合。

StDev Distinct

傳回唯一統計標準差。實作 STDEV 彙總和 DISTINCT 關鍵字的組合。

StDevP Distinct

傳回唯一統計標準差。實作 STDEVP 彙總和 DISTINCT 關鍵字的組合。

Sum Distinct

傳回唯一總和。實作 SUM 彙總和 DISTINCT 關鍵字的組合。

Var Distinct

傳回唯一統計變異數。實作 VAR 彙總和 DISTINCT 關鍵字的組合。

VarP Distinct

傳回唯一統計變異數。實作 VARP 彙總和 DISTINCT 關鍵字的組合。

函數參數窗格

[函數參數] 窗格會顯示預存程序或資料表值函式的參數。系統會顯示下列資料行:

  • 參數名稱:顯示預存程序或資料表值函數所定義之參數的名稱。   

  • :在設計階段執行查詢時,用於參數的值,以便擷取要顯示於 [查詢結果] 窗格中的資料。這個值尚未在執行階段使用。   

關聯性窗格

[關聯性] 窗格會顯示聯結關聯性。關聯性可以從擷取自資料庫中繼資料的外部索引鍵關聯性自動偵測,您也可以手動建立關聯性。

以下為顯示的選項:

  • 自動偵測:在資料表之間自動建立關聯性的自動偵測功能。如果開啟自動偵測,查詢設計工具就會從資料表中的外部索引鍵建立關聯性;否則,您必須手動建立關聯性。當您在 [資料庫檢視] 窗格中選取資料表時,自動偵測會自動嘗試建立關聯性。如果您在手動建立聯結之後開啟自動偵測,則會捨棄這些聯結。

    重要: 搭配 SQL Server Parallel Data Warehouse 使用時,並不會提供建立聯結所需的中繼資料,而且無法自動偵測關聯性。如果您的查詢從 SQL Server Parallel Data Warehouse 擷取資料,則所有資料表聯結都必須手動建立。

  • 加入關聯性:將關聯性加入至 [關聯性] 清單。

    如果開啟自動偵測,包含查詢中所使用資料行的資料表會自動加入至 [關聯性] 清單。當自動偵測識別出兩個資料表彼此相關時,其中一個資料表會加入至 [左側資料表] 資料行,另一個則會加入至 [右側資料表] 資料行,並且在兩個資料表之間建立內部聯結。每一項關聯性都會在查詢中產生 JOIN 子句。如果資料表彼此不相關,則所有資料表都會列入 [左側資料表] 資料行中,且 [聯結類型] 資料行會指出資料表彼此不相關。當自動偵測開啟時,您無法在自動偵測判定為彼此不相關的資料表之間手動加入關聯性。

    如果關閉自動偵測,您就可以加入並改變資料表之間的關聯性。按一下 [編輯欄位],即可指定用來聯結兩個資料表的欄位。

    關聯性出現在 [關聯性] 清單中的順序,就是聯結在查詢中執行的順序。您可以在清單中上下移動關聯性來改變其順序。

    在查詢中使用多項關聯性時,每項關聯性 (但不包括第一項關聯性) 的其中一個資料表必須是後續關聯性中的參照。

    如果某一項關聯性的前一項關聯性參考其中的兩個資料表,則該項關聯性不會產生個別的聯結子句;而是聯結條件會加入至為前一項關聯性產生的聯結子句。聯結類型是由參考相同資料表的前一項關聯性推斷。

  • 編輯欄位:開啟 [編輯關聯欄位] 對話方塊,您可以在其中加入和修改資料表之間的關聯性。您已在右側和左側資料表中選擇要聯結的欄位。您可以聯結左側資料表和右側資料表中的多個欄位,以便在關聯性中指定多項聯結條件。聯結左側和右側資料表的兩個欄位不需要擁有相同名稱。聯結欄位的資料類型必須具有相容的資料類型。

  • 刪除關聯性:刪除選取的關聯性。 

  • 向上移動向下移動。關聯性上移或下移的關聯性清單。會放置在查詢中的關聯性的順序會影響查詢結果。關聯會新增至查詢的順序顯示關聯] 清單中。

系統會顯示下列資料行:

  • 左資料表  顯示屬於聯結關聯性一部分之第一個資料表的名稱。

  • 加入類型  自動產生的查詢中顯示所使用的聯結的 SQL 陳述式的類型。根據預設,如果偵測外部索引鍵,則內部聯結會使用中。其他連接類型可以 LEFT JOIN 或 RIGHT JOIN。如果您沒有任何這些連接類型,[連接類型] 欄會顯示Unrelated。建立不相關的資料表; 沒有交叉聯結的連接不過,您必須由左右表格中加入資料行手動建立關聯。

  • 右側資料表:顯示聯結關聯性中第二份資料表的名稱。   

  • 聯結欄位:列出聯結的欄位組,如果關聯性有多個聯結條件,則會以逗號 (,) 分隔聯結的欄位組。   

套用的篩選器窗格

[套用的篩選器] 窗格會顯示用來限制在執行階段擷取之資料列數目的準則。此窗格中指定的準則可用來產生 SQL WHERE 子句。當您選取參數選項時,就會自動建立參數。

系統會顯示下列資料行:

  • 欄位名稱:顯示要套用準則的欄位名稱。   

  • 運算子  顯示要在篩選運算式中使用的作業。

  •   顯示要在篩選運算式中使用的值。

  • 參數  顯示將查詢參數新增至查詢的選項。

查詢結果窗格

[查詢結果] 窗格會針對其他窗格中之選取項目所指定的自動產生查詢顯示結果。結果集中的資料行就是您在 [選取的欄位] 窗格中指定的欄位,而且資料列資料是由您在 [套用的篩選器] 窗格中指定的篩選所限制。

這項資料代表您執行查詢時來自資料來源的值。

從資料來源中擷取資料的順序會決定結果集中的排序次序。不過,您可以透過直接修改查詢文字來變更排序次序。

圖形化查詢設計工具工具列

圖形化查詢設計工具工具列會提供下列按鈕來協助您指定或檢視查詢的結果。

按鈕

描述

當成文字編輯

切換至以文字為基礎的查詢設計工具,以便檢視自動產生的查詢,或是修改查詢。

匯入

從檔案或報表匯入現有的查詢。支援 .sql 和 .rdl 檔案類型。

執行查詢

執行查詢。[查詢結果] 窗格會顯示結果集。

頁面頂端

了解自動產生的查詢

當您在 [資料庫檢視] 窗格中選取資料表和資料行或預存程序和檢視表時,查詢設計工具就會從資料庫結構描述中擷取基礎主索引鍵和外部索引鍵關聯性。查詢設計工具會透過分析這些關聯性,偵測兩個資料表之間的關聯性,並且將聯結加入至查詢。然後您就可以加入群組和彙總、加入或變更關聯性以及加入篩選,藉此修改查詢。按一下 [當成文字編輯],即可檢視查詢文字,該文字會顯示要從中擷取資料的資料行、資料表之間的聯結,以及所有群組或彙總。

頁面頂端

以文字為基礎的查詢設計工具

以文字為基礎的查詢設計工具可提供一種方式給特定的查詢,方法是,使用資料來源支援的查詢語言來執行查詢,並在設計階段檢視結果。您可以指定多個 SQL 陳述式、自訂資料處理延伸模組的查詢或命令語法,以及指定為運算式的查詢。

以文字為基礎的查詢設計工具不會前置處理查詢,因此可以配合各種查詢語法。對於許多資料來源類型而言,這是預設的查詢設計工具。

以文字為基礎的查詢設計工具會顯示一個工具列及以下兩個窗格:

  • 查詢  顯示查詢文字、 表格名稱或根據查詢類型的預存程序名稱。並非所有的查詢類型可供所有的資料來源類型。資料表名稱,例如支援僅適用於 OLE DB 資料來源類型。

  • 結果  顯示在設計階段執行查詢的結果。

以文字為基礎的查詢設計工具工具列

以文字為基礎的查詢設計工具為所有的命令類型提供了單一工具列。下表列出工具列上的每一個按鈕以及該按鈕的功能。

按鈕

描述

當成文字編輯

在以文字為基礎的查詢設計工具和圖形化查詢設計工具之間切換。並非所有的資料來源類型都支援圖形化查詢設計工具。

匯入

從檔案或報表匯入現有的查詢。只支援 sql 和 rdl 檔案類型。

關聯式查詢設計工具圖示

執行查詢,並將結果集顯示在 [結果] 窗格中。

命令類型

選取 [Text][StoredProcedure][TableDirect]。如果預存程序含有參數,當您按一下工具列上的 [執行] 時,便會顯示 [定義查詢參數] 對話方塊,您可以依照需要填入值。

附註: 如果預存程序傳回一個以上的結果集,則只會使用第一個結果集來填入資料集。

附註: TableDirect 僅適用於 OLE DB 資料來源類型。

Text 命令類型

當您建立 SQL Server 資料集時,預設會開啟關聯式查詢設計工具。若要切換到以文字為基礎的查詢設計工具,請按一下工具列上的 [當成文字編輯] 切換按鈕。以文字為基礎的查詢設計工具提供了兩個窗格:[查詢] 窗格和 [結果] 窗格。下圖會標示出各個窗格。 

關聯式查詢設計工具

下表會描述各個窗格的功能。

窗格

函數

查詢

顯示 SQL 查詢文字。使用此窗格,即可撰寫或編輯 SQL 查詢。

結果

顯示查詢的結果。若要執行查詢,請以滑鼠右鍵按一下任何窗格,然後按一下 [執行],或是按一下工具列上的 [執行] 按鈕。

範例

下列查詢會從名稱為 ContactType 的資料表傳回名稱清單。

選取名稱 ContactType

當您按一下工具列上的 [執行] 時,[查詢] 窗格中的命令便會執行,而且結果 (也就是名稱清單) 會顯示在 [結果] 窗格中。

StoredProcedure 命令類型

當您選取 [命令類型 StoredProcedure] 時,以文字為基礎的查詢設計工具會提供兩個窗格:[查詢] 窗格和 [結果] 窗格。請在 [查詢] 窗格內輸入預存程序名稱,然後按一下工具列上的 [執行]。如果預存程序使用參數,[定義查詢參數] 對話方塊隨即開啟。為此預存程序輸入參數值。

下圖會在您執行預存程序時,顯示 [查詢] 和 [結果] 窗格。在此情況下,輸入參數是常數。

關聯式查詢設計工具

下表會描述各個窗格的功能。

窗格

函數

查詢

顯示預存程序的名稱以及任何輸入參數。

結果

顯示查詢的結果。若要執行查詢,請以滑鼠右鍵按一下任何窗格,然後按一下 [執行],或是按一下工具列上的 [執行] 按鈕。

範例

下列查詢會呼叫名稱為 uspGetWhereUsedProductID 的預存程序。如果預存程序有輸入參數,您必須在執行查詢時提供參數值。

uspGetWhereUsedProductID

按一下 [執行] (!) 按鈕。下表會針對您在 [定義查詢參數] 對話方塊中提供 參數的值,提供其範例。uspGetWhereUsedProductID

@StartProductID

820

@CheckDate

20010115

TableDirect 命令類型

當您選取 [命令類型 TableDirect] 時,以文字為基礎的查詢設計工具會提供兩個窗格:[查詢] 窗格和 [結果] 窗格。當您輸入資料表並按一下 [執行] 按鈕時,便會傳回該資料表的所有資料行。

範例

對於 OLE DB 資料來源類型而言,下列資料集查詢會在 ContactType 資料表中傳回所有連絡人類型的結果集。

ContactType

當您輸入資料表名稱 ContactType 時,它就等於建立 SQL 陳述式選取 * 從 ContactType。

頁面頂端

附註: 機器翻譯免責聲明︰本文係以電腦系統翻譯而成,未經人為介入。Microsoft 提供此等機器翻譯旨在協助非英語系使用者輕鬆閱讀 Microsoft 產品、服務及技術相關內容。基於本文乃由機器翻譯而成,因此文中可能出現詞辭、語法、文法上之錯誤。

擴展您的技能
探索訓練
優先取得新功能
加入 Office 測試人員

這項資訊有幫助嗎?

感謝您的意見反應!

感謝您的意見反應! 我們將協助您與其中一位 Office 支援專員連絡以深入了解您的意見。

×