Microsoft Excel 使用 OLE DB for OLAP (OnLine Analytical Processing) 提供者來連線到 OLAP Cube。 在連線至 OLAP Cube 時,Excel 會讀取並設定各種 OLE DB 和 OLE DB for OLAP 屬性。 Excel 會考慮連線屬性、資料來源資訊屬性、結構描述資料列集查詢,以及儲存格屬性。
本文將著重在與 Excel 有獨特關聯性的屬性,而不會討論所有現有的屬性。 在 Excel 中的 OLAP 連線會用於樞紐分析表和 OLAP 公式。 在測試現有的 OLAP 提供者時,建議您讓 Excel 讀取一組提供者屬性,以判斷 OLAP 提供者是否支援 OLAP 樞紐分析表在設計和功能方面所需的功能。 如果提供者不支援某些能力,依賴這些能力的功能就會停用或受限制。 您還可以設定其他屬性以取得所要的行為,如果 OLAP 提供者沒有實作這些屬性,Excel 可能就不會使用該提供者。
連線屬性
屬性集 | 屬性 | 如果下列條件成立,就會設定 | 設定為 |
---|---|---|---|
DBPROPSET_MSOLAPINIT | DBPROP_MSMD_SAFETY_OPTIONS | 支援 | OLAPUDFSecurity reg key or DBPROPVAL_MSMD_SAFETY_OPTIONS_ALLOW_SAFESee also: Safety Options Property. |
DBPROPSET_MSOLAPINIT | DBPROP_MSMD_MDXCOMPATIBILITY | 支援 | DBPROP_MSMD_MDXCOMPATIBILITY_70See: MDX 相容性屬性。 |
DBPROPSET_MSOLAPINIT | DBPROP_MSMD_SOURCE_DSN_SUFFIX | DBPROPSET_MSOLAPINIT 中的 DBPROP_MSMD_SOURCE_DSN 存在 | 字串 「Prompt=CompleteRequired;Window Handle=0x < hwnd > 「另請參閱: Source_DSN_Suffix 屬性。 |
DBPROPSET_MSOLAPINIT | DBPROP_MSMD_MDX_MISSING_MEMBER_MODE | 支援 | 如果支援 屬性,Excel 會將它設定為字串 「Error」。 如果不支援,則會忽略 。 |
DBPROPSET_DBINIT | DBPROP_INIT_LCID | 支援 | 在進行連線前設定。 您可以指定要在連接中使用的任何 LCID。 如果已開啟連線的翻譯,Excel 會將其設為 UI 語言 (預設值)。 如果屬性不受支援,Excel 只會失去根據 UI 語言提供翻譯的功能,此外別無任何問題。 |
DBPROPSET_DBINIT | DBPROP_INIT_PROMPT | 支援 | 非僅限於 OLAP。 在進行連線前設定。 如果因為某值不受支援而無法設定此屬性,Excel 會略過此失敗。 |
DBPROPSET_DBINIT | DBPROP_AUTH_PERSIST_SENSITIVE_AUTHINFO | 支援 | 非僅限於 OLAP。 在進行連線前設定。 Excel 似乎一律將此設為 True。 |
DBPROPSET_DBINIT | DBPROP_INIT_HWND | 支援 | 非僅限於 OLAP。 在進行連線前設定。 Excel 會將此設至應用程式的主視窗,好讓提供者使用正確的父視窗顯示提醒。 |
DBPROPSET_DBINIT | DBPROP_INIT_ASYNCH | 支援 | 非 OLAP 特定。在建立連接之前設定 。 Excel 會根據登錄設定,將此屬性設為 DBPROPVAL_ASYNCH_INITIALIZE (您也可以使用登錄設定加以停用)。 如果不支援屬性,Excel 會忽略它,而且不會加以設定。 |
DBPROPSET_DBINIT | DBPROP_CMD_PROMPT | 支援 | 非僅限於 OLAP。 在進行連線前設定。 |
DBPROPSET_DBINIT | DBPROP_CMD_HWND | 支援 | 非僅限於 OLAP。 在進行連線前設定。 |
資料來源資訊
屬性集 | 屬性 | 值 | 使用 |
---|---|---|---|
DBPROPSET_MDX_EXTENSIONS | DBPROP_MSMD_MDX_DDL_EXTENSIONS | 如果已為 DBPROPVAL_MDX_DLL_CREATESESSIONCUBE 設定位元。 | 如果 CREATE SESSION CUBE 支援,則會啟用 OLAP 樞紐分析表的群組功能。 |
DBPROPSET_MDX_EXTENSIONS | DBPROP_MSMD_MDX_DDL_EXTENSIONS | 如果已為 DBPROPVAL_MDX_DDL_REFRESHCUBE 設定位元。 | 如果 REFRESH CUBE 支援命令,Excel 會在 OLAP 樞紐分析表重新整理時執行。 |
DBPROPSET_MDX_EXTENSIONS | DBPROP_MSMD_MDX_CALCMEMB_EXTENSIONS | 如果已為 DBPROPVAL_MDX_CALCMEMB_ADD 設定位元。 | 如果 ADDCALCULATEDMEMBERS MDX (多維度運算式) 支援,則會啟用 OLAP 樞紐分析表中的顯示匯出成員功能。 |
DBPROPSET_DATASOURCEINFO | MDPROP_MDX_FORMULAS | 如果已分別為 MDPROPVAL_MF_SCOPE_SESSION 和 MDPROPVAL_MF_CREATE_CALCMEMBERS 設定位元。 | 如果提供者支援在) ( CREATE SESSION MEMBER 建立會話成員,Excel 會在 OLAP 樞紐分析表中啟用此功能, (僅適用于 Excel) 中的物件模型。 |
DBPROPSET_SESSION | DBPROP_VISUALMODE | 如果受支援 (且子選擇不受支援,請參閱下面的 MDPROP_MDX_SUBQUERIES)。 | 會啟用「總計中包括隱藏的項目」的控制 (切換視覺化總計)。 |
DBPROPSET_DATASOURCEINFO | MDPROP_MDX_SUBQUERIES | 如果最低的兩個位元已設定 (且設為此值,Excel 不支援非視覺化總計,請參閱上方的 DBPROP_VISUALMODE)。 | 會啟用 Excel 樞紐分析表中的標籤、日期和值篩選。 通常會使用 Excel MDX 查詢建構。 請注意,此屬性是從 SQL Server 2005 Service Pack 2 開始引進。 值一律 VARIANT_TRUE 在msolap90.dll中。 |
DBPROPSET_DATASOURCEINFO | MDPROP_MDX_DRILL_FUNCTIONS | 如果設定此屬性的兩個最低位,Excel 會將其解譯為伺服器,以支援使用 和 DrillDownMember 函式的 Tuple 型切入 DrillDownLevel 。不過,如果最低的兩個位 MDPROP_MDX_SUBQUERIES 也設定 (支援) 的子選擇,Excel 才允許屬性切入。 |
|
DBPROPSET_DATASOURCEINFO | MDPROP_FLATTENING_SUPPORT | 檢查它是否設為 MDPROPVAL_FS_FULL_SUPPORT。 | 由 Excel 讀取,如果未設定為 MDPROPVAL_FS_FULL_SUPPORT ,則會發生錯誤,因為 Excel 不將其視為 OLAP 提供者。 |
DBPROPSET_DATASOURCEINFO | MDPROP_NAMED_LEVELS | Excel 會檢查最低的位元 (MDPROPVAL_NL_NAMEDLEVELS) 是否已設定。 | 如果未設定此屬性最低的位元,Excel 會失敗。 |
DBPROPSET_DATASOURCEINFO | MDPROP_MDX_SET_FUNCTIONS | Excel 會查詢此屬性,但此屬性並無功能方面的影響。 | |
DBPROPSET_DATASOURCEINFO | DBPROP_DBMSVER | Excel 會檢查此值是否為字串。 | Excel 不會檢查此屬性的實際值,而只會驗證其是否為字串。 如果此屬性不是字串,Excel 會無法連線。 |
DBPROPSET_DATASOURCEINFO | DBPROP_DATASOURCE_TYPE | Excel 會檢查第二低的位元 (DBPROPVAL_DST_MDP) 是否已設定。 | 如果已設定最低的位元,提供者會被視為多維度 (OLAP) 提供者。 |
DBPROPSET_ROWSET | DBPROP_ROWSET_ASYNCH | 如果受支援。 | Excel 會嘗試將此設定為 DBPROPVAL_ASYNCH_INITIALIZE ,但如果失敗,Excel 會回復為同步模式。如果支援,則可讓 Excel 支援使用者按 下 Esc 鍵,在查詢完成之前停止查詢執行。 |
架構資料列集查詢
架構資料列集 | 欄 | 值 | 控制項 | ||
---|---|---|---|---|---|
MDSCHEMA_CUBES | IS_DRILLTHROUGH_ENABLED | TRUE | 若設為 TRUE,會針對 OLAP 樞紐分析表值區域中的儲存格啟用鑽研 (顯示詳細資料) 功能。 | ||
MDSCHEMA_HIERARCHIES | 結構 | MD_STRUCTURE_UNBALANCED | Excel 對於不平衡的階層有特殊的篩選處理方式,因此這些標示只是為了便於控制。 | ||
MDSCHEMA_HIERARCHIES | HIERARCHY_ORIGIN | MD_ORIGIN_ATTRIBUTE 已設定且並非 MD_ORIGIN_USER_DEFINED | Excel 對於 OLAP 樞紐分析表中的屬性階層有特殊的處理方式,因此屬性階層會如此標示。 | ||
MDSCHEMA_HIERARCHIES | HIERARCHY_DISPLAY_FOLDER | 根據此屬性,樞紐分析表欄位清單會在維度底下以資料夾顯示階層。 | |||
MDSCHEMA_MEASUREGROUPS | MEASUREGROUP_NAME | 「量值」會列在樞紐分析表欄位清單中代表其量值群組的資料夾內。 | |||
MDSCHEMA_MEASUREGROUPS | MEASUREGROUP_CAPTION | 「量值」會列在樞紐分析表欄位清單中,代表其量值群組且帶有此標題的資料夾內。 | |||
MDSCHEMA_SETS | SET_DISPLAY_FOLDER | Excel 會讀取顯示資料夾屬性,以允許它將集合置於樞紐分析表欄位清單中的顯示資料夾內。 | |||
MDSCHEMA_SETS | SET_CAPTION | Excel 會讀取集合標題,以便在樞紐分析表和樞紐分析表欄位清單中加以顯示。 | |||
MDSCHEMA_KPIS | KPI_DISPLAY_FOLDER | 於伺服器定義的關鍵效能指標 (Key Performance Indicator,KPI) 會列在樞紐分析表欄位清單中,(值、目標、狀態和趨勢) 元件可新增至值區域。 Excel 會讀取此屬性,以便將 KPI 置於樞紐分析表欄位清單中正確的顯示資料夾內。 | |||
MDSCHEMA_KPIS | KPI_PARENT_KPI_NAME | Excel 會讀取此屬性,將子 KPI 放在樞紐分析表欄位清單中父 KPI 底下的子資料夾中 (如果已定義顯示資料夾,則會改用這些) 。 | |||
MDSCHEMA_KPIS | KPI_TREND_GRAPHIC | 將「趨勢」新增至樞紐分析表時,Excel 會讀取此屬性,並 (根據其值) 將其對應至 Excel 中所設定之最接近的條件化格式設定圖示。 | |||
MDSCHEMA_KPIS | KPI_STATUS_GRAPHIC | 將「狀態」新增至樞紐分析表時,Excel 會讀取此屬性,並 (根據其值) 將其對應至 Excel 中最接近的條件化格式設定圖示集。 | |||
MDSCHEMA_ACTIONS | 「其他動作」功能。 伺服器上存在針對選定內容的動作時,Excel 會在 OLAP 樞紐分析表的快顯功能表中顯示伺服器定義的動作。 | ||||
MDSCHEMA_MEASURES | MEASURE_DISPLAY_FOLDER | 由 Excel 讀取,以便將量值置於樞紐分析表欄位清單中正確的顯示資料夾內。 | |||
MDSCHEMA_MEASURES) | 表達 | 由 Excel 讀取,以判斷量值是否經過計算。 如果是字串且非空白,Excel 會將它視為導出量值。 | |||
MDSCHEMA_PROPERTIES | PROPERTY_NAME | 「MEMBER_VALUE」此架構也用於取得一般成員屬性。 「MEMBER_VALUE」值是特殊案例,但還有其他用法。 | Excel 會限制為PROPERTY_NAME欄中的 「MEMBER_VALUE」,以取得維度中索引鍵屬性的成員值屬性。如果 Time 維度之索引鍵屬性MEMBER_VALUE屬性的資料類型 (DATA_TYPE) 為 Date,則樞紐分析表會公開日期篩選,而不是標籤篩選。 實際的日期篩選是根據索引鍵的成員值屬性來完成,與篩選該維度的階層無關。
|
||
MDSCHEMA_DISCOVER | 限制 | 根據使用方式,Excel 會在讀取MDSCHEMA_DISCOVER資料列集以取得限制時,限制階層、層級或量值。 Excel 會逐列讀取結構描述並尋找所有其他相關結構描述的限制清單,以取得會影響 Excel 的限制索引。 RESTRICTIONS 資料行具有另一個資料列集的章節控制碼,Excel 會從中查看 NAME 資料行。 在 NAME 資料行中,Excel 會預期找到 HIERARCHY_VISIBILITY、MEASURE_VISIBILITY、LEVEL_VISIBILITY 等字串 (如果提供者支援對可見性施加限制)。 如果 Excel 在 (找不到 < xxx > _VISIBILITY字串,或MDSCHEMA_DISCOVER不受支援) 則會假設提供者不支援傳回隱藏的專案,而且不會查詢它們。 | |||
MDSCHEMA_LEVELS | LEVEL_ATTRIBUTE_HIERARCHY_NAME | 由 Excel 用來隱藏帶有系統產生名稱的特殊群組層級。 請注意,若使用 Microsoft SQL Server 2005 Analysis Services Service Pack 2,則不需要此項。 | |||
MDSCHEMA_LEVELS | CUSTOM_ROLLUP_SETTINGS | 0 | 如果不是 0,Excel 會假設層級具有自訂積存。 Excel 會對各階層的所有層級檢查此項,如果存在自訂積存,某些操作會停用 (例如群組)。 |
儲存格屬性
屬性名稱
Language
使用
判斷如何解譯 FORMAT_STRING
其為 CURRENCY時的 LCID。
Excel 會使用這個屬性來決定將值設定為 Currency 時 FORMAT_STRING
要使用的 貨幣符號。 如需詳細資訊,請參閱 擷取儲存格屬性。
指定要挑選之用戶端應用程式之 LANGUAGE 屬性的匯出量值定義範例:
CREATE MEMBER CURRENTCUBE.[Measures].[Internet Gross Profit]
AS
[Measures].[Internet Sales Amount]
-
[Measures].[Internet Total Product Cost],
FORMAT_STRING = "Currency",
BACK_COLOR = 12615680 /*R=0, G=128, B=192*/,
FORE_COLOR = 65408 /*R=128, G=255, B=0*/,
FONT_FLAGS = 3 /*Bold, Italic*/,
NON_EMPTY_BEHAVIOR = { [Internet Sales Amount], [Internet Total Product Cost] },
VISIBLE = 1,
LANGUAGE = 1033 /*Telling client application to display US currency symbol*/;|
支援和意見反應
有關於 Office VBA 或這份文件的問題或意見反應嗎? 如需取得支援服務並提供意見反應的相關指導,請參閱 Office VBA 支援與意見反應。