Microsoft Excel 使用 OLE DB for OLAP (联机分析处理) 提供程序连接到 OLAP 多维数据集。 连接到 OLAP 多维数据集时,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 键或DBPROPVAL_MSMD_SAFETY_OPTIONS_ALLOW_SAFESee: 安全选项属性。 |
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 会将其解释为支持使用 DrillDownLevel 和 DrillDownMember 函数的基于元组的钻取的服务器。但是,如果 还设置了 的最低两位 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 键在查询执行完成之前停止查询执行。 |
架构行集查询
架构行集 | Column | 值 | 控件 | ||
---|---|---|---|---|---|
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 | 在服务器上定义的 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”来获取维度中键属性的成员值属性。如果“时间”维度的键属性的MEMBER_VALUE属性的数据类型 (DATA_TYPE) 为 “日期”,则数据透视表将公开日期筛选而不是标签筛选。 实际日期筛选是基于键的成员值属性执行的,与筛选该维度的哪个层次结构无关。
|
||
MDSCHEMA_DISCOVER | 限制 | 根据使用情况,当读取MDSCHEMA_DISCOVER行集以获取 RESTRICTIONS 时,Excel 会限制层次结构、级别或度量值。 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 会对每个层次结构的所有级别检查此,如果存在自定义汇总,则禁用一些操作(例如分组)。 |
单元格属性
属性名称
语言
用途
用于确定如何解释 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 支持和反馈,获取有关如何接收支持和提供反馈的指南。