企业级商务智能解决方案
技术白皮书
(2002 MicroStrategy, Inc.
1861 International Drive
McLean • Virginia • 22102
Phone: • Fax:
目 录
1第1章 前言
第2章 产品架构 2
MicroStrategy Intelligence ServerTM 3
MicroStrategy 7i OLAP ServicesTM 3
MicroStrategy DesktopTM 4
MicroStrategy WebTM 4
MicroStrategy Narrowcast ServerTM 4
MicroStrategy MDX AdapterTM 4
MicroStrategy ArchitectTM 5
MicroStrategy AdministratorTM 5
MicroStrategy TransactorTM 5
MicroStrategy SDKTM 6
MicroStrategy BI Developer KitTM 6
第3章 元数据与逻辑模型 7
框架对象 8
应用对象 10
分发对象 13
元数据设计的优势 14
第4章 用户功能 17
分析应用中的用户功能 17
用户界面 18
报表和分析类型 20
交互式报表功能 21
第5章 报表服务器:MicroStrategy Intelligence Server 25
Intelligence Server的组件及查询流程 26
自动资源分配 28
优化与任何数据库的通信 28
强大的分析 29
缓存 31
服务器控制 34
第6章 报表服务器: MicroStrategy Narrowcast Server 36
架构和工作流 36
服务创建 38
预订和订阅门户 39
Delivery Engine 和 Service Execution 41
使用模块概念进行扩展 43
总结 43
第7章 管理 44
实时监视和控制 45
错误日志和诊断文件 46
企业管理器-历史性能分析 46
集中管理 48
系统管理软件集成 53
总结 54
第8章 闭环商务智能 55
Transactor架构和工作流 56
事务工作流模型 58
事务设计器 59
第9章 安全性 61
用户认证和授权 62
应用功能权限 62
访问控制列表 64
数据安全性 65
Internet架构和传输安全性 66
第10章 可靠性和容错能力 68
群集 68
监控能力 72
适应条件改变 72
总结 73
第11章 伸缩性和性能 74
数据伸缩性 74
用户伸缩性 77
其它的性能优化 81
第12章 扩展性和SDK 83
客户化和扩展的方式 83
开放的API集 84
文档化 88
开发工具 89
附录A. 框架支持 91
附录B. 超大数据库 (VLDB) 属性 93
附录C. 分析函数 97
附录D. 图表类型 100
附录E. 可用的E-mail客户端和无线设备 102
附录F. Windows 性能统计 105
附录G. 数据库平台支持 107
附录H. API方法、属性和接口 108
前言
目前,商务智能技术越来越受到各行各业的重视。用户需要及时的访问准确的数据,并将这些商业信息分发出去——这样的商业信息可以为企业提供竞争优势。在分析型商务智能应用软件的帮助下,用户可以收集、访问与分析每一个商业领域的信息。技术的进步使得更快速的访问大型数据库并将信息更容易的分发到所有需要它的用户手中成为可能。
迄今为止,各个企业都正在采用不同的商务智能工具来实现不同类型的商务智能应用。每一个所选择的工具都有自己擅长的特定应用类型——简单报表制作,基于Web交互式报表制作,OLAP切片与旋转,通过ROLAP的深入分析或主动的信息与预警分发等。但是不幸的是,管理与维护差异如此之大的不同技术价格昂贵,效率低下。
因此,迫切需要一种方便灵活的分析平台,能够完成以下工作:
支持各种BI应用——报表制作,分析与信息发布
提供强大的开发环境和易于维护的报表
支持工作组数据集市与轻松的访问海量交易数据
高性能、低负荷的支持与管理百万级用户
对重要应用,比如容错能力、性能优化与安全性的统一控制
通过开放的API接口与其它业务系统的方便集成
商务智能工具与平台的差异在Gartner Group的文档“魔术工具与平台象限”(Magic Tools and Platform Quadrant)中有所提及。这些象限解释了平台需求如何在现代体系结构中处于中心位置,这种体系结构能够扩展到其它的应用软件 。数据仓库研究所(Data Warehousing Institute)的Wayne Eckerson 也论述了新一代商务智能平台应当满足的12种需求。 这种趋势很明显,市场需要一种可作为企业内所有分析应用基础的商务智能平台。
MicroStrategy 7iTM是第一种能够满足客户和行业分析两者严格需求的商务智能平台。它先进的体系结构使它在Gartner的Magic Quadrant for Business Intelligence Platforms 处于领先的位置。
此技术白皮书具体的展示了MicroStrategy 7i中央服务器和基于XML的体系结构。
产品架构
MicroStrategy 7i 商务智能平台包括了9种完全不同的产品,产品覆盖的范围从基本的报表服务,到高级的分析服务,再到信息发布服务。这些服务是通过不同的用户界面提供给用户的,包括:Microsoft( Windows 工作站,标准的Web浏览器,Microsoft( Excel,电子邮件和无线设备。
MicroStrategy 7i集MicroStrategy数十年的商务智能经验之大成。此项最新产品完全重新设计了最初的架构,提供给用户完全的企业级商务智能技术。企业级技术主要体现在:
完整的客户功能——报表制作,分析与信息发布
深入的分析能力——满足所有的商务智能问题和报表制作应用
完全的管理控制——与基于任务的系统操作一致
MicroStrategy 7i 的软件设计和系统架构主要基于四个基本原则:
纯粹的面向对象:系统架构基础的设计全面采用了继承与封装的面向对象方法——从元数据结构到使用C++和Java的程序编制。纯粹的面向对象设计确保了平台能够无缝的增加新功能、新特征。
纯粹的Web方式: 体系结构完全架构在多层结构之上,特别是采用了目前最先进的Web方式结构设计,包括Web服务器,纯HTML的用户接口以及应用服务器等,保证了MicroStrategy 7i 适合防火墙内外百万级的用户规模并且满足安全要求。
纯粹的行业标准: 整个产品线中使用了多种行业标准,比如针对报表制作和API的XML/XSL,针对数据库访问的ANSI SQL,针对Internet的HTML/DHTML,SSL和SMTP,针对Excel访问的MDX和ODBO,以及针对Microsoft Windows集成的COM等。
纯粹开放的API: MicroStrategy 7i最大的产品特性在于它能够方便的与其它系统集成,或者客户化以满足某些特殊的需求。MicroStrategy提供了3000多个函数以满足外部访问和客户化的需求——包括所有的分析函数,所有的系统管理函数和所有的安全函数。并且, MicroStrategy 7i还能与其它使用XML/XSL,Java Beans,Java Messaging和COM技术的系统集成,支持最新的Web服务标准。
图 2 1 MicroStrategy 7i产品提供了企业级BI平台下全面的用户功能,开发能力和管理控制
MicroStrategy 7i产品包括9个结合紧密的产品,分别提供以下功能(括号内为列出产品):
报表服务(Intelligence Server, Web, Narrowcast Server)
交互式报表制作与分析 (Web, Desktop, MDX Adapter)
信息发布与报警 (Narrowcast Server)
设计与管理 (Architect, Administrator)
闭环型的商务智能 (Transactor)
与其它应用软件的继承 (SDK, Transactor, MDX Adapter)
MicroStrategy Intelligence ServerTM
MicroStrategy Intelligence Server是MicroStrategy 7i产品平台的基础。使用中央集中的元数据库,Intelligence Server将报表请求转化为优化的、为每一种主流数据库专门设计的SQL查询以及数据库本身无法实现的分析计算。
MicroStrategy Intelligence Server也是一种高度可扩展的,并行服务器,能够自动进行系统调优,群集管理和故障恢复。它控制所有的与数据库的交互,并使用统一的界面进行安全和管理控制。利用四级缓存,负载均衡,资源优先级以及连接缓冲池技术,Intelligence Server保证了百万级用户访问TB级数据的高性能。
MicroStrategy 7i OLAP ServicesTM
MicroStrategy 7i OLAP Services, 作为MicroStrategy 7i中的新产品,是MicroStrategy Intelligence Server的延伸,它允许MicroStrategy Web和Desktop用户使用Intelligent CubesTM. 最终用户可以添加或删除报表对象,添加导出型度量或修改过滤器——所有这些动作的响应时间完全由Intelligent Cubes决定。使用Intelligent Cubes ,7i OLAP Services 能够进行多维OLAP 分析,同时保证用户向数据仓库整个深度与宽度钻取的能力。
MicroStrategy DesktopTM
MicroStrategy Desktop使用与查询与报表制作,数据分析以及报表开发的高级桌面工具。它运行在Microsoft( Windows操作系统上,主要面向高级分析与应用开发。Desktop 提供了全面的分析功能,包括制作报表,数据挖掘,统计分析,集合分析和时间序列分析。Desktop的报表设计器,编辑器与向导使开发人员可以创建简单报表,带提示框或参数驱动报表,积分卡以及定向工作流报表。
MicroStrategy Desktop直接向MicroStrategy Intelligence Server发送请求,在那里将这些请求转化为优化的数据库查询,因此不需要在客户机上安装数据库连接件。
MicroStrategy WebTM
MicroStrategy Web为交互式分析提供了用于所有标准浏览器的,强大的,用户友好的环境。MicroStrategy Web为Web浏览器用户提供了互动的商务智能经验,从报表浏览,格式化,钻取和Ad-Hoc查询到报表设计与创建。简单易用的MicroStrategy Web界面减少了最终客户培训的需求,实现大规模用户的快速部署。
MicroStrategy Web通过HTML/DHTML实现全部功能,无需下载任何ActiveX或Java。因此,MicroStrategy Web能够与任何标准的Web防火墙无缝集成。
MicroStrategy Narrowcast ServerTM
MicroStrategy Narrowcast Server可以向员工,合作伙伴和用户通过不同的设备主动发布个性化报表和警报,包括移动电话,PDA,电子邮件,网页和传呼机。信息的发布主要基于数据库中的预定义计划或异常标准,确保信息以一种及时方便的方式发送。
MicroStrategy Narrowcast Server允许管理员定义报表发布服务和这些服务的接收这。最终用户也能够通过集成的订阅门户进行服务的自订阅(如果管理员赋予了相关权限),赋予信息消费者个人选择他们需要接收信息的权限以减轻管理员的责任与工作量。
同时,Narrowcast Server还能够通过MicroStrategy Intelligence Server访问有关的数据源和预定义报表。除此之外,Narrowcast Server开放的API接口允许企业创建定制化的Information Source Module,以直接从数据源取数,包括非关系型数据源。
MicroStrategy MDX AdapterTM
MicroStrategy MDX Adapter 使其它商务智能产品的用户通过标准多维查询语言,MDX和叫做OLEDB for OLAP(简称为ODBO)的开放API访问MicroStrategy 7i 平台。MDX 查询语言和ODBO API 连接的是多维数据源,与SQL和ODBC连接关系型数据库方式相同。
使用MDX Adapter, Microsoft® Excel和其它与MDX兼容的商务智能产品的用户可以直接连接到MicroStrategy 7i,并且通过将MDX查询完整的翻译为优化SQL查询,访问基于关系型数据库的数据仓库的整个深度。用这样的方式,MicroStrategy 7i 平台提供了与其它MicroStrategy产品相同的企业级分析能力,数据伸缩性,集中式的管理和安全特性。
MicroStrategy ArchitectTM
MicroStrategy Architect 快速的开发工具,将数据的物理结构映射为逻辑的,面向对象的模型,存储到集中的元数据库中。通过友好的图形化的用户界面,应用开发人员使用简单易学的向导和编辑器将企业业务模型关联到物理的数据库表和列。
这个逻辑业务模型就是其后报表制作的基础,非常方便直观,即使是新手也能很快掌握。同时,此逻辑层提供了一个物理数据库与报表应用层之间隔离层,两者可以分别发展而互不干预。并且,元数据库面向对象的特性使逻辑层的所有修改能很快透明的传播到每一张报表和那些对象的使用者。例如,“利润”只需在元数据库里修改一次,那些使用“利润”这个对象的报表,过滤器和计算项都会立刻更新。
而且,逻辑模型允许那些基于MicroStrategy的应用在不同的数据仓库平台间使用。这对于那些希望将他们的应用程序与已有数据仓库连接的分析应用开发人员有极大的好处。
MicroStrategy AdministratorTM
MicroStrategy Administrator 是综合的管理工具集,能集中的监测和管理整个系统。Administrator 主要用于:
大规模用户的自动管理
管理重要任务的实时操作
使用情况和资源的趋势分析
管理应用升级
MicroStrategy Administrator包括三个主要组件:
命令管理器—通过文本命令方式保证大规模用户情况下安全与系统配置的批管理和维护
企业管理器—分析数据库使用情况,报表使用情况,用户统计和趋势,以帮互性能调优和资源计划
对象管理器—为报表应用从开发环境到产品环境的部署提供用户和对象管理进程
MicroStrategy TransactorTM
MicroStrategy Transactor 允许应用开发人员在报表中内嵌动作。这就可以让用户根据报表中的数据初始化传输。商务智能信息的交流必须是闭合的环路,形式可以是任何后台信息系统的Web报表,电子邮件,无线消息或者声音提示,由Transactor接收并管理这样的交易流。
MicroStrategy Transactor可以使用HTTP,Java Message Service(,或者基于Transactor API开发的任何应用程序接收请求。在请求的特定内容和XML文件的逻辑定义之上,Transactor服务器执行相应的操作,比如回写到数据库或者传输给业务系统。
使用Transactor, 应用开发人员可以直接内嵌MicroStrategy Web报表,Narrowcast Server 报表,预警服务的动作按钮和对话框。例如,MicroStrategy Web库存报表可以被定制为包含一个按钮或者对话框接收用户指令去重新订购库存货物。这张报表依靠MicroStrategy Transactor去控制和执行定义的步骤以处理库存订单并自动创建采购订单。
MicroStrategy SDKTM
MicroStrategy SDK是全面的开发环境,用于构件商务智能应用或将MicroStrategy 7i 功能集成到其它系统中去。SDK本身就是MicroStrategy开放体系结构的一部分,通过它的开放API集,充分的扩展了MicroStrategy 7i平台的能力。这些API本身也包含在MicroStrategy的产品平台中。
MicroStrategy SDK包括:
使用COM或Java针对Intelligence Server 和MicroStrategy Web的开放API
为开发人员的文档和参考资料
开发工具,包括样例代码,应用程序和工具集
内嵌和打包的工具
使用SDK, 软件工程师和应用开发人员可以:
在已有系统,应用程序或门户中内嵌MicroStrategy 7i功能
在]Windows或Web上建立新的自定义应用程序
Extend the MicroStrategy 7i platform to include additional functionality
下面将说明如何将这些产品应用到企业级的商务智能系统中。
MicroStrategy BI Developer KitTM
MicroStrategy BI Developer Kit 包括开始器应用程序,它能够极大的加快自定义分析应用的速度。每一个模块都包含了一个丰富的库,包括基础度量,属性和层次,基于这个库可以创建出不少于40张的业务报表。不仅这些报表能够用在数据模型中,更重要的是,它们还能关联到使用MicroStrategy Architect的已有数据仓库。这种特性在商务智能领域是首创,只能应用在MicroStrategy 7i平台。因为这些分析是使用标准MicroStrategy工具建立的,因此能轻松的使用它们,并扩展到企业的特定需求。目前已有的分析模块有客户分析,销售分析,财务分析和Web流量分析。
元数据与逻辑模型
元数据,即关于数据的信息,它是一个集成商务智能平台的基础。MicroStrategy 7i 元数据体系结构的设计原则主要有:
数据的加密—最大的保护企业重要资产的信息。
元数据存储在标准的RDBMS中—充分利用RDBMS的伸缩性和在IT业内通用的标准数据管理技术。.
提供良好定义的抽象层—减小由于应用系统或数据模型变化带来的影响,使用户/开发者在自己熟悉的领域下工作。
使元数据完全面向对象—通过对象的继承增强系统可维护性,并且通过相互内嵌对象增强分析能力。
MicroStrategy 7i 的元数据可用于BI的每个方面,包括定义多维模型,创建报表,执行报表,处理数据以及主动的信息发布。MicroStrategy 7i中,由三个主要的元数据对象层次。每一层都代表了物理数据仓库之上更高的层次,它们是:
框架对象—由MicroStrategy Architect创建,框架对象将数据仓库的层次与用户熟悉的业务术语关联起来
应用对象—由MicroStrategy Desktop或MicroStrategy Web创建,应用对象使用框架对象来创建报表和度量
分发对象—由MicroStrategy Narrowcast Server创建, 分发对象使用应用对象创建和个性化信息发布服务,定义将要发送的内容,发送给谁,以怎样的计划以及发到哪种设备上(电子邮件,移动电话等)
由这些对象创建的抽象层使用户可以迅速简易的创建和分发报表。因为所有的MicroStrategy 7i 产品都要访问元数据库,因此任何对元数据的修改都会自动发布给所有产品和所有报表。
图表 3 1 MicroStrategy Architect 将数据仓库映射到元数据库
框架对象
将数据模型抽象成逻辑的业务模型
框架对象以逻辑业务术语表述物理的数据仓库数据模型。它是应用对象的基础,并最终会应用到所有的查询,报表制作和分析。
MicroStrategy 7i 支持各种数据模型,包括星型和雪花模型等一些常见的模型,也允许直接访问运营数据,比如以第三范式形式存储的数据等。同时,也由于支持各种关系型和多维型数据仓库结构,它能够轻松的将报表应用程序集成到已有的数据仓库中。MicroStrategy Architect工具通过以两种图形视图自动表述物理数据仓库和逻辑业务模型的方式来定义框架对象。
物理视图显示的是库表结构,列名和数据类型,如同在数据仓库中定义一样。
逻辑视图显示的是每一个表和表连接的属性,如同在元数据库存储的多维视图中定义一样。
灵活的框架连接使工作更加简单
MicroStrategy 7i 提供一个非常灵活的框架环境进行复杂的业务建模。每一个框架对象都可以引用数据仓库的物理结构,另一个框架对象,与数据仓库的对象结合以及使用分析函数的框架对象。这些函数可以是标准SQL函数,也可以是数据库支持特定的函数,里面含有算术,逻辑或者聚合操作符。例如,这些函数可以是 :
+, -, *, /
AND, OR, NOT
SUM
AVG
DATEDIFF
RUNNING SUM
MONTH (date)
框架对象可以映射多个表列,使用函数和表大事来定义框架对象。这些表达式满足了数据结构变化的需求。例如,数据库中用户的年龄字段可以定义为系统时间与用户出生年月的差,不再需要在数据仓库中建立用户年龄的新字段。
下图显示了如何相互建立不同的框架对象。
图表3 2 根据数据库结构和函数建立框架对象
事实(Fact) 是业务度量的基础
事实是数据仓库表的一列,它包含了原始数据或者诸如价格,销售额以及库存量等计算所得数字。存储在元数据库中的事实可以是:
单独的列 (比如:DOLLAR_SALES)
使用函数的单独列(比如:AVG (DOLLAR_SALES)
使用几个字段的函数或表达式的 (比如:PROFIT / DOLLAR_SALES)
属性给出事实的上下文
属性给出了事实的上下文,由数据仓库中一个或多个参考表的一个或多个字段定义。属性既会用在为报表的度量设置聚合级别,也会用在从数据仓库取数时的过滤条件。比如一些常用的属性例子有城市,月,客户等。并且属性有多个元素,一个或多个窗体。
属性元素是属性的行,包括一个或多个窗体。相同表的元素不会相同。比如,纽约,巴黎和东京都可能是城市属性的元素。
属性窗体是相同属性的不同列。比如,商店属性可能包括三个窗体—ID,姓名和长描述。
层次将属性排列成维
层次将属性按逻辑分组,组与组之间定义了一定的关系。并且,层次描述了一定的路径,这些路径指明了如何从汇总层次钻取到细节层次。层次还被用来浏览数据,它提供了报表中从一个属性到另一个属性的导航路径。
在MicroStrategy 7i中,还可以用层次结合某些运行时的属性作为报表中属性的占位符。MicroStrategy 7i 支持的标准层次分为两种:
系统层次显示了报表应用程序中属性间的关系。 它是元数据库里逻辑结构的直接映射。
更为重要的是,MicroStrategy 7i 不仅支持数据库中已有的层次,还能支持更为广泛的层次定义。这就是用户层次。
用户层次是用户根据业务规则在报表应用程序中定义属性间的关系。属性可被用在多个用户层次中。
数据转化(Transformation)为事实提供了极大的灵活性
数据转化(Transformation)通常用在时间序列分析中。它提供了一种有效的方法去自动显示那些不断变化的信息,而不必重新定义应用对象。例如,很多企业会生成现阶段与上期比较的报表。数据转化(Transformation)则可以在一个定义里自动处理这些变量集。
MicroStrategy 7i:有两种类型的数据转化(Transformation)
一对一 即数据转化比较一个时期与另一个时期。例如今年比去年。
多对多 transformations即数据转化定义的时现阶段与前n个阶段度量的比。
应用对象
应用对象能轻松的嵌入报表中
应用对象实际上就是能嵌入报表的组件。他们通过使用MicroStrategy Desktop和MicroStrategy Web的框架对象创建。在MicroStrategy 7i中,即使是初学者也能轻松的在MicroStrategy Web界面设计报表,并且所有的报表都继承底层的安全特性,优化的SQL以及管理员创建的管理特性。
应用对象能嵌入到另一个应用对象中,极大的提高了灵活性
应用对象是报表主要的构件。在MicroStrategy 7i’的面向对象元数据中,报表实际上也是一种应用对象,它能嵌入到叫做文档的多报表显示中。正是这样巨大的灵活性是它们能够相互嵌入。单个对象能够嵌入到其他对象这一点避免了当操作环境变化时,还必须作大量的对象修改。
图表3 3 应用对象用于定义报表信息
度量就是业务度量
度量与业务度量和关键性能指标相对应。它实际上是使用公式得到的计算项,这些公式包括聚合函数,算术运算符或者附录C中的150多个高级函数。由于MicroStrategy 7i 元数据面向对象的特性,度量可以包括事实,属性或者其他度量。这些函数的完整列表可参看附录C。
度量包括三方面属性:
度量维—这是指度量的聚合层次。可在报表中找到缺省的层次。但报表设计人员可以另外设定聚合层,这一特点对于需要嵌套聚合的时候特别有用。
度量过滤器—这是指对计算项用到数据的限制条件。这些限制条件可以与其它报表的限制条件联合使用。
度量转化—允许度量用于时间序列分析,这在数据转化一节已经介绍过。
报表数据的过滤器
过滤器设定了一些限制条件,数据必须满足这些限制条件才能加入到报表或度量中。过滤器在从数据仓库取数时过滤数据,并把这些数据展现给最终用户。一般来说,过滤器是一个逻辑表达式,比如City=’New York’ 或者 Year>2001等等。这些表达式可以使用数学和比较运算符以及所有的对象和值。
不同的运算符使用不同的布尔运算符,并且可嵌套,创建出复杂的条件子句。例如,要接收纽约和旧金山2001年第4季度的数据,过滤器可以是:
(City=’New York’ OR City=’San Francisco’) and Quarter=’2001Q4’.
自定义组将数据元素融合进虚拟属性中
自定义组可完全任意定义报表中的属性组。尽管这一点看起来不会经常用到,但实际上很多有用的业务报表都需要对不同属性进行直接比较。例如,利润和损耗报表会将利润产生属性与完全不同的损耗产生属性结合到一张报表。
自定义组展示了在数据仓库中没有的数据分组。自定义组的元素提高了数据仓库中数据的组织性,并且能够轻松的加以创建与编辑以适合客户需求。
自定义组的实现可通过使用过滤条件按照某种属性元素分组,或者通过定义度量名来创建不同的组,由用户定义的名称标识报表用户自定义组中的每个组。自定义组一般常用于利润和损耗的表示。
Consolidations扩展了自定义组的范围
Consolidations的功能类似于自定义组,因为它能像报表中用户定义属性一样工作,虽然它只适用于虚拟属性。利用consolidations, 可以通过不同组之间的运算创建附加的组。
提示框提供用户对报表内容的控制
提示框提供给用户参数驱动的报表,这种报表允许用户在报表运行时选择参数。这种参数能控制报表的大部分内容,并给了用户强大的Ad-hoc查询能力。提示框也让报表设计人员能够创建“分析域”,满足用户运行时的特定需求。有四种类型的提示框:
过滤器提示框限定从数据仓库提取的数据集
对象 提示框用于报表和模板的占位符。这些报表对象一般用来显示在报表中。
值 提示框允许用户输入字符或日期
层次 提示框控制报表中度量的聚合层次
模板支持任意的报表版面
模板设定了报表中数据的展示版面和格式。属性,度量,自定义组,复合项和提示框以行或列的方式放置在模板的单元格中,或者页面中将报表拆分为可管理的块。模板对对象数量没有实际限制。除了能够设置显示字符的字体,对齐方式,数字格式等,附加报表字符,比如汇总,度量阈值,图形属性等也可存储在模板中。
高度交互的报表
报表是商务智能应用的中心,为数据驱动分析提供了信息来源。报表实际上是将数据仓库中的数据按照特定的格式展现。MicroStrategy报表包括了定义格式的模板,报表内容以及接收哪些数据的过滤器。
MicroStrategy报表完全是交互式的。 用户可以绑定单元格和图形模式,通过行与列的透视重新设定报表格式,创建分页维度,改变格式,列排序,行小计,甚至根据报表数据创建新的计算列。所有对视图的改变都可以作为用户对相同数据的不同视图而保存下来。
创建高度格式化输出的文档
文档在一个HTML容器中包括多个报表和图形。文档可能以单元格或图形格式显示多张报表。普通的文本,图形,表格和超链接将文档转化成高度格式化和符合规定的文档。通过XSL定制格式比简单的单元格调整格式更具灵活性。
分发对象
分发对象体现了从MicroStrategy Intelligence Server 和其它数据源分发信息到信息订阅者的体系结构。它通过应用对象和MicroStrategy Narrowcast Server来创建。
下面分发对象的简化图形描述了定义主动分发服务必要的组件:
图表 3 4 分发对象是建立在应用对象之上的
高度自动化和客户化的服务
MicroStrategy Narrowcast Server的作用是创建,格式化和分发服务。服务是以下四种基础分发对象的组合以定义特定的分发服务:
消息内容 (发布)
接收内容的用户(订阅者)
分发内容的方式 (设备)
产生内容的频率或异常条件(计划)
消息发布产生发布内容
消息发布指定发布服务的全部内容,包括静态内容和动态生成的内容。这些内容来自于关系型或非关系型数据源,以HTML,纯文本或Excel格式汇总。消息发布回答了“接收什么内容”的问题。
订阅者可通过电子邮件,PDA,电话方式接收信息
订阅者就是接收一个或多个发布服务的用户。一个订阅者语义格或多个地址关联,包括电子邮件地址,PDA地址和电话号码。
订阅者和接收者之间有重要的区别。两者并不能等同,因为当满足条件时,MicroStrategy Narrowcast Server 为分发服务的订阅者生成动态的接收者列表。如果库存量在某个阈值之下,订阅者可能只是那些主动信息发布服务的接收者。 如果库存量没有下降到阈值以下,当Narrowcast Server执行服务时,订阅者并不接收发布内容 但并不表示不接收其它服务。
设备规定消息发布的格式与传输
设备为服务设置了格式与传输属性。例如,设备可以自动的为电子邮件接收者(通过SMTP发送,没有字符限制,允许Excel附件)和无线接收者(通过SMS发送,有字符限制,基于不同的移动电话类型,不能查看Excel附件)设置特定格式的消息发布。
每一个订阅者可以为他或她想要选择的服务选定多个设备。MicroStrategy 7i 已经为多种设备预定义了翻译与传输配置文件,包括20多种电子邮件系统和250多种无线服务。具体列表请参看附录E。
计划定义何时主动发送提示
计划设定了服务执行的时间与频率,可以以反复执行的模式运行,不一定固定时间。
元数据设计的优势
对象模型和框架,报表和分发对象的定义都存储在元数据库中,这为商务智能系统的开发与部署提供了以下几个优势:
用户对数据仓库的抽象
减少了应用开发与部署时间
面向对象的继承与依赖
对数据仓库的抽象层为用户和开发者提供了简化易懂的界面
每一个框架对象,应用对象和分发对象从广义上来讲都与数据仓库的物理结构有关。框架对象和应用对象使用业务术语把报表制作与底层的数据仓库物理机构隔离开。
抽象层包括下列功能:
基于最终用户的角度,在报表中使用业务术语而不是数据库的表名列名。
业务分析不再需要了解SQL语言
业务分析不再需要了解数据仓库的结构
数据仓库与应用系统的变化对最终用户透明
抽象层带来了灵活的结构支持,只有极少的需求(如果真的有的话)才会导致费时费力的数据仓库结构调整或者使用其它商务智能工具进行大批量处理。
MicroStrategy 结构包括了以下几个特点 :
不同列映射
业务层次
属性窗体
表达式
属性事实扩展
统一的元数据减少了应用开发时间,增加了部署灵活性
元数据对象一次性创建,存储在元数据库中,可被多个其它元数据对象和MicroStrategy 7i产品使用。MicroStrategy 7i 对象模型中的对象的设计尽可能的提供灵活性和可重用性。例如,报表中的提示框允许设计者创建参数驱动报表,用户可以在运行时完成报表定义。很多用户可使用相同报表,或者同一用户可多次使用报表,而每一次报表执行时都使用不同的报表标准。
这样,就没有必要在MicroStrategy Desktop, MicroStrategy Web, MicroStrategy MDX Adapter, MicroStrategy Narrowcast Server ,MicroStrategy Transactor中创建单独的报表。相同的报表可在所有的产品中使用,而无需额外的开发时间。这一点使企业能使用相同标准化,经过测试和认可的报表而迅速的部署其它应用。
MicroStrategy 7i 对象模型的很多对象都是通过模板模型定义。例如,组成服务的分发对象可为个人信息(诸如用户名,用户地址和其它动态内容)包含占位符。所有内容的产生,定制和格式都在Narrowcast Server运行服务时动态执行,一次定义服务可被不同用户多次使用,就算这些用户需要的是不同的数据和不同的设备。
面向对象的继承特性提供了强大的分析能力和高度的可维护性
应用对象的定义可以是递归的。新的对象定义可使用已有的对象定义,这样既节约了开发时间又保持了一致性。例如,优秀业绩商店过滤器被定义为“所有销售额超过平均数2个标准方差的商店”后,能够被多个其它对象多次使用:在优秀业绩商店表格报表中,在优秀业绩商店图形报表中,在让用户选择输入的“优秀业绩商店”组提示框中等等。
图表 3 5 用于多个对象的“优秀业绩商店”过滤器
递归对象定义带来的结果在于如果对象定义改变,比如要将优秀业绩商店的定义改为“所有销售额超过平均数个标准方差的商店”,那么这个改动只需修改一个地方即可。而所有依赖对象的更新会自动透明的立即进行,不需要开发者做其它的工作。
用户功能
商务智能的功能分类
随着商务智能的实现方式从硬编码的后台办公应用转向更加灵活的企业级部署,针对用户的功能性成为最本质的要求。在过去5年中,企业采用了许多的商务智能技术,因为不同的技术只能解决某个单一领域的问题。总结起来,商务智能的功能可以归纳为5个应用领域:
信息的调度分发——即将静态报表分发给为数众多的用户群。
基于异常事件的信息分发——报警及个性化信息的分发。
Web报表——请求式的(on demand)运行、格式化和重组报表的功能。
OLAP分析——在实现定义好的分析域中对报表或立方体(cube)进行切片和切块分析。
关系型OLAP分析——钻透到数据仓库的细节分析。
企业并不想配置5种不同的BI工具来完成这些功能,但现有的商务智能技术缺不足以覆盖所有这些功能要求。
MicroStrategy 7i解决这种矛盾
MicroStrategy 7i正是为解决这种两难处境而专门设计的。它的功能设计原则非常简单:
在一个平台中完全覆盖商务智能的所有这些应有的功能。
允许用户无缝地获得附加的功能,以满足日益增长的需求。
通过所有常用的界面提供相同的功能,包括web浏览器、Windows、Excel和电子邮件。
通过所有的界面使用拖曳机制和拖方菜单完成信息分发。
所有的Web功能通过纯HTML/DHTML来实现,无需使用ActiveX或Java applets,以确保外网安全性和伸缩性。
MicroStrategy 7i完美地实现了所有这些目标,用户可以轻易地实现OLAP分析、ROLAP分析、报表调度和分发等各种报表功能。而且在Web界面和Windows街面上有同样的外观和感受。
用户功能指标通常考察技术能力和用户查看、分析、操作相关信息的界面能力两个方面。
本部分主要讨论MicroStrategy 7i的界面类型分析应用、报表、数据处理合格式设置等问题。
分析应用中的用户功能
企业级的商务智能平台应该无缝的支持所有类型的分析应用——包括管理型仪表盘、记分卡、协同分析或其他自定义的应用。用户功能很大程度上就是应用的部署能力。
管理型仪表盘用于监测企业的关键指标(KPI),通常与高层记分卡同义。MicroStrategy 7i为部署管理型仪表盘应用提供了一个理想的平台。用户可以创建和查看包含多个报表信息的质量文档。并且,每张报表都可以针对每个用户提供特殊的格式。MicroStrategy 7i为用户提供了许多重要的功能,比如主动报警,多种界面可选,包括Web、Windows电子邮件和Excel。
记分卡应用能够完成各种高级分析,包括对保存在大型数据仓库中原子级数据的度量计算。除了提供企业运营状况的高层视图之外,积分卡应用还需要指明原因和影响。MicroStrategy 7i允许用户查看任意分析深度和广度的报表。而且,交互式的任意查询和报表操作使得用户可以根据自己的思路来做各种分析,或根据报表分析出逻辑的结论。
协同分析应用能够将企业范围内的信息集成起来,使所有的用户——不管是企业内还是企业外——始终保持对同一问题的相同看法。因此,协同分析应用必须考虑到用户技巧的不同、多种界面和交互要求、请求是和主动使得信息分发等等。7i平台向用户提供了多种界面选择和信息分发选项。同时7i超强的报表能力使最终用户能够完成复杂的协同任务,比如分析信息、导出数据到第三方应用、回写数据库、发送email报警等等,所有这些都可以通过同一个用户界面完成。
图表 4 1 MicroStrategy 7i分析型用户功能
用户界面
所有的报表、功能和安全控制都可以通过多种界面来完成
MicroStrategy 7i提供了各种界面来支持各种层次用户的商务智能应用。由于所有的界面共用相同的元数据,用户从一种界面转向另一种界面时,无需借助于管理员的帮助或做任何重新设置。
Web Web浏览器正越来越多地被企业应用所采纳。MicroStrategy早在1996年就率先在商务智能应用中引入Web界面,如今更是通过Web向最终用户提供了最广泛的功能集。事实上,无论是何种界面,很少有其他商务智能产品,能够像MicroStrategy Web那样向用户提供如此丰富的交互操作、格式化选项、数据操作和与第三方应用的集成能力。MicroStrategy Web适合所有层次的用户,从高层执行官,专业的分析用户,到为数众多的信息消费者。
Windows 对于习惯使用Windows灵活界面的人来说,MicroStrategy Desktop提供了一个强有力的环境来进行报表设计和信息分析。MicroStrategy Desktop允许用户创建复杂报表、修改格式、随意钻取、随心所欲的分析。MicroStrategy Desktop灵活的报表能力使得用户可以在分析时随意改变报表的参数,保存报表的任意部分——完整报表、报表过滤器或报表模板。高级用户还可以为建立记分卡应用、任意分析、绩效指示器而开发和部署自定义的工作流和钻取路径。
e-mail MicroStrategy Narrowcast服务器可以通过e-mail(或无线寻呼机、移动电话)分发报表。这些报表和警报能够基于调度计划和异常事件触发来分发;比如,每个月末的星期一的早晨或当达到某个阈值时(比如某个产品的库存量低于某一水平时)。MicroStrategy Narrowcast允许用户自己或通过管理员来订阅报表,这些报表会是个性化的并将传送到用户的个人邮箱。MicroStrategy Narrowcast可以以下列方式向最终用户传递报表:
HTML报表图像
PDF报表图像
Excel文件
Excel工作簿
包含上述所有格式的文档
MicroStrategy 7i平台的共享元数据架构使得不管是在Web还是在Windows下制作的报表都可以立即通过Narrowcast服务器来传递和订阅。
Excel和其他第三方界面 通过MicroStrategy MDX Adapter,Excel或其他兼容MDX的商务智能工具可以直接访问MicroStrategy Intelligence Server。很多用户的已有的商务智能工具已经达到了数据规模或分析能力的极限,借助MDX Adapter,是用现有的工具就可以访问后台强大的MicroStrategy 7i平台。由于不需要物理的Cube,MicroStrategy MDX Adapter使得用户访问存储在主流关系数据库中的TB级数据,而无需进行物理Cube的创建和管理或昂贵的数据复制。
界面
MicroStrategy产品
Windows
MicroStrategy Desktop
Web Browser
MicroStrategy Web
Microsoft® Excel
MicroStrategy MDX Adapter
Other MDX-compliant tools
E-mail
MicroStrategy Narrowcast Server
PDA
Cellular phone
报表和分析类型
商务智能应用使得用户可以分析信息并从报表和分析中获得深入的认识。企业及商务智能系统必须支持各种不同交互程度和功能的报表。MicroStrategy7i平台支持下列类型的在企业及商务智能应用中常见的报表和分析。
标准企业报表(Standard corporate reports)在各种分析应用中广泛应用,从管理型仪表盘、记分卡到协同分析。当用户开始使用报表应用时,标准企业报表是最主要的报表类型,MicroStrategy 7i为用户分析这些标准报表式提供了最大程度的灵活性,使用户可以按照特定级别的信息或格式需求裁剪报表视图。MicroStrategy 7i平台内建的强大的缓存机制使得用户可以快速得到所需的粒度级别上的复杂的报表。
任意报表(Ad hoc reports) 的使用使得用户可以快速将不同报表合并起来,或钻取到原始报表所不能覆盖的细节数据中。任意报表的能力如果不够强大,将可能增加管理成本和降低用户功能,使用户不得不花时间等待管理员来创建和分发报表。MicroStrategy 7i为Web和Windows用户提供任意报表支持。Web和Windows用户能够创建、修改、保存报表,并使用任意钻取功能来改变报表属性。
参数驱动型报表(Parameter-driven reports)在运行时可以根据用户输入来定制。利用MicroStrategy 7i参数驱动型报表,用户不仅可以选择诸如日期、地理位置等元素,还可以限定诸如收入的前10%或后10%等。用户还可以将参数选定之后的报表作为标准报表保存起来。A user
个性化报表(Personalized reports) 中只包含用户需要的或被允许访问的信息,这样,西部地区销售经理只能看到销售报表里西部地区的销售情况。当用户需要按计划或阈值触发来接收报表时,也会用到个性化报表。自动的个性化确保了用户数据安全和相关信息的正确传递。
指示器报表(Indicator reports)常用在记分卡和管理型仪表盘应用中。指示器报表往往包含一些细粒度的数据,而不只是汇总信息。MicroStrategy7i允许用户分析包含许多度量(metrics)的详细的指示器报表,以获得对问题的更深入的理解。任意钻取的能力可以帮助用户更全面地分析数据,从而发现为什么部分指标会超出可接受范围。
集合分析报表(Set Analysis Report)允许用户根据分析的要求创建属性集或属性组。在这类报表中,用户可以使用标准的集合运算和拖放界面,将各种集合进行合并,从而为客户分群定义复杂的标准。MicroStrategy 7i通过Web和Windows界面提供了强大的集成的集合分析能力。
What-if分析报表(What-if Analysis Report)使用户可以获取不同假设条件下的各种结果。MicroStrategy 7i允许在报表上提供各种提示框来支持What-if分析,比如,用户可根据不同的收入和成本计算方法获得各种收益率结果。
数据挖掘报表(Data Mining Report)或高级分析报表(Advanced Analysis Report)能显示复杂的计算,比如判断同时购买的产品之间的相关度,或表示出某客户在某个时间段内离开的可能性。这些分析都可以在MicroStrategy 7i平台上通过Web或Windows界面交互进行,而无需任何编程。
交互式报表功能
OLAP分析中的数据操作
这里的数据操作是指在报表上直接进行信息的透视和切片切块。数据操作是分析型商务智能应用的核心手段,使用这种手段,用户可以对报表做深入研究,找出重要的趋势和模式。MicroStrategy 7i通过易用的导航界面为Web和Windows用户提供丰富的数据操作选项。是用简单的拖放方式,用户就可以在报表上的信息进行最大程度的分析,并保存为新的报表与其它用户共享。
在许多例子中,进行数据操作所需的数据包含在原始的报表缓存(cache)中,并不需要对数据仓库做新的SQL查询。如果所需对象不在原始报表中MicroStrategy Intelligence Server会自动存数据仓库中提取并创建新的报表缓存。
下列的数据操作功能对Web用户和Windows用户都是有效的:
分类(Sorting)是指在报表上直接对任何属性和度量(Metric)进行分类。排序标准一经定义就会在后续所有报表的操作中被遵循。在由许多属性和度量组成的复杂报表中,MicroStrategy 7i支持同时在行和列上进行单主键和多主键排序。
透视(Pivoting)时指在扁平表和交叉表上重新组织属性和度量的排序和位置。用户可以使用简单的拖曳或单击动作在行、列和页之间透视数据。透视报表可以被存为新的报表。
分页(Page-by)是指按特定的数据元素分组在报表上创建子集。当查看带有多个属性和度量的报表时,分页功能非常有用。例如,用户可以在报表上用拖曳方式按地区和月份进行分页来查看某一地区和月份的特定信息。这样用户就可以在不同的地区和月份值之间切换,从不断改变报表的焦点。在MicroStretagy中,用于分页的属性或属性组合是不限数目的,同时也可以将度量加到报表的分页区来一项项地查看。
向下钻取(Drill down)就是反复向汇总表中增加更详细的级别。MicroStrategy 7i使得这种向更细粒度数据的查看更加方便,比如,用户可以从季度报表直接一步向下钻取到月或周或日报表。
随意钻取(Drill anywhere)在任何报表上进行任意的分析,随意钻取功能不限钻取路径,例如,用户可以在地区层次上查看销售报表。利用随意钻取功能,用户可以从一个给定的地区钻取到时间维度来查看某地区不同季度的销售趋势。对于360度分析而言,随意钻取是非常强大重要的一项功能。
汇总/分类汇总(Total/Subtotal)是指在报表的度量上添加汇总值(总计)和分类汇总值(小计)。所有类型的度量计算,包括平均和百分比,都支持汇总和分类汇总。在平均值或百分比的例子里,总计使用度量公式计算出来的,而不是简单地把行和列加起来。在计算分类汇总和总计时,用户可以使用很多函数,这些函数包括:
平均(Average)
计数(Count)
几何平均(Geometric Mean)
最大值(Maximum)
平均(Mean)
中值(Median)
取模(Mode)
乘积(Product)
标准偏差(Standard deviation)
方差(Variances)
导出型度量(Derived Metric) 在现有的报表上基于已有的度量创建新的度量。可用于创建这些度量的函数包括常用的数学运算和其他用于计算移动平均、方差、标准偏差、秩运算符等。这种功能使得在报表上添加百分占比度量值或预测度量值成为可能。这些新的度量可以保存起来作为将来报表的一部分。
报表的格式化
为了满足用户制作企业报表的要求,MicroStrategy 7i提供了丰富的格式功能。数据的格式化选项包括:
字体——大小、颜色、粗体、斜体、下划线
数字——小数、货币、数位、日期格式
阈值和指示器
表格格式——边框、背景、阴影、标题格式
图形格式——序列数、标注、坐标轴、字体、图形类型
图表 4 2数据格式化——Excel风格的工具条和功能
图表 4 3 数据操作——在图形和表格上进行随意钻取
所有的格式化控制条都是按照Office风格制作的,用户不需花费更多时间就能适应这种操作模式。
用于指导报表制作和分析的向导及工作流
7i通过预制的向导和工作流增强了易用性,这些向导通过报表创建或与定义的钻取分析来指导用户,用户可以将例子定义向到和工作流,以下是可用的向导和工作流类型:
报表创建器(Report builder) 这个多步向导可以帮助用户在Web上一步步的建立报表,如果需要,一个报表项目可以有多个报表创建器,比如,一个财务报表应用可能包含损益报表创建器、资产负债表创建器和现金流报表创建器,损益报表创建器限制用户只能使用损益报表相关的信息。因此,报表创建器可以设计成辅助建立包含多属性和度量的复合型报表,也可以用于建立严格类型的报表。使用报表创建其制作报表的过程是全交互的,并可以保存、操作、共享和分发。
任意报表向导(Ad hoc report wizard) 通过Web创建和运行任意报表,结合一个带有报表过滤器的报表模板。通过任意报表向导,用户可以调配来自不同报表的模板和过滤器,这极大的提高了用户的报表变换能力。同时通过任意报表向导制作出来的报表可以保存、操作、共享和分发。
自定义钻取路径(Customized drill paths) 7i提供了一个钻取地图编辑器来定义特定的钻取路径,主要是为用户的深层次分析指定属性、层次和模板。这个功能为用户在报表上进行分析提供了完整的分析路径。同时,在钻取的每一点上,都可以将报表存为交互式报表。
报表动作
一旦用户完成了报表的查看、分析、修改、创建或操作之后,下一步就是保存、共享或分发这些信息。7i支持的报表动作使企业可以部署这些能提升协作性和生产力的分析应用。以下是在Web和Windows环境下都可支持的报表动作:
打印 以表格或图形格式打印高质量的报表。用户可以动态改变页面的版面、应用适合页面功能、自定义页眉页脚。
EMail 用户可以按照原始报表的格式通过eMail直接传递给其他用户查看和分析。
订阅 用户可以订阅报表,这些报表会按照某种调度计划自动分发。
另存新版本 用户可以在报表的数据操作或格式化之后保存为私人文件,这种动作可以在Web上完成。
发布为共享版本 用户可以将交互报表保存到共享文件夹供某些特定的用户组使用。
导出 无论报表信息是否已被格式化,都可以导出为下列格式:
HTML
Microsoft Excel
PDF文件
Microsoft Word
Microsoft Access
文本文件
调度 对报表进行调度安排,可以在数据仓库的非高峰时间创建报表缓存。使用这些报表缓存,用户可以查看和分析报表是无需对数据仓库执行SQL查询。
创建数据集市表(Datamart Table) 利用这个功能,可以自动将任何报表写进关系数据库生成数据集市表。这样就可以与像数据挖掘或营销自动化这样的第三方应用系统做到数据级集成。例如,数据集市表可用来保存企业的客户分群的快照,进而可以对这些不同的客户分群进行比较分析,从中发现各种趋势和模式。
回写数据库 这个功能由MicroStrategy Transactor完成,利用这个功能,企业可以将分析功能集成进现有的业务处理中。例如,CFO可以在每日销售信息的分析基础上构建收入和销售预测,通过分析最新的销售信息,CFO可以对预测进行调整,同时将变化告知相关的经理,修改后的预测数据就合并进公司的计划和管理系统中。利用7i提供的闭环(Closed-loop)分析能力,企业可以集市制定数据驱动的决策。
客户化功能
虽然7i提供了广泛的分析手段,但如果需要,企业还是可以添加他们的自定义功能。最常见的自定功能类型是与自主开发的或第三方的应用和系统进行集成。MicroStrategy 7i的开发架构和API,使得它非常适合用于开发自定义功能或与与其它应用集成。7i平台架构的目标是最大化地利用企业的信息投资。
报表服务器:MicroStrategy Intelligence Server
MicroStrategy 7i商务智能集成平台包含两个报表服务器:Intelligence Server用于交互式报表和分析,Narrowcast Server用于主动的信息分发。
Intelligence Server是MicroStrategy 7i平台的架构基础。通过集中的元数据资料库,Intelligence Server将报表请求转换为对每个主流关系数据库的优化的多路SQL查询,并可以执行任何附加的分析计算,即使这种计算并不能被数据库支持。Intelligence Server统一地管理来自以下各处的报表请求:
MicroStrategy Web
MicroStrategy Desktop
MicroStrategy MDX Adapter
MicroStrategy Narrowcast Server
MicroStrategy Transactor
任何自定义的Web应用或客户机/服务器应用
Intelligence Server——为确立单一的商务智能企业标准而设的完整的中间层
对于想要将所有不同的商务智能技术统一到单一企业级标准的企业而言,必须有一个架构上和管理上完整的中间层,它相当于一个企业业务运营系统,而不仅仅是一个决策支持系统。MicrStrategy Intelligence Server满足了这种要求,并为整个商务智能行业确立了标准。
7i架构设计的原则特别针对架构完整性和管理完整性,包括如下特征:
没有数据伸缩性限制
没有用户伸缩性限制
没有分析处理限制
可以使用任何关系数据库
可以使用任何用户界面
集中控制的管理方式
自动的失败恢复
极高的性能
与其他企业业务系统集成
为了实现这些目标,MicroStrategy在设计7i平台时:
纯C++语言和纯面向对象
全并行处理
自动的资源再分配和自动的系统调优
高度优化的SQL生成
四级共享缓存
完全的集群能力
自动容错
针对上百万的对象和用户的管理功能
针对内网和外网的安全特性
始终遵循开放APIs和行业标准
Intelligence Server是长达5年的开发工作的结果,在商务智能行业独树一帜,足以与ERP系统的操作完整性相媲美,确立了企业级商务智能技术的标准。
企业级商务智能系统需要一个健壮的后台服务器来动态管理所有用户的请求。7i集成平台包含两个报表服务器:Intelligence Server和Narrowcast Server。Intelligence Server是整个商务智能系统的后台,支配和管理着下列应用:
MicroStrategy Web
MicroStrategy MDX Adapter
MicroStrategy Desktop
MicroStrategy Narrowcast Server
MicroStrategy Transactor
自定义的Web应用或客户机/服务器应用
Intelligence Server实现了7i平台大部分的分析、性能、管理、安全、伸缩性和可靠性等特性。报表服务器部分建构在这些基础上,稍候将讨论这些主题。
关于伸缩性、管理和安全等主体将在稍候的章节中讨论,本部分将覆盖Intelligence Server的架构、内部资源分配以及Intelligence Server的一些特殊功能,比如数据库通信、缓存、分析处理以及查询控制。
Intelligence Server的组件及查询流程
Intelligence Server是多线程服务器,处理来自MicroStrategy Desktop、MicroStrategy Web和 MicroStrategy MDX Adapter等界面的查询。为了响应这些查询,Intelligence Server动态执行多个任务:接受用户请求,管理缓存,生成SQL,应用控制参数,执行SQL之后的分析,与元数据和数据仓库交互,对结果适当地格式化。
MicroStrategy Intelligence Server的主要组件如下:
Intelligence Server总线
Intelligent Cubes服务器
元数据和数据仓库通信层
SQL生成引擎
分析引擎
下述的查询流程描述了每个组件的主要功能。
图表 5 1 MicriStrategy Intelligence Server查询流程
MicroStrategy Intelligence Server从任何界面接受一个报表请求;
请求被传到Intelligence Server总线,Intelligence Server总线负责协调所有需要的任务;
Intelligence Server首先查看缓存,看报表结果是否已经存在那里。如果另一个用户或一个调度任务先执行过这张报表,就会缓存在这里。如果缓存中存在,Intelligence Server回调到步骤9;
如果没有缓存,Intelligence Server总线会从元数据中获得报表定义和应用对象;
Intelligence Server总线将这些信息传送到SQL生成引擎中,SQL生成引擎针对当前使用的数据库创建优化的SQL。SQL会再传回到Intelligence Server总线;
Intelligence Server总线将SQL发送到查询引擎,查询引擎会在数据仓库上运行SQL,并将报表结果传回到Intelligence Server总线;
Intelligence Server总线调用分析引擎,完成附加的计算(当这些计算在当前的数据库上无法完成时),由分析引擎对结果做格式化,然后结果传回到Intelligence Server总线;
根据报表分析的复杂度不同,结果可能再回传给SQL生成引擎,然后通过数据库再做进一步的分析。只有MicroStrategy能提供这种数据库协同分析技术。在这个例子里,步骤4-6会反复执行直到或的最终的报表结果。最后,经过格式化的结果传回给客户通信层;
Intelligence Server将格式化的结果传回给客户。
自动资源分配
查询流程和上图中的每一块大体相当于Intelligence Server中一个独立的处理单元或组件。一般情况下,Intelligence Server中的每个组件都使用C++线程(资源)执行任务。
一开始,Intelligence Server为每个组件分配一定数目的C++线程,线程的数目基于缺省设置或管理员设置。随后Intelligence Server会根据系统的使用情况,自动将线程从一个处理单元重新分配给另一个。例如,带扩展分析处理请求的报表越多,对分析引擎的要求就越高。如果SQL生成引擎负担不重,Intelligence Server就会将它的一部分线程分配给分析引擎。这种自动线程均衡可以很容易的通过GUI来设置。
Intelligence Server会自动对资源进行再分配而无需管理员的介入。如果需要,管理员可以很容易的改变Intelligence Server分配给组件的最大和最小线程数。例如,如果分析引擎的使用率一直很高,管理员就可以为它分配额外的资源(线程)来满足用户的需求。
另外,管理员还可以为相同的组件创建多个实例,比如,带扩展分析处理请求的报表环境对分析引擎的需求比较重,这可能导致性能瓶颈,管理员可以为分析引擎组件创建两个或更多个实例,取代分配更多个线程的方法。这种方法使得Intelligence Server可以并行地处理相同的分析引擎任务。
优化与任何数据库的通信
商务智能服务器必须能够动态地将面向业务的请求翻译成特定的数据库语言。不同的数据库平台使用不同的术语描述他们的数据架构 和数据管理服务,MicroStrategy Intelligence Server能针对不同数据库自动地优化SQL的生成。另外,服务器在保持系统的最大的安全的同时使管理员的工作量最小。
集中的通信方式最大程度的保证了安全性和可管理性
如上图所示,Intelligence Server是整个架构中负责与数据仓库和元数据通信的中心组件,因此在整个架构中,Intelligence Server是唯一需要ODBC接口的组件。对于这种集中式的通信架构有两个好处:
通过将数据库连接从Web服务器或其它外部应用中分离出来提高了安全性。这种分离创建了一个非军事区(Demilitarized Zone),保护数据不被黑客访问。
这种架构使得商务智能系统的管理和维护最小化。在个人电脑上无需安装数据库连接件,Intelligence Server提供了一个控制台来执行所有的管理任务,包括管理缓存、查询、用户、项目、安全,以及业务数据和定义的标准化。
优化的SQL生成
MicroStrategy Intelligence Server使用ODBC和SQL与数据仓库通信。由于不同的数据库使用不同的SQL版本,一个通用的SQL语句在不同数据库上的执行效果会很不同。根据查询的复杂度不同,性能可能会相差20%到20倍。
MicroStrategy Intelligence Server通过两种方法来优化性能:
MicroStrategy Intelligence Server针对不同的数据库平台对SQL进行适当的优化,优化后的SQL相当于最好的、手写的SQL。
管理员可以控制超过90个的超大型数据库(VLDB)属性 。
强大的分析
为了从企业数据中获得知识和竞争优势,业务分析人员必须尽早的回答诸如这样的问题:业务开展情况如何,存在什么问题,如何解决,如何改善运营等等。为了达到这种目的,企业级商务智能服务器应该能够:
支持所有需要的分析函数
能在所有企业数据集上应用这些函数
支持常用的分析技术
提供丰富的表达手段
Intelligence Server的两个组件——SQL生成引擎和分析引擎——一起来满足所有这些要求。
丰富的分析函数和添加自定义函数的能力
通过SQL引擎和分析引擎,MicroStrategy Intelligence Server支持150多个分析函数 ,这些分析函数在7i平台中是内建支持的。这些函数可以分为四大类:
标准函数——基本的OLAP,秩运算,布尔函数,比较函数
财务函数——与Excel中的财务函数相当
统计函数——与Excel中的统计函数相当
数学函数——与Excel中的数学函数相当
图表 5 2 分析函数库
除此之外,用户还可以在7i平台上嵌入自定义函数,这些函数可能是企业专有的函数或标准产品不具备的函数。
这种架构的主要几个优点是:
一旦自定义函数加到元数据库中,那么所有的用户和报表都可以像使用内置函数一样来使用它们。
所有用户都可以共享库中的任何函数,而无需在桌面端复制它们。
Intelligence Server可以在全部企业数据级上动态地应用这些自定义函数。
完整数据集的分析
分析函数对于业务分析非常有用,因此,有必要将这些函数应用到整个企业数据集。
MicroStrategy Intelligence Server在整个企业数据集动态应用分析函数,并专门设计了90多个VLDB属性,按照特定的数据库和硬件动态地优化每张报表,以最优化的性能在记录级来访问和分析交易表。
高级分析技术和迭代分析技术
MicroStrategy Intelligence Server可以在所有的数据库平台上应用所有的分析函数,但数据库平台支持这些函数时,SQL生成引擎会在报表SQL中使用这些函数。如果数据库平台不支持这些函数,Intelligence Server会执行一个新任务完成此查询。只要可能,Intelligence Server首先会将此函数翻译成数据库能支持的共识,比如,几何平均会翻译成AVERAGE(LOG(value))。
如果Intelligence Server无法翻译这个函数,SQL生成引擎会收集必要的数据然后将它们传给分析引擎。分析引擎会用内置的公式来计算这个函数,将它应用于数据集,然后格式化数据并将结果传回给用户。利用这种机制,即使数据库不支持相应的分析函数,也能够回答用户的问题。
业务用户经常会需要从不同的数据元素中定义自集的数据组或数据集。例如,用户可能会根据某种属性找到前10%最适合的客户,这经常用于根据产品找到最适合的客户之类的工作。但是在大多数系统中,如果数据在数据库中没有合适的分组就无法将它们聚集起来。Intelligence Server解决了这个问题,无论数据在数据库中如何分组,用户都可以将他们聚集起来。Intelligence Server的这个特性称为自定义分组(Custom Grouping)。
另外,使用Intelligence Server,用户可以合并和对比不同的用户分组形成新的数据集,这被称为集合分析(Set Analysis)。自定义分组和集合分析的一个简单例子是,找出超过50岁、每年收入超过10万美元、不住在纽约的前10%的客户。
Intelligence Server的所有这些高级分析技术统称为迭代分析(Iterative Analysis),迭代分析是在Intelligence Server和数据库之间的一种动态的连续交互的表达方式。当一个复杂的问题无法只通过数据库来解决,或者单一个复杂的问题无法通过一个简单的SQL查询而是需要一系列的步骤才能解决时,Intelligence Server就通过这种方法来解决。这样的例子包括自定义分组、集合分析、后数据库分析函数(post-database Analytical functions)。Intelligence Server智能地决定最理想的位置来执行这种计算。这种决定是通盘权衡Intelligence Server的长处、数据库的长处以及数据转换尽量最小之后制定出来的。由于只有Intelligence Server提供这种优化的多路SQL的生成机制,因此迭代分析是Intelligence Server所特有的功能。
以下的分析应用实例是组合SQL生成引擎、分析引擎和库函数动态完成的:
用户可以通过摘要信息对他们的业绩有一个宏观的认识。例如,根据产品查看客户的花费。
时间序列分析。例如,使用回归分析准确地预测客户将来的购买行为。
分群分析(Segmentation Analyses)允许用户从数据库的任意维度中抽取不同的数据元素,生成一个新的自定义组。例如,企业可以根据年龄、性别或收入等许多不同属性将客户分群,目的是进行针对性销售。
条件分析(Conditional Analyses)是通过一系列的”What if”问题来分析数据。例如,对比供货日期和订购日期。
关联分析(Relationship Analyses)使得用户可以发现不同业务变量之间的隐含的关系。
假设测试(Hypothesis Testing)可用于比如在不同城市里某种颜色的产品是否更好卖。
缓存
在大多数的商务智能系统中,随着用户数的增长,查询效率会降低。但是,MicroStrategy Intelligence Server提供了独特的缓存机制,随着用户数增加效率反而会增高。这是因为随着更多的用户运行查询,两个用户请求同样信息的机会会增加。例如,如果你有100张报表,用户选择其中一张报表的机会是1%,如果有50个用户,那么两个用户选择同样一张报表的机会是8%,图过增加到100个用户,这个机会就会增加到18%。这些请求都会被缓存下来,通过提供多级缓存,MicroStrategy Intelligence Server随着用户数的增加提高了查询效率。
在“查询流程”部分我们提到过,用户查询一张报表时,Intelligence Server首先会检查报表数据是否已在缓存中。如果已经存在,Intelligence Server会从缓存中取出发送给用户。如果没有,Intelligence Server会在数据库上运行此查询,然后将返回的结果缓存起来。
智能立方体(Intelligent Cubes TM)为交互用户提供高性能
当Intelligence Server从数据仓库中提取出数据之后,会创建智能立方体。使用只能立方体,用户在缓存数据上就可以做各种附加的分析,而不需要访问数据仓库。在这个数据集上,用户还可以执行更多的报表操作。
无需任何用户干涉,Intelligence Server会动态地访问这些智能立方体。事实上,用户根本无法判断当前是使用智能立方体还是直接访问数据库,唯一明显的现象是如果使用智能立方体查询效率会更高。
图表 5 3 MicroStrategy7i中的智能立方体
使用智能立方体,当用户请求与缓存的报表匹配时,用户就获得到缓存数据。如果用户请求超出了缓存数据的范围,Intelligence Server会动态地在数据仓库上生成SQL。
下列的操作动作会执行得非常快,这是因为他们直接对智能立方体操作,而无需生成SQL去访问数据仓库:
钻取
透视
分页
排序
分类汇总
添加导出型度量
从报表视图中添加或删除信息
过滤报表缓存结果
格式化报表视图
大纲模式
合并
将数据重置为原始报表
根据层次和版本进行智能缓存
利用多级缓存,MicroStrategy Intelligence Server对下列数据进行缓存用以提高响应时间:
报表数据——在报表缓存或智能立方体中的预处理报表数据
元数据对象——预先使用的框架(Schema)和报表对象定义(例如,属性、层次、过滤器、模板、报表)
对照表元素(Lookup Table Elements)——预先使用的对照表元素
报表XML
通过一个专门的缓存匹配算法,MicroStrategy 7i不仅能够对缓存或智能立方体中的组件进行匹配,来能够匹配这些组件的版本(Version)。比如下列一些信息常用来标志一个缓存:
报表ID
模板ID
模板版本ID
过滤器ID
过滤器版本ID
安全过滤器ID
Resolution Objects Content(参数驱动报表的提示答案)
缓存安全
从安全角度看,MicroStrategy 7i的缓存算法使用不同的安全配置来区分用户。这样用户就只能访问被允许访问的缓存数据。MicroStrategy 7i的下列安全特性同样适合于缓存数据:
防火墙
安全过滤器
权限
访问控制列表
自动更新缓存数据
MicriStrategy Intelligence Server无需用户和管理员的干预就能自动更新缓存数据 。报表缓存中的任何对象一旦更新,整个缓存就会自动更新。所以,如果度量的定义一旦改变,不但使用到这个度量的报表,而且这个改变所影响到的其他所有缓存报表都会跟着自动刷新。
另一种时报表缓存保持更新的方法是使用调度计划。管理员可以使报表根据时间或事件触发来缓存。例如,可以在业务闲时,如晚上或周末,自动刷新缓存。
集群服务器之间的缓存同步
当Intelligence Server使用集群时,缓存可以在所有机器上同步,管理员可以选择认为合适的任何地方作为缓存位置。比如,缓存可以放在Intelligence Server机器上,也可以放在独立的机器上。如果一个Intelligence Server节点缓存了一张报表,那么集群上的所有节点都会访问这个缓存。
缓存的优点
Intelligence Server将各种类型的缓存存放在二进制格式、磁盘和内存中。这是为了避免对数据库进行二次查询。缓存机制提供如下优点:
提高吞吐量
用户伸缩性
可以按照调度策略来创建报表缓存
报表显示无需显示缓存中的所有报表对象
减少数据仓库访问请求
降低最终用户的响应时间
更快地返回简单和复杂报表请求
内存缓存,比如智能立方体,使得用户能够以随心所欲的响应速度创建导出型度量、改变列名、切片和切块、分类和其他数据操作。
通过减少数据仓库的处理报表量,缓存机制极大的提高了商务智能系统的伸缩性和性能。
服务器控制
通过对所有数据库交互的单点控制,MicroStrategy Intelligence Server能够控制商务智能系统的几个方面来使系统效率最大化。管理员可以在报表级、项目级和服务器会话级设置控制参数。主要控制如下三个方面:服务器工作量、内存和优先级。
对于服务器工作量,管理员主要控制:
每个项目、用户或会话的最大作业数
数据库连接数
执行作业的最大数目
用户会话的最大数目
用户空闲时间
SQL取消
报表执行的最长时间
内存管理是企业级平台的关键问题,MicroStrategy Intelligence Server通过如下参数控制内存的使用:
报表执行大小
返回行的数目
返回元素的数目
XML单元(Cell)的最大数目
XML钻取路径的最大数目
对象缓存占用的最大内存
报表缓存占用的最大内存
元素缓存占用的最大内存
Intelligence Server进程占用的最大内存
外部进程占用的最大内存
机器空闲内存的最小数量
优先级是保证用户能获得不同级别服务的关键。如果没有这个功能,公司的CEO也不得不等在队列的最后。为了达到则样的优先级,所有的请求必须通过一台中心机器进行路由。MicroStrategy Intelligence Server可以根据以下参数来调整作业优先级:
报表成本
用户组
项目
请求类型
应用类型
MicroStrategy Intelligence Server的其他功能,比如集群、安全管理,将在后续章节中讨论。
报表服务器: MicroStrategy Narrowcast Server
MicroStrategy Narrowcast Server是一个靠近前端的报表服务器,它从MicroStrategy Intelligence Server收集并格式化信息,然后通过电子邮件或无线设备发布到其它用户。Narrowcast Server还可以从其它非MicroStrategy以及非关系型数据源(比如SAP BW、 Essbase,、Excel files 和 Web站点等)收集和组合信息。另外还有一个直观的、自助式的、基于Web的订阅门户,它允许用户指定想要的信息,以及在何时接收这些信息。
MicroStrategy Narrowcast Server的设计原则如下:
以自动方式提供向各种设备自动分发的能力
用户可以设置参数来指定接收信息的时间、设备及安全控制
既可以通过集中管理员控制也可以通过用户自订阅来控制信息的分发
支持几百万的用户以及每天几十万的消息量
支持计划信息分发和基于事件的信息分发
支持客户化应用程序开发,因此Narrowcast Server可以用来作为客户化的“广播”应用程序的基础
架构和工作流
Narrowcast Server由三个主要的部件组成—一个元数据资料库、一个订阅门户和一个分发引擎,这构成了一个个性化的、具有前端信息分发和告警能力的分发设备。
元数据存贮了所有的关于服务和订阅的信息,元数据库中维护的分发对象在第3章有描述。
分发引擎用来创建、格式化、传输和管理消息。分发引擎由下面一些部件组成:
分区管理—确定何时必须执行一个服务,分配执行引擎,执行服务请求队列以及提供失败恢复支持等
执行引擎—确定服务定义、信息订阅以及操作服务执行
信息源模型—从各种不同数据源获取信息
格式化模型—为分发而格式化数据到适合的设备
信息传输模型—使用适当的协议传输格式化过的数据
管理员—提供一个统一的控制台来管理分发引擎和服务创建工作
日志记录—记录关于服务执行过程的每一步日志信息
订阅门户用来收集用户配置文档和参数,以便可以个性化消息。订阅门户由下面一些部件组成:
订阅门户—使用户可以在Web界面上访问信息以及申请服务
订阅站点设计—定义了一个基于Web的订阅门户,使用户可以自订阅来分发服务
订阅引擎—与订阅门户和元数据库一起工作,使用户可以创建和修改用户订阅、地址和配置文档
下图描述了MicroStrategy Narrowcast Server架构的一个简单版本,它包括一些部件用来:
创建和存贮服务
允许对这些服务的管理和自订阅
收集、格式化和分发内容到用户
图 6 1 MicroStrategy Narrowcast Server架构和查询流
MicroStrategy Narrowcast Server中每一个部件都担当一个角色,用来创建、格式化和分发服务到订户。通常工作流情况如下:
Narrowcast Server管理员创建存贮在元数据库中的分发服务(包括发布和时间表)。
如果管理员想为分发服务启动基于Web的自定义方式,他或她可用Subscription Site Designer设计一个订阅门户。Web页面定义、用户可用的服务列表以及每一服务的个性化设置都存贮在元数据库中。
管理员为用户订阅分发服务,或者,如果Subscription Portal存在,用户自己来订阅分发服务。
Distribution Manager周期性地检查元数据库来确定是否需要执行某些服务。
如果Distribution Manager发现某个分发服务将要运行,它把该服务的辨识信息给Execution Engine。
Execution Engine获取服务定义和订阅该服务的用户信息。
Execution Engine启动Information Source Module来收集该服务的数据信息。
数据信息可能来自关系型数据库、文本文件或其它系统。
Execution Engine启动Formatting Module来为每一收件人或一组收件人格式化数据。格式依赖于接收信息的服务的类型(即呼机、移动电话或电子邮件)。
Execution Engine启动Information Transmission Module来以适当的协议传输格式化的信息到接收设备。
Information Transmission Module使用SMTP、SMS或其它协议发送格式化的服务到指定的接收者。
该过程的每一步信息都存贮在日志文件中(在图中没有标出)。
服务创建
Narrowcast Server管理员用第3章(元数据)中描述的分发对象来创建服务。所有定义的服务存贮在元数据库中。定义的服务是由消息、接收者信息、分发信息和时间表信息组成的。
图 6 2 MicroStrategy Narrowcast Administrator为创建服务提供一个直观的Service Wizard
图6-2中的Service Wizard引导服务设计者输入所需的信息,只用简单的三步就可以成功创建一个服务:
选择分发方法
电子邮件(SMTP)
Web门户
无线设备(移动电话、呼机、使用SMTP的PDA)
SMS设备(SMPP)
定义消息内容
主题
消息体
称呼
文本
报表
附件
Excel文件
来自文本文件、Internet、OLTP系统的非关系型内容
选择用户和分发时间表
地址
时间表
时间
事件
告警
预订和订阅门户
服务创建之后,用户使用下面五个方法之一来订阅这些服务:
管理员执行批装载预订信息。
管理员手工为用户订阅服务。
用户自己使用简单的订阅门户订阅服务。
用户自己使用MicroStrategy Web界面来订阅服务。
用户使用MicroStrategy Web界面为别人订阅服务。
对于前两个方法,管理员可以用Narrowcast Administrator来为用户订阅。
使用图6-3中的Subscription Portal可以实现用户自预订。管理员使用一个叫做Subscription Site Designer的向导来配置该门户。使用Subscription Site Designer,管理员可以指定通过该门户哪一个服务将被发布以及每一服务的哪一个个性化设置将是可用的。管理员还可以客户化门户的界面来适合企业的标准。下图中的门户在左上角显示了企业的标识。
当订户进入订阅门户后,他们可以选择:
他们想要接收的服务(地区盘存报告单)
他们想要接收数据的设备(工作邮箱)
服务传递的时间表或触发条件(每月的第一个周日)
个性化设置,例如想要接收某个特定地区的数据(东北和中部地区)
图 6 3 Subscription Portal使用户可以通过Web浏览器个性化和订阅服务
用户还可以直接通过图6-4中显示的MicroStrategy Web界面来订阅服务。首先,用户将运行一个报表,然后答复提示(个性化)所问的问题,再执行其它额外的分析。分析结束后,用户可以:
计划该报表实现周期性的发送
选择发送的地址
如果需要客户化Subject Line
图 6 4 用户可以通过MicroStrategy Web来预订接收报表或发送这些报表给其它用户
这一方法与订阅门户中为预定义的服务提供信息不同,它是在用户分析结束后预订报表。这两种方法一起就能够满足各种用户的各种需求。
Subscription Portal或MicroStrategy Web中使用的自订阅功能使得系统可以部署得很大,并满足各种不同的用户群体。由于订户自己创建配置文档和参数(与它们的安全配置文档合并在一起),因此管理员的角色就不那么重要了。
Delivery Engine 和 Service Execution
Delivery Engine保证了服务的执行。服务执行有下面几个步骤:
服务准备
内容生成
格式化
分发
服务准备-时间和内容控制
Distribution Manager周期性地扫描元数据库,以检查需要执行的服务。有两种类型的服务分发方式:预定(基于时间)和触发器(基于异常或基于事件)。每种都基于一个时间表来执行。预定的服务总是在执行后分发给它们的订户。触发的服务只在数据中的特定条件满足时才分发。例如,一个触发的服务可以定义为当库存降低到某个指定数量时或当某个客户在30天内产生了超过某个数量的事务时执行。
当Distribution Manager决定需要执行一个服务时,它就把该服务信息传送到Execution Engine。Execution Engine查询元数据资料库来获得信息,这些信息包括服务的定义、接收者、安全配置文件、个性化设置、接收信息的设备等。
Execution Engine还确定了为所有接收者获取报表结果必须运行多少报表。如果一些订户有个性化设置(只有纽约或伦敦的数据),则Execution Engine需要运行不止一个报表,这要看服务的定义。当管理员用个性化选项定义了一个服务,他或她可以选择是个人报表执行还是个性化的分页执行。
对于个人报表执行,将为每一用户按照不同的个性化运行一个单独的报表(即接收纽约数据的为一个报表,接收伦敦数据的为另一个报表)。
对于个性化分页执行,只运行一个报表,但将报表切为不同的部分(即纽约切片和伦敦切片)来发送给不同的用户。
内容生成-从多数据源个性化内容
在Execution Engine确定了为运行服务所需的报表数后,Information Source Module将从一个或多个数据源接收信息。MicroStrategy Narrowcast Server服务内容的常用数据源包括:
MicroStrategy Intelligence Server报表
Web站点
文件服务器
XML数据源
ERP系统
OLTP系统
Excel文件
在内容生成过程中,MicroStrategy Narrowcast Server为每一订户生成个性化的内容。Narrowcast Server把订户的安全配置文件(即只有东北地区数据和市场度量)与其个性化设置和参数结合起来。分发服务使用一个模板来开发,里面包括订阅者名字、电子邮件地址和其它变量的占位符。这些变量在服务执行过程中通过订户的个性化内容设置生成。
为接收设备自动格式化和分发
Formatting Module接收服务内容(个性化的或通用的),并通过XSL把这些信息转换成合适的格式:纯文件、HTML、Excel、WML(为无线设备)或XML。格式化必须为接收数据的设备量身定做。例如,电子邮件服务可以接收包含Excel附件,而呼机却不能。不同的电子邮件客户端可能需要不同的格式,某种呼机设备的字符集可与另一种呼机不同。由于这些原因,对于分发引擎非常重要的一点是识别并支持各种各样的格式需求,以免订户被限制在特定的设备上。Narrowcast Server支持超过200种不同的电子邮件客户端和设备。
格式化之后,Information Transmission Module将内容打包并用合适的协议(依赖于服务要发送的设备)传送该服务。下表显示了MicroStrategy Narrowcast Server分发服务使用的几种常用设备的例子,这些设备也许需要不同的格式以及传输到这些设备所需的协议 。
设备
设备样例
传输协议
电子邮件客户端
Hotmail, Outlook, Yahoo
SMTP
呼机
Motorola, PageNet
PDA
Palm Pilot, Handspring Visor, Compaq iPaq, Blackberry
移动电话
Verizon, Sprint, AT&T Wireless, VoiceStream
SMS
Web浏览器
Internet Explorer, Netscape Navigator
SQL
电话(语音)
Telephone Network
Voice XML
如果传输模块不能满足需要,则灵活开放的Narrowcast Server API可以用来创建客户化的Information Transmission Module。这些API还可以融合新技术、网络和协议来开发新的ITM。
使用模块概念进行扩展
MicroStrategy Narrowcast Server是一个开发的和可扩展的信息分发平台。扩展的基础是完全文档化的Narrowcast Server API和模块概念。模块化可用来从三个方面扩展该分发平台:
Information Source Module使Narrowcast Server管理员可以从多个数据源为Narrowcast服务获取内容。其它的数据源包括SAP BW和其它ERP系统的内容、来自Internet提供者的ICE内容、和非关系型内容(如文本文件和图形)。
Document Formatting Modules使Narrowcast Server可以满足当前还不支持的新消息格式化需求。例如创建并传输内容到Winzip文件。
Information Transmission Module使得Narrowcast Server可通过当前还不可用的通信协议传送信息。例如对日本IMODE的支持。
MicroStrategy Narrowcast Server包括样例代码和文档,方便了快速地客户模块开发。一旦用Narrowcast Server注册过,这些客户模块就可为所有分发对象使用了。
总结
MicroStrategy Narrowcast Server提供了一个健壮的、可伸缩的、开放的信息分发平台。各种格式的信息可发送给上百万的用户。Narrowcast Server的性能和伸缩性将在后面章节中讨论。
管理
随着商务智能系统数据、用户和应用的不断扩长,管理成为所有成本中重要的一项。商务智能系统的管理需要能很好地完成许多任务,包括:
安装和配置系统
设置用户及其所有安全配置
监视和执行安全策略
监视系统应用情况以防止性能瓶颈
管理项目
评估修改系统后产生的影响
维护一个稳定的、可靠的生产环境
当需要的时候维修故障
有经验的系统管理员用两个主要的标准评估商务智能系统:
可视性—他们是否能访问和跟踪系统性能的每一个关键指标,或者是否只能用“黑箱方式”查看系统。
可控性—他们是否能控制每一个关键参数来调整系统,以此来保持他们拥有独一无二的环境,并保证其稳定性和高性能,即使是在非常差的条件下。
通过把可视性和可控性融合到系统中去来实现这一出众的架构。可视性通过详细而准确的统计、错误日志和诊断程序来体现。可控性通过一系列服务和应用调整功能来体现,这使得管理员既可以通过系统执行也可以基于实时运行来配置系统。
MicroStrategy 7i 管理架构的原则是:
允许完全对商务智能环境的集中管理和配置
允许对系统性能和使用情况进行详细的监视、日志记录和控制。
提供给各种类别的用户执行的各种类型详细控制操作
定义了服务器捕获的详细诊断统计的级别,以供解决问题
提供了关于系统性能实时的和历史的分析,以用于确定趋势和潜在的瓶颈
提供了修改配置后的影响评估以及对应用系统潜在可能的修改
自动化所有重复任务,并允许它们基于时间或事件触发来执行
支持批管理操作来简化系统配置,以及减少人力投入
MicroStrategy 7i 满足所有这些需求,MicroStrategy Intelligence Server,、MicroStrategy Narrowcast Server 和 MicroStrategy Transactor 在在管理功能上担任着自己的角色,MicroStrategy Administrator把它们集中在一起来做商务智能管理。
本一部分在下列一些方面涵盖了MicroStrategy 7i 平台的一些功能:
实时监控
错误日志和诊断文件
历史性能分析
集中管理
总之,MicroStrategy 7i 商务智能系统的管理者可以完全监视和控制系统性能并做出调整。监视和控制是以一种简单易用的方式提供的,并设计的功能强大且时间有效。
实时监视和控制
在任一点上,管理者都可以及时地监视系统的活动情况。MicroStrategy 7i 提供了实时的关于当前MicroStrategy环境中重要活动情况的信息。下面是MicroStrategy Intelligence Server要检查的当前活动的一些功能:
作业监视—查看当前正在执行的作业,包括出错作业
项目监视—查看已经存在的项目以及其状态
用户连接监视—查看活动用户及其会话信息
时间表监视—查看计划安排报表列表以及谁计划了他们
数据库连接监视—查看到元数据和数据仓库的连接
缓存监视—查看报表缓存和缓存到期日期
集群监视—查看集群及其当前活动状态
管理员还可以在他们的监视器中直接执行特定的、相关的任务,包括:
中止作业,停止那些占用系统资源但出错了的作业
维护项目,增加新项目或把当前的项目脱机
中止用户,删除不活动的用户
中止数据库连接来改变当前并发数据库连接数
使缓存过期,使旧报表无效或释放内存
图 7 1 桌面版本Intelligence server administration
除了MicroStrategy 7i 产品系列中可用的监视器,管理员还可以使用Windows Performance Monitor和Windows Event Viewer来获得关于系统性能的其它信息 。这是当前比较流行的方式,且不需要额外的工作。可以在以下的功能方面基于时间或次数来跟踪信息:
MicroStrategy Intelligence Server中当前执行的作业
MicroStrategy Intelligence Server当前连接的用户
MicroStrategy MDX Adapter的统计
图 7 2 在Windows 中监视MicroStrategy 7i 环境
错误日志和诊断文件
日志文件用来记录历史数据,用来进行因果分析和时间分析。MicroStrategy 7i 有各种类型和级别的日志,通过这些详细的数据记录来进行完全的控制。
有多个可用的日志文件使管理员可以分析系统性能。管理员可以设置日志的级别来记录统计数据、错误信息、告警信息或各种信息消息等,这信赖于需要的信息的数量。管理员可以通过Windows NT Event Viewer、日志数据库或是文本文件等多种方式来查看日志信息。管理员可把这些日志用于下面的用途:
作为诊断工具来调整报表环境
作为观测工具来监视当前活动情况
作为错误显示控制台来纠正系统的错误
作为MicroStrategy技术支持来帮助客户及时的、准确的解决问题
关于Narrowcast Server和Transactor的实时信息通过各自的管理界面来查看,并使用存贮在消息日志数据库中的数据。显示的消息可进行过滤以显示特定的消息类型,例如错误日志、执行日志、信息日志和跟踪日志。
企业管理器-历史性能分析
除了用监视器和错误日志查看当前系统状态,MicroStrategy 7i 还为系统使用存贮了历史信息。这些信息保存在统计数据库中。使用这一丰富的系统历史视图,管理员可以快速找出使用方面和性能方面的异常,也许这些异常并不太重要,但会对系统的长期运行产生重要的影响。这种长期影响评估通过Enterprise Manager(MicroStrategy Administrator三部分之一)来实现。
MicroStrategy Administrator的Enterprise Manager使得系统管理员可以分析和使用MicroStrategy 7i 产生的详细日志记录。Enterprise Manager包括一个完全的数据装载程序和几十个内部系统性能和性能调优报表。
Enterprise Manager使用MicroStrategy 7i自己的分析功能来监视和分析由一个或多个MicroStrategy Intelligence Server记录的使用统计信息。MicroStrategy Intelligence Server为每一个服务器、每一用户和每一报表作业记录了用户会话和报表使用统计,并把它们集中存贮在数据库中。这些日志信息包括服务器、用户、报表、元对象、响应时间、处理报表不同阶段所花费的时间、访问数据仓库所涉及的列等。
Enterprise Manager包括了涉及MicroStrategy 7i 环境三个方面的报表:
对象分析-显示了架构和应用对象的详细信息
报表处理过程分析-报表作业响应的分析细节
用户会话分析-使用该系统的用户报表
可以在MicroStrategy Desktop 和 MicroStrategy Web上访问超过40张的报表,它们存贮在MicroStrategy 7i 的元资料库中。还可以增加配合特定的环境来增加其它的报表。大多数报表都是参数化的,以方便灵活定制。例如,大多数报表允许管理员选择分析的时间段(今天、上一星期、上个月等)。这些报表将帮助管理员执行下面的任务:
分析运行趋势,以此来决定是否为系统增加其它的硬件,或其它操作
确定处理瓶颈,例如数据库的线程数
评估修改配置产生的影响和调优策略
确定活动最多的用户
决定运行计划报表的最优时间
确定访问最多的报表,从而来决定哪一个报表需要缓存,以此保证最优性能
下面的例子报表显示了一个随时间变化的报表访问量报告。
图 7 3 Enterprise Manager报表吞吐量报告
集中管理
使用实时监视来确认系统的瓶颈或产生的错误,错误日志和趋势分析是调整系统运转的第一步。管理员必须能够采取正确的动作来更好地控制平台的运转。MicroStrategy 7i 平台有各种各样的工具和程序,可以用来在远端一个控制台管理所有平台环境中的服务器。
有三个主要的可配置方面:
服务器资源-配置硬件资源来分配服务器和服务器部件
Server resources—Configures the hardware resources to allocate to different servers and server components
信息控制-控制每一用户可以处理的作业数量和信息量
Information governing—Controls the number of jobs and the amount of information that can be processed by each user
应用系统管理-管理应用系统环境,从开发到测试,再到产品系统
Application management—Manages the application environment from development to test to production systems
通过群集和集中配置控制来管理服务器资源
一个基于Internet的商务智能平台必须优化其可用的硬件来确保对大规模数据量的大用户量访问时的高性能,同时还要提供失败恢复功能来确保高数据可靠性。MicroStrategy 7i 可以群集部署来保证高容错性和高吞吐量。
群集
集群是一个由两台或多台计算机组成的组合,为一系列的客户端提供服务。集群中的每一台计算机叫做一个节点。使用向导、图形化编辑器或命令行脚本可在集群中添加或删除节点。群集是一种系统配置策略,有以下好处:
高可靠性-群集防止了当失败发生时时间和信息的损失,单点故障在任何时候都不能造成系统的不可用。
高性能-群集使用户可以利用多台计算机的组合处理能力来提高系统性能
高伸缩性-群集使得系统可以不断增长,以满足用户数的增长以及用户需求变得的越来越复杂的需要
简化管理-群集简化了大型的并且快速增长的系统的管理工作
图 7 4 MicroStrategy 7i 平台的群集和失败恢复架构
服务器配置
每一服务器可以单独配置,以便于通过该服务器上的各个不同部件更高效地使用硬件资源。例如Intelligence Server有自动线程平衡功能,它根据使用情况来动态的为不同的报表执行部件分配线程。服务器还控制对MicroStrategy 7i 报表应用系统的访问。使用图形化界面和基于文本的命令行方式可以管理用户和安全配置文档。用户应用权限可以在很细粒度一级进行设置。用户对数据的访问可定制到行和列一级。所有这些设置控制都很简单,包括检查框的选择或运行预定义的脚本,不需要编写任何的客户化代码。
系统管理的另一个关键功能是自动计划执行和创建报表缓存。这使得用户可以直接立即从缓存获取访问频繁的报表。这些计划可以基于时间或基于事件触发来创建。
下表显示了Intelligence Server中可以配置的设置例子。
系统管理和配置
创建从Intelligence Server到数据库的连接
从集群中添加或删除服务器
过期或删除缓存
管理作业请求
设置备份频率
配置内存设置
创建和触发报表计划
用户和安全配置文档管理
创建和管理用户
组织用户成组
分配功能权限给用户和组
分配数据访问权限给用户和组
分配对象访问权限给用户和组
管理到商务智能项目的用户连接
信息管理实现实时处理环境控制
在实现和部署Web商务智能应用系统方面的一个重要方面是对服务器环境能够处理的用户数、作业数和数据量的管理。在MicroStrategy 7i 中,管理员可以设置上限,来防止特殊条件存在时过量的请求。这保证了MicroStrategy 7i 环境中服务器无论何时都能高效运行。
任一节点上的使用系统的用户数都可以进行控制。另外,对于不同组的用户还可以设置不同的优先级。对于那些具有需要立即进行访问进行分析的作业的用户可以设置的比其它用户更高的级别。优先级还可以设置在报表级别上,以此来实现某些报表放在报表队中列其它报表的前面。
这些管理功能可以应用在每一台服务器上,以及由一台服务器管理着的不同报表应用系统上。
下表显示了MicroStrategy Intelligence Server中的多项管理功能。
服务器级别管理功能
可用的内存量
作业请求最大数
用户会话最大数
用户会话闲置最大时间
XML单元格最大数
XML钻取路径最大数
基于作业成本的报表优先级
基于用户组的报表优先级
基于项目的报表优先级
基于请求类型的报表优先级
基于请求应用的报表优先级
SQL超时时间
应用程序级别管理功能
报表最大执行时间
Maximum number of report results retrieved
可获得报表结果最大值
Maximum number of elements retrieved
可获得元素最大值
可获得的即时结果最大值
每用户最大值作业请求数
每会话最大作业请求数
每应用程序最大作业请求数
每应用程序最大用户会话数
每报表SQL超时时间
Command Manager
MicroStrategy Administrator使用Command Manager部件来简化管理工作量。有经验的系统管理员喜欢用功能强大的脚本和命令行方式来设置和维护IT环境。大型企业级部署将会拥有几万的最终用户,并需要对这些用户持续的维护。MicroStrategy 7i 平台开放了关键管理功能,并且可以用脚本方式来进行控制,无论是在命令行方式下还是在图形界面中。这些命令在批操作中尤其有用,比如管理用户和安全配置文档。系统管理员因此可以通过为这些能用操作创建和重用脚本来获得高效率。脚本还具有在系统中记录安装和维护活动日志的优点。
Command Manager具有一套命令来执行下面几种类型的任务:
启动和停止服务器
配置服务器参数
向集群中添加服务器
添加或删除用户和用户组
授予或剥夺用户权限
为用户和组应用安全过滤器
更改安全角色和用户配置文档
删除作业
列出作业
闲置、恢复或注册项目
定义数据库连接和登录
断开用户
过期和删除缓存
触发事件来激活计划报表
更改过滤器或度量定义
所有这些Command Manager命令可以为管理员特定的环境进行修改,并为将来使用存成脚本文件。这些脚本文件使得管理员可以快速简便地修改商务智能系统的配置,并获得基于当前设置和属性的报表。脚本中包含许多不同的命令,它们将按文件中的顺便来执行。Command Manager还支持异步执行。它提供了适应不同管理需求的大量脚本。
应用管理是平滑操作和转换的关键
在IT部署方面最好的建议是IT架构需要分阶段来实现和展示。开发、测试和生产环境都做了清楚的定义并相互分隔开。一个应用系统只有明确地满足了某一特定阶段的目录和需求才允许到下一阶段。为了平滑而快速地从一个阶段转到另一阶段,一个企业级商务智能平台必须提供一套有效的应用开发和管理工具,它们使得应用对象从一个阶段到下一个阶段的转换过程变得清楚而简单。
MicroStrategy 7i 管理工具可以管理多个报表系统和信息分发系统。报表和报表对象首先在开发环境中开发,然后在另一个环境的控制条件下进行测试,最后再部署到生产环境中的最终用户。这一过程在下图中表示。
图 7 5 在MicroStrategy 7i迁移对象
MicroStrategy 7i 的对象管理功能为支持不同环境下的对象迁移而量身定制。用户界面使得这一过程就像在Windows Explorer中拷贝文件那样容易。然而,这种十分简单的过程下面隐藏了流行的面向对象结构中固有的对每一对象集成维护的复杂性。例如,一些对象依赖于其它对象来完成它们的定义。报表依赖于度量、属性、模板和过滤器等。度量依赖于事实、其它过滤器等。由于这些依赖关系,拷贝一个对象(如报表)时,如果不拷贝它所依赖的对象,就不会在目录系统上产生一个有效的对象(报表将不可用)。
MicroStrategy 7i 为了解决这一对象依赖问题,自动定位并迁移该迁移对象所依赖的所有对象。当一个报表从一个环境迁移到另一个环境时,所有该报表使用的模板、过滤器、属性和度量都被迁移。另外,由于这些对象可能还有依赖对象,MicroStrategy 7i 也递归的把所有这些依赖对象也做迁移,直到所有需要的对象都已拷贝为止。
Object Manager
Object Manager用来在Intelligence Server环境中管理对象。通过一个单一的拖拽方式控制台,管理员可以操作事实、属性、层次、度量、过滤器、报表和其它报表对象。管理员可以快速而准确地从一个开发环境到一个生产环境执行像移动、拷贝、删除对象这样的操作,同时还允许在用户间共享对象。Object Manager还有强大的搜索功能。
Object Manager还允许管理员进行对象依赖分析,以确定对MicroStrategy对象做了修改后将会产生的影响。例如,如果一个度量(度量A)的定义更改了,管理员可以很容易地通过单击按钮来查看其父(报表、过滤器和其它度量)和子(事实、过滤器和其它对象)对象。使用这一功能,管理员可以查看修改度量A后产生影响的所有报表、度量、过滤器、模板和文档。使用这一信息,管理员可以评估修改度量A后产生的影响,并在更改之前通知所有受影响的用户。影响分析对于项目文档化和为项目更改和升级准确估计所需资源同样具有重要的作用。
在Object Manager中可以执行下面一些任务:
管理报表对象
共享报表对象
拷贝对象并备份
从开发系统到测试系统再到生产系统升级对象
基于名字搜索对象
基于类型搜索对象
基于上次修改搜索对象
基于用户或属主搜索对象
列出依赖的父子对象
该功能在Narrowcast Server Administrator界面中对于信息发布对象同样适用。
系统管理软件集成
系统管理员更喜欢使用自动化软件应用程序常规功能的灵活性。更重要的是,他们更喜欢系统异常处理自动完成,并按照他们定义好的规则。这保证了可预知的、所希望的动作执行,即使是在人工干预不能保证时也是一样,比如在午夜。
使用日志数据库、诊断文件或NT事件查看器,第三方系统管理软件可以无缝地与MicroStrategy 7i 商务智能系统集成,这使得管理员可以以一种自动的闭环方式来调整MicroStrategy 7i 平台的操作。
MicroStrategy 7i 平台两个关键特性使得这一点成为可能。
控制系统中每一功能的能力
通过MicroStrategy SDK或Command Manager脚本以编程方式执行的能力
例如,如果数据仓库上的负载过重,系统管理软件可以检测到它,并自动调整MicroStrategy Intelligence Server打开的连接数来减轻负载。通过Command Manager命令或MicroStrategy 7i的丰富的、开放的API,系统管理软件可以在很细粒度级别上控制Intelligence Server,并执行下面的任务:
闲置Intelligence Server
修改查询控制参数
修改打开的数据库连接数
如果Intelligence Server停止响应则切换到另一个Intelligence Server
删除引起数据仓库瓶颈的作业
所有这些管理功能提供给管理员,使他们可以自动化Intelligence Server配置更新、提高系统可用性以及减少自己的工作负担。
图 7 6 与第三方系统管理软件集成
上图证明了MicroStrategy 7i 商务智能系统如何与其它系统管理软件集成。MicroStrategy Intelligence Server和MicroStrategy Narrowcast Server周期性地记录状态信息到日志数据库、NT Event Monitor或诊断文件中去。系统管理软件监视这些日志文件中的活动记录,确定需要采取动作的时机。当系统管理软件检测到这些时机时,它就相应地用开放的API或命令行来调整Intelligence Server 或 Narrowcast Server的配置。系统管理软件可以最大程度的自动化管理员的响应,并且这也是简化MicroStrategy 7i管理的另外一种方式。
总结
MicroStrategy 7i 的管理功能为商务智能提供了最完整的系统管理环境。MicroStrategy 7i 是业界唯一能保证商务智能应用系统%可用的平台。它包括一系列工具,为开发、部署、监视和维护小、中及企业级系统提供了完整的环境。
闭环商务智能
MicroStrategy Transactor是一个基于Java的服务器,通过这服务器,用户在通过Web报表、e-mail或无线设备查看商务智能信息同时,能够进行工作流处理,从而完成闭环的事务处理。对于Transactor而言,所谓事务是在诸如数据库、ERP或其他遗留系统上执行的动作中的任意异步。
MicroStrategy Transactor的设计原则是:
直接从Web、e-mail、无线报表或警报中接受事务
支持互联网语言和APIs
支持任意长的事务序列
提供编程接口,在Transactor上可以建立自定义的应用
以下两图显示的是包含按钮的MicroStrategy Web报表,允许用户在报表结果的基础上初始化一个事务。单击图8-1中的”Recorder”按钮或选择复选框然后再图8-2中输入合适的量,用户就可以直接从MicroStrategy Web报表上执行一项业务系统中的库存订购任务。MicroStrategy Transactor会接受订购请求,然后执行必要的步骤来从合适的供应商那里订购产品。
图表 8 1 闭环的MicroStrategy Web报表使用“订购”按钮来与MicroStrategy Transactor交互
图表 8 2 闭环MicroStrategy Web报表通过复选框和文本框来与MicroStrategy Transactor交互
通过MicroStrategy Transactor使用闭环报表可以减少应用系统的数目和执行业务处理的时间。使用闭环报表也可以使公司的内部处理和流程标准化,就像上面的库存采购案例。此外,因为MicroStrategy Transactor能够与MicroStrategy Web报表直接集成并使用常规的Web操作模式(文本框、按钮、复选框、下拉框等),无需追加对最终用户的培训成本。MicroStrategy Transactor可以在任何相近的计算机系统上执行事务处理。下列是常见的应用:
订购产品
回写数据库
授权电子支付或转账
预测
在内部,Transactor使用XML处理所有的信息和事务。由此,Transactor可以与任何http信息(Web、无线或e-mail信息)和企业信息系统(包括数据库、商务系统、商务智能系统和ERP系统)进行互动。
Transactor架构和工作流
下图描述了MicroStrategy Transactor的架构,主要构件包括:
网关——与用户交互并将客户的处理要求转换为XML格式
通信服务器——处理请求排队,指派事务引擎执行请求并执行负载分配和失败恢复
事务引擎——执行所有的处理步骤
驱动程序——与外部系统通信,包括数据库、遗留系统和ERP系统
日志程序——记录执行过程中的每一步的详细信息
管理控制台——管理和监视所有的闭环处理系统
事务设计器——通过一个简单的图形界面设计事务工作流
图表 8 3 MicroStrategy Transactor 查询流程
用户通过e-mail或Web网页接收到带有动作内容的报表,用户在报表上输入必要的信息,然后奠基报表上的“提交”按钮,MicroStrategy Transactor的网关层接收请求然后将它转换为纯XML数据。
通信服务接收请求并将处理请求排队。XML数据中包含了标识交易的信息以及执行此事务必须的各种参数。
事务引擎将请求和XML信息从通信服务器中取出。
如果事务定义没有缓存,事务引擎就从元数据资料库中提取事务定义。这种元数据定义包含一个用于描述执行事务所需步骤的XML文件。
事务引擎在XML信息上执行任何所需的XSL转换。
使用XML元数据定义,事务引擎可以获得任何所需的驱动程序。Transactor有一个用于与数据库交互的数据库驱动,一个用于与企业应用集成(EAI)或中间件交互的Java Messaging Service驱动,一个用于创建自定义驱动的Java API。
事务引擎使用这些驱动程序来执行事务的每一步。
事务引擎直到、监控、评估整个事务处理过程的每一步。
事务引擎通过通信服务器与最终用户保持联系。事务引擎能够将数据放在通信服务器中供最终用户使用,一旦事务处理完成,事务引擎会产生一个日志信息并把它送到通信服务器中。
通信服务器将交互信息或事务完成信息传递给网关。
网关负责维护与最终用户的会话。这样最终用户可以在事务处理过程中随时提供辅助信息,而且也可以(虽然不是必须)将事务完成信息传回给最终用户。
日志程序提取日志信息。
日志程序将事务处理的每一步的信息,比如错误、警告、成功完成等,记录进数据库。
虽然只需要一个事务引擎,但是多事务引擎——尤其是在并行机上——能提供伸缩性、负载分配、失败恢复支持。如果一个事务引擎停止工作,通信层会将正在处理的事务在分配到另一台事务引擎上进行处理。
Transactor的另两个重要的组件是管理控制台和事务设计器。管理控制台提供监测和控制功能,比如:
实时查看事务引擎的状态
在事务处理过程中监测系统活动
查看操作历史,以使问题能标识和解决
控制事务引擎中的操作
配置Transactor系统组件、安全、事务、时间日志功能。
事务设计器是一个允许设计人员进行事务定义、测试和存储的图形用户界面。
事务工作流模型
在MicroStrategy Transactor中,一个事务就是完成完成一个动作所需要的任何任务或工作。Transactor将这种任务模型化为一系列步骤的逻辑流。图8-4所示的事务是这样一个例子:从报表中提取数据,在数据库和OLTP系统上进行核查,然后做必要的修改。
图表 8 4 MicroStrategy Transactor设计和执行一个基于Petri网模型的工作流
Petri网模型使用三个关键元素来描述某点上的工作流和动作。
状态(Place)——状态是工作流上的某些点,用于保存事务数据。它可以是“是”或“否”。
转换(Transition)——转换是事务处理中的某一步,完成某项具体的工作。它可以是与用户或驱动程序的交互,也可以只是一个XSL转换。
弧(Arc)——弧用于连接地点和转换来定义逻辑流。弧也可以根据先前的状态选择逻辑的路径从而做出决策。
这样的模型能够提供足够的灵活性来解决最简单或最复杂的任务。图8-5显示了四种不同的工作流类型:
串行(Sequential)——一个步骤处理完之后才能执行另一个步骤
并行(Parallel)——两个或更多个逻辑分支可以并发执行
条件(Conditional)——多个分支中哪一个能够执行取决于前一步的状态
汇集(Resolution)——一旦各分支都汇集到某一状态,只有当所有的分支都成功完成,事务处理才能继续进行
图表 8 5对于大多数工作流步骤,用并行和串行就可以描述足够复杂的应用
事务设计器
在任何事务处理前,开发人员必须使用事务设计器(Transaction Designer)设计事务。使用事务设计器,用户可以以图形方式创建各种步骤(图8-6),包括在并行或条件模式下的步骤。事务设计器将这种图形工作流翻译为XML定义,并存储在元数据资料库中。针对每一个状态、转换和弧,开发人员都可以通过事务设计器调用合适的驱动程序、做必要的数据转换、比较值、或对状态置“是”或“否”。
图表 8 6事务设计器中的两个简单的工作流模型
开发人员可以根据业务需要将事务流程设计的足够简单或复杂,但即使是对于最简单的事务,开发人员也必须设置断点或握手来校验每一步的完整性。
Transactor的架构还包括了一些选们用来增强闭环系统的伸缩性、安全性和可靠性的特性。这些特性将在后续章节中论述。
安全性
越来越多的企业正在使用Internet来高效地、低成本的分发信息、产品和服务。这些企业同时必须保护好他们的信息,以避免一些潜在的安全方面的威胁,比如未授权用户访问、篡改数据以及数据泄露。一个真正安全的商务智能系统必须具有多层安全保护,仅在商务智能平台进行安全控制是不够的,因为可以有多个点访问数据仓库。下面列出了一些安全产品和方法,但绝不仅限于这些:
入侵检测软件
防病毒软件
防火墙和代理服务器
认证机制
到数据仓库的连接控制
数据仓库的安全视图
特定应用系统安全性
用应用系统的功能进行控制
报表单元格级的安全控制
加密存储和传输
MicroStrategy 7i 平台与所有这些安全手段无缝集成,并且还包括自己的一些安全控制手段。本章将介绍MicroStrategy 7i 安全性的五个主要方面:
用户认证与授权
应用系统功能案例性
访问控制列表
数据安全性
Internet架构和传输安全性
这五个方面组合起来在商务智能平台的每个结构层次上都提供了全面的安全保障。
图 9 1 安全性必须在整个架构的每一处实现
用户认证和授权
MicroStrategy 7i m为该平台中的每一授权用户维护一个配置文件。这些配置文件可通过GUI界面或脚本创建,并可与Windows NT或LDAP用户直接同步起来。当用户试图登录系统时,会提示他输入口令。该口令用来在下面任一系统中认证用户:
MicroStrategy 7i maintains a profile for each authorized user of the platform. These profiles can be created using a GUI, scripts or synchronized directly with Windows NT or LDAP users. When a user attempts to log in to the system, she is prompted for a password. This password is used to authenticate the user in any of the following systems:
MicroStrategy 7i 用户资料库
MicroStrategy 7i user repository
NT安全性
NT security
Windows活动目录
Windows Active Directory
轻目录访问协议(LDAP)
Lightweight Directory Access Protocol (LDAP)
数据库安全性
Database security
自定义安全插件
Customized security plug-in
自定义安全插件选项使管理员可以使用任意其它正在使用的认证机制。与NT安全性或LDAP的集成使用户可以一次登录就能访问网络和MicroStrategy 7i 平台。这种一次登录功能简化了管理,并且能很好的与其它企业软件系统集成。其它认证技术(比如数字证书)可以透明地应用到MicroStrategy 7i 平台中。
应用功能权限
用户可分为多种类型,从临时用户到全功能用户,这要看他们混合的级别。一些用户可能只有基本的格式化和排序功能,而全功能分析人员可能需要创建他们自己的分析。管理员需要详细的监控和管理功能。MicroStrategy 7i 使用权限来分配详细的功能给每一用户或用户组。
图 9 2 给用户分配权限的图形界面
下表列出了可以授给用户的一些功能。这些功能既可以在Desktop上,也可以在Web上使用。
最终用户功能
开发功能
管理控制
改变个人参数
创建度量
计划管理任务
搜索对象
编辑复合型
监控缓存
打印
编辑自定义组
管理缓存
计划执行报表
编辑数据集市
监控集群
计划执行电子邮件
编辑文档
管理集群
即时电子邮件报表
保存自定义格式
监控数据库连接
导出
更改报表数据选项
编辑数据库实例
格式化栅格
查看对象浏览器
监控作业
格式化图表
更改栅格选项
监控项目
透视表
创建配置对象
管理时间表
下钻
创建新目录
监控时间表
任意钻取
创建属性
监控用户连接
在度量上钻取
创建层次
管理用户
排序
编辑框架对象
管理Web选项
在报表上分页
创建新报表
管理安全性
查看历史记录列表(收件箱)
创建模板
增加报表到历史记录列表
创建过滤器
删除对象
重命名列
在选集上过滤
更改属性显示方式
查看报表详细内容
查看报表SQL
保存到“我的报表”目录
保存到“共享报表”目录
使用并发执行
创建导出计算
修改分类汇总
增加报表对象到模板
编辑报表过滤器
编辑整个报表
配置工具栏
修改查询过滤器
从数据仓库刷新数据
这些权限可以用图9-2所示的图形界面分配给用户或用户组。还可以用Command Manager(是MicroStrategy Administrator中基于文本的脚本管理工具)来完成分配工作。
MicroStrategy 7i 使用安全角色来将一些指定的权限组合分组。安全管理员可以创建任意数量的自定义安全角色,并把它们分配给用户或用户组。这种角色分配的好处是每一用户可以按照他们熟炼程度来使用这个平台。应用功能安全性使管理员可以节省对于经常使用功能的培训。渐渐的,临时用户可以得到比给予他们更多的权限来创建自己的分析,最终成为高级用户。
访问控制列表
在MicroStrategy 7i中对每一对象(包括报表、模板、过滤器和度量)的访问由访问控制列表(ACL)控制。ACL包括两部分:
用户和/或用户组
赋予用户的权限
赋予的权限包括:
浏览
使用
执行
读
写
删除
控制
图 9 3 管理ACL的例子
ACL有一个强制功能,虽然一个报表包含五个度量,每个度量的ACL可以控制一个用户是否可以查看报表中的该度量。因此,开发者可以尽量少的创建报表。另外,可以给不同用户不同的访问权限,使他们只能访问完全不同的框架子集和应用系统对象。例如,仅限制企业开支度量给会计和财务部门的用户。ACL还可用来控制钻取功能,因此一些用户可以钻取到更详细的信息,而其它用户则不能。
数据安全性
从数据库角度来看,限制必须能够应用在表、行和列上。如果所有这三个都满足了,就可以实现单元格一级的数据安全性。第3章中描述了如何在MicroStrategy 7i中用表、事实表和属性对象表示数据库中的表和列。通过对这些表、事实表和属性对象的访问控制列表,管理员可以有效地控制对指定表和列的访问。
实现行级安全性有两种方法:数据库安全视图和MicroStrategy 7i 安全过滤器。数据库视图在它们的定义中使用了一个用户ID,这个用户ID从数据库连接信息中获取,它在用户请求数据信息时用来限制可用的行。数据库视图的好处是提供了行级安全性,而不管用户是如何访问数据库的。一旦数据库管理员定义了该安全视图,所有的访问该数据库的查询工具都会使用这个视图。视图最大的缺点是性能会大大下降,因为视图需要在运行时执行。MicroStrategy 7i 安全视图通过在生成的SQL中嵌入行级安全性来避免性能下降。
安全过滤器
MicroStrategy 7i 使用过滤器对象在报表中定义行级限制。这些过滤器对象在第3章中有详细说明。同一过滤器对象可以定义那些特定用户或用户组访问的行。使用该方法的优势是所有MicroStrategy 7i 可用的混合过滤器都可以用来进行行级安全控制。
举一个例子,某个东北区经理,她在2002年从南方调到东北,仅需要访问上一年的东北和南方的所有数据。图9-4显示了如何为该东北区经理应用这个复杂安全过滤器。这个安全过滤器的结果是,该东北区经理请求的任何数据都仅限在上一年的东北区和南方区。MicroStrategy Intelligence Server用这一过滤器信息生成相应的SQL,并把它嵌入在WHERE子句中。
图 9 4 为东北区经理应用安全过滤器,报表的结果SQL 包含了过滤器条件
Internet架构和传输安全性
作为一个基于Web的报表和分析平台,MicroStrategy 7i 在两个方面满足迫切的Internet安全需要。通过以三代多层结构作为基础,MicroStrategy 7i 遵守了几乎所有的可接受的安全架构标准。通过遵守开放标准,MicroStrategy 7i 可以无缝地与飞速发展的Internet安全解决方案集成。
第三代多层结构
经过几年的发展,Internet组织现在意识到了为了高度安全性需要一种特定架构。MicroStrategy 7i 使用一个一流的架构设计满足了所有这些需求,并用了两个非军事区(DMZ)来优化该架构。第一个DMZ为数据提供者提供保护,第二个DMZ保证了数据使用者的安全性。第二个DMZ也许不能应用在内部网应用中,但在外部应用中却是非常重要的选择。外网用户通常通过自己公司的防火墙访问Internet,因此,他们接收信息的过程就跨越了两个不同的防火墙。
MicroStrategy 7i的多层架构支持所有Internet安全性,如下所示:
单独的应用服务器管理数据库连接。一个有效的DMZ的特点并不仅仅表现在两个防火墙,同样重要的是访问数据库的部件位于两个防火墙后。在这样的配置中,即使黑客进入了Web服务器,也不能访问数据库。MicroStrategy Intelligence Server是应用服务器,同时也是唯一访问数据库的部件,它位于两个防火墙后面,而MicroStrategy Web产品则位于两个防火墙之间(见图9-1)
数据访问的单端口控制。防火墙通过限制哪个应用系统有权限访问特定计算机网络端口来保护企业信息资源。要充分利用这一优点,基于Web的应用系统必须能进行具体的端口访问控制。MicroStrategy Web允许管理员配置哪一端口用来进行数据访问。结果是,入侵端口扫描可被防火墙封锁,同时还允许用户访问关键的商务信息。
无外部远程过程调用(RPC)或远程方法调用(RMI)。RPC和RMI是很危险的,因为它们允许黑客访问和控制远程的、分布的计算机处理过程。更重要的是,这些调用常常是匿名的登录和访问,并且通过必须被防火墙开放的单独的端口。这一匿名访问使得黑客们逃避了防火墙对他们的身份验证,他们能够通过这些附加的端口进行访问。RPC和RMI调用对于使用ActiveX或Java小程序的应用系统来说是很大的麻烦,因为这些Java小程序生成了另外的后台调用。
无需下载Java小程序,它们常常被最终用户的防火墙截取。要访问外网商务智能应用的商务伙伴和客户通常必须先通过自己公司防火墙的安全性检查。很多公司的防火墙总是禁止一切外来的ActiveX或Java小程序,这是一种很标准的安全防范方法。不像其它产品需要使用Java小程序或下载编译过的代码,MicroStrategy 7i 仅使用HTML或DHTML。这种无需下载代码的真正瘦客户端方式使得用户不必再想法设法去绕过公司防火墙。
数据加密和传输
由于用户通过Internet访问企业商务信息,MicroStrategy 7i 在当数据流出系统时给其加密。加密算法可在数据在网上传输或存贮时被用来加密数据。MicroStrategy 7i 使用了下面一些加密协议:
安全套接字层(SSL)――在Internet浏览器和MicroStrategy Web间的通信可用SSL加密。例如,一流的金融服务机构把这一技术用在在线银行服务。有了SSL技术,MicroStrategy 7i 可以无缝地、充分地利用其安全性。
微加密算法(TEA)――报表结果在从Intelligence Server到MicroStrategy Web发送时使用TEA加密。TEA是一个128位的2-way的Feistel密文,它使用了直角代数运算。
RACE Integrity Primitives Evaluation MD-160 (RIPEMD-160)—需要保存的口令使用one-way密码哈希函数RIPEMD-160加密。口令的加密过程在网上传输之前完成,以避免探测器获得口令原文。
可靠性和容错能力
对于为企业每天的决策制定而建造的企业级商务智能系统,高效可用和高度可靠性是非常关键的需求。商务智能对企业的IT信息化建设来说,正越来越成为重要的组成部分。公司必须保证他们的企业级商务智能系统不停工,即24×7的可用性。
在定义一个可靠的、容错性强的商务智能系统方面有几个标准:
该系统必须提供冗余备份,实现无单点故障(no single point of failure)。这通常通过服务器集群实现。
该系统应该有内置的智能,以便某些失败的动作能自动重新执行。
管理员能够快速指出系统的任何错误或瓶颈。
管理员(或某个系统管理软件)能够很容易地(并且理想的、实时的)调整系统配置来解决任何错误或瓶颈问题。
该系统应该与外部监控系统(例如外部系统管理软件)无缝结合,以便不断提供系统状态的输出。
MicroStrategy 7i 通过下面这些方式提供以上的功能:
内置的集群
先进的监控能力以及各种统计信息的收集
适应已改变的条件的能力
群集
群集是指把多台机器组成一个功能单元来工作,它使得各机器可以分担工作负荷,并且当集群中的某台机器失败时提供恢复能力。从外部人员来看,集群是一个单独的逻辑单元,实际的作业在这些服务器上的分布对于外部人员是透明的。应用系统级别和作业级别的失败恢复通过配置集群中的多台机器来实现。当某个硬件或软件出现错误时,用户可以透明的使用集群中的其它硬件或软件。群集还应该有内置的智能来跟踪事务处理过程中的分散的各步骤,以此来保证作业不被停止或被重复,并且当失败发生时能在失败点重新开始该处理。另外,群集还提供了负载均衡和高伸缩能力。这些内容在第5章中有详细介绍。
管理员通过群集或配置备份机器实现商务智能系统的无单点故障(no single point of failure)。下面是商务智能系统中可使用群集的部件:
数据仓库
MicroStrategy Intelligence Server
MicroStrategy Web (和Web server)
MicroStrategy Narrowcast Server
MicroStrategy Transactor
下图表示了头三个部件的群集实现,即数据仓库、MicroStrategy Intelligence Server和 MicroStrategy Web以及Web server。
图 10 1 Web servers(安装了MicroStrategy Web)、MicroStrategy Intelligence Servers 和数据库均可做群集,以为基于Web的查询、报表制作和分析系统提供高可靠性
数据仓库
数据库管理员可以数据仓库一级实现群集。实现的细节要信赖于特定的关系型数据库。
MicroStrategy Intelligence Server
MicroStrategy Intelligence Server是到数据仓库的门户,它为其它的MicroStrategy 7i 产品提供了核心报表功能。因此必须保证Intelligence Server是可用的。由于可能被任一企业级的服务器使用,Intelligence Server必须设计成有本地的群集能力。通过Intelligence Server管理控制台,管理员可以向集群中添加机器,查看集群中所有机器的状态,或从集群中删除机器等。MicroStrategy Intelligence Server为负载均衡和失败恢复自动执行剩下的必需的所有操作。
当客户端(如MicroStrategy Web或MicroStrategy Narrowcast Server)发出一个请求时,该请求被放在Intelligence Server的队列中。在整个集群的所有Intelligence Server中作业队列被共享和同步。报表请求被分配给某一个特定的Intelligence Server。如果该Intelligence Server变得不可用,则请求处理自动地、透明地转移到其它可用的Intelligence Server上。
集中的缓存和对象管理,与中心元数据库和公共数据仓库一起,保证了整个集群环境下的数据集成。所有的Intelligence Server共享一个写到磁盘并且周期性同步的公共报表缓存。同时,他们还共享一个公共元数据库和一个中心级的数据仓库。假设他们也做了集群,则将即没有单点故障,又没有单点缓存的或活动的数据源,这保证了持续的数据可用性和集成性。
MicroStrategy Web
MicroStrategy Web由一组在Web服务器上的活动服务器页面(ASP)构成,它提供了报表查看、创建、格式化、操作和订阅功能。Web服务器可用硬件或软件方式进行群集。不管是硬件方式还是软件方式,都是在MicroStrategy Web的多个Web服务器上分配IP请求。这提供了Web报表可用性,以及负载均衡和高伸缩性。
另外,MicroStrategy Web每一Web用户提交的作业都做日志和记录。一旦分配了某个作业的Intelligence Server发生错误,MicroStrategy Web能自动检测到这一错误并重新提交该作业,所有用户指定的报表相关的参数(如提示的输入)也会做为作业的一部分自动提交。整个过程完全对最终用户透明,并且不需要手工干预。
MicroStrategy Narrowcast Server
MicroStrategy Narrowcast Server,和MicroStrategy Intelligence Server一样,也完全在部件级冗余,以此来保证没有服务消息传送失败或重复。MicroStrategy Narrowcast Server在多个级别上有内置的失败恢复功能:
消息级别上的失败恢复跟踪
重试功能
备份的Distribution Manager
多Execution Engine
Narrowcast Server跟踪每一个性化消息的执行和分配。如果系统以某种方式出了故障,它将能从故障点无损恢复,没有消息被停掉或复制。通过多Execution Engine的配置,每一个Execution Engines都知道分配给其它Execution Engine的传送服务。如果某个Execution Engines出现故障,另一个Execution Engines将自动接过故障引擎上还没有完成的作业。
另外,Narrowcast Server有内置的传送服务重试功能。如果某个必须的外部资源不可用(比如元数据库占用了订阅信息),则Distribution Manager将保持该服务执行,直到外部资源可用,或是服务到期。
管理员还可以指定一个备份的Distribution Manager,它必须安装在与主Distribution Manager不同的机器上。这个备份的机器将持续监视主Distribution Manager的运行,一旦它不再响应请求就自动接管。它使用一个公共的日志文件来决定那个处理被中断了。
图 10 2 在MicroStrategy Narrowcast Server中,备份Distribution Manager可配置为主Distribution Manager不可用时接管其工作
总结一下,管理员可以在单台机器或不同机器上设置多个Execution Engine。Distribution Manager可以通过将传送服务请求分配到不同的Execution Engine上来负载均衡。所有Execution Engine可以在同一机器上或不同的机器上(提高伸缩性)。
MicroStrategy Transactor
要保证MicroStrategy Transactor的可用性和容错性,需要注意以下两个方面:
事务设计
系统配置
事务开发者或设计者可以在事务定义中创建多个检查点和“握手点”,用来指示任务完成情况,以及保证事务成功完成。MicroStrategy Transactor可以将日志信息存入NT事件查看器或日志文件。管理员可以查看它们,或系统管理软件可以自动监视这些消息,并当告警条件满足时向管理员告警。
管理员还可以用多个Transaction Engine来配置MicroStrategy Transactor,尤其是在不同的机器上。这些Transaction Engine将会经常通信,并且如果其中某个停止响应,另外的Transaction Engine会接管并完成它的事务。
图10 3 MicroStrategy Transactor可以在多个群集机器上配置多个Transaction Engine
群集小结
总的来说,在商务智能系统中可在多个级别进行群集,用来把用户与硬件和操作系统的失败隔离开来,以此来保证报表制作、分析、信息发布以及事务执行的正确完成。
监控能力
应用系统的可用性信赖于快速识别和纠正任何错误或瓶颈。所有的MicroStrategy 7i 服务器都提供了丰富的、很详细的事件日志,管理员可以利用日志文件中的这些统计信息来调整系统,或者日志文件可被集成到第三方的系统管理软件中来实现自动调整功能。
另外,MicroStrategy Administrator使得可以监视和分析应用的使用模式和习惯,以便帮助性能调优和资源计划。MicroStrategy Administrator方便了对MicroStrategy 7i 各服务器生成的统计日志的分析,这使得管理员可以依据对数据仓库的使用习惯来分配系统资源。它还使得管理员可以研究高效的聚合、索引和分区策略。
适应条件改变
可靠性的最后一个方面是当条件变化时继续执行的能力,这些变化条件包括对商务智能系统增加的请求,这会造成处理瓶颈。为了避免这一点,平台配置应该可以用手工的或自动的方式按下面的一些机制进行调整:
手工调整(由管理员)
软件的自我调整
与系统管理软件集成
MicroStrategy 7i 平台可以根据对商务智能系统请求的变化而自动分配计算机资源。管理员或系统管理软件都能改变打开的数据库连接数、使服务器空闲或修改报表执行参数。还有很多其它的设置可被用来更详细地控制平台的操作。
总结
MicroStrategy 7i’的本地群集能力、综合的实时监控功能以及适应条件改变能力使得它具有高度可靠性和容错性,这对于保证商务智能系统24×7可用性是非常必要的。
伸缩性和性能
伸缩性是一种在性能没有明显降低的情况下处理大量事务的能力,是重要性不容置疑。在今后的几年中,大多数公司将面临数据和用户数的大量增长。因此,商务智能系统应该应付处理下面几种情况:
增长的表数
增长的数据
成千上万的用户
伸缩性与对性能的要求紧密相关。随着数据量向TB级发展以及出现上百万的潜在用户,而系统性能不能降低是至关重要的。虽然商务智能系统可能一开始不能达到这种规模,但为将来未知的环境做好准备是明智的。
数据伸缩性
公司正在为他们的数据仓库收集不断增长的大量数据。为了满足商务需求,比如不断增长的面向客户的信息收集和从Web服务器日志分析数据的能力,像Yahoo这样的公司会在不到一个星期里收集一个TB的数据。数据仓库和商务智能系统必须为处理增长的数据表和迅速增长的数据做好准备。
许多处理数据增长的策略依赖于关系型数据库,例如:
动态索引
分区
可变表
线索
由于其独一无二的ROLAP方法,MicroStrategy 7i 可以与所有这些数据库驱动的策略无缝结合来工作,即使在超大量数据上也可提供快速的响应时间。另外,还有一些Intelligence Server固有的特性,可以生成高效的SQL来最小化查询响应时间。例如:
超大型数据(VLDB)属性
大量并行处理语法
聚合导航
SQL优化
企业为数据库系统投入了大量资金。The MicroStrategy 7i 结构通过VLDB属性充分利用这些已有投资。VLDB属性是MicroStrategy Intelligence Server用来生成SQL的方法。使用这些VLDB属性,MicroStrategy Intelligence Server可以适应当前的环境,并且增强每一个数据库平台固有的功能。
每一种主要的关系型数据库都有一些设计用来优化查询性能的特性。数据库优化器,作为数据库最重要的部件之一,就是用来满足这些特性。应用了这些特性的哪怕对SQL很小的改动都会产生性能上的巨大改观。例如,支持导出表的数据库能实现比普通的SQL高300%的性能增长。MicroStrategy Intelligence Server有内置的逻辑可以为每一种主要的关系型数据库生成优化的SQL,而不是生成普通的SQL。
VLDB属性根据不同的数据库平台,可以修改SQL的语法和处理过程。这些先进的VLDB属性提供了为所有主要的关系型数据库平台的优化能力。例如,“导出表”是表组设置中的一个设置。下面的例子SQL是“某指定国家在1998年5月的前10名客户”的查询,显示了当“导出表”功能开关打开时两个不同SQL语句的情况。在这个例子中,应用了导出表后响应时间提高了190%。
图 11 1 当“导出表”功能开关打开时生成不同的SQL语句
VLDB属性的类型
缺省的VLDB属性基于不同的数据库平台在一开始时装载。然而,管理员可以通过GUI很容易地配置这些VLDB属性。管理员还可以在改变设置时预览SQL 。下面是这些设置的一些例子:
数据类型转换
连接选项,例如星型连接和全外键连接
度量计算选项,例如何时为NULL和ZERO做检查
前和后SQL语句
查询优化,例如子查询和驱动表
表类型,例如临时表或导出表
表 11 2 超大数据库属性
VLDB属性级别
VLDB属性可以您的商务智能环境中的不同级别进行设置。在下面的级别列表中,报表级别具有最高优先级,而Intelligence Server级别最低:
Intelligence Server会话
项目级别
度量
模板
报表级别
VLDB属性更新
当数据库提供商增加新功能而升级他们的数据库时,例如增加了新的分析函数,管理员可以很容易的更新VLDB属性。MicroStrategy 7i 提供了新的VLDB属性文件来反映增加的功能。管理员简单的通过把旧文件换文件来使其起作用。
大量的并行语法
随着数据量的增加,管理员可能想通过多数据库节点来分区数据,以便分布处理。MPP(大量信息并行处理机)系统的作用是确保这些独立节点上的数据能协同定位。MicroStrategy Intelligence Server的解决该问题的办法是通过生成适当的分区SQL语法来保证每一数据库节点上的数据处理。管理员可以指定哪一列要分区。由于数据是通过指定“partitioning keys<”在节点间分布的,MicroStrategy Intelligence Server允许管理员指定这些关键词以及在生成的SQL语句中出现的顺序。分区SQL语法不是由开发员硬编码生成的,而是动态生成的。因此,所有用户都可从中获益,不管他们运行哪一个报表,并且可以避免管理员为新的数据查询维护硬编码的SQL语句。
聚合导航
MicroStrategy 7i 还有智能的聚合导航功能。管理员可以根据需要创建任意的聚合表。一旦这些表包含在项目中,Intelligence Server就会为生成的报表评估代价,并智能的为查询选择最合适的聚合表。表选择的依据主要是大小和相关的数据。
任一伸缩系统都必须充分利用应用系统中的每一个部件的功能。VLDB属性、大量并行语法和智能聚合导航确保了数据仓库(企业投资的最主要部件)的作用最大化。企业可以利用MicroStrategy的这些优点来设计和创建他们的应用系统,并继续充分利用每一数据库的优势来优化性能和伸缩性。
创建预定的汇总表
大多数商务智能用户第一次都会查看一些汇总级的信息,如“本地区按产品汇总的销售额”。他们期望当查看这些汇总级的数据时能获得较好的性能。然而,管理员不能为所有用户请求对数据进行所有可能的事先聚合汇总。使用MicroStrategy 7i,管理员能动态生成有较好性能的聚合表。MicroStrategy Intelligence Server可以基于时间或基于事件自动地创建新的聚合表或向现有的聚合表中增加数据。这些表同时还可以应用MicroStrategy Intelligence Server中的所有分析功能。
最小化网络通信
MicroStrategy 7i 先进的结构设计可以最小化应用系统的不同部件间的网络通信量。这些网络通信量包括从数据库到MicroStrategy Intelligence Server的数据传送。另外,还最小化了数据库的内部网络通信。MicroStrategy 7i 只通过网络返回用户请求的结果数据集。
用户伸缩性
随着时间的发展,不但是数据仓库的数据量扩大,商务智能用户数也会增长。很多企业在应用系统初步证明成功后,会创建另外的商务智能应用系统,来向满足更多的公司员工。另外一些公司还要将其系统开发给供应商、客户或公众。这种用户量的扩张会降低系统的性能。然而,当向系统中增加用户时有多种最优化系统性能的策略:
群集服务器和负载均衡
缓冲请求
控制分散的部件
保护过载数据库
群集和负载均衡
MicroStrategy 7i 能进行群集部署来负载均衡。负载均衡能在商务智能用户增长时保证每个用户的访问性能。增加的用户分布在多台服务器上,这使得请求处理能同时在多台服务器上执行。另外,群集部署能使企业在开始时只投入较少的服务器,并在用户量增长时增加硬件,以此来保留已有的投资。其结果是,一开始的硬件投资总是被保留,并且性能总是最好的。
MicroStrategy Intelligence Server,、MicroStrategy Narrowcast Server 和Web server,都能进行群集部署,就像在第10章中描述的那样。使用MicroStrategy 7i 的这些产品,通过在多台服务器上动态分配用户请求来实现负载均衡。
群集效率
当通过群集部署服务器来提高性能时需要考虑的另一个因素是群集效率。群集效率是一个指标,表示当硬件改变时综合性能提高的百分比。例如,群集效率为1表示当向一台服务器系统增加另一台服务器时,综合性能提高了100%。群集效率为表示硬件增加100%时,综合性能提高了95%。
基于IBM硬件执行的伸缩性测试,三个Intelligence Servers的平均群集效率大约为1。这表示Intelligence Server的群集基本上一种线性效率。例如,当企业把两个MicroStrategy Intelligence Server放在一起工作时,性能一般会加倍。
性能案例
群集对系统性能有很大的影响。例如,Compaq做了一个Compaq硬件和MicroStrategy 7i的伸缩测试,用了两个Intelligence Server的群集部署,每台服务器都是550 MHz的CPU。这一配置能支持300,000用户,并且平均报表响应时间不到3秒 。
MicroStrategy Narrowcast Server在一小时内可以发送几十万条个人消息。测试中,每台500 MHz的机器能实现每秒每CPU大约发送10条消息,这种线性关系能支持到19台群集的机器,即每天能发送16,000,000条消息。
错误!不能通过编辑域代码创建对象。
图 11 3使用Intelligence Server从数据库抽取个人信息的Narrowcast Server性能情况
MicroStrategy Transactor通过在多个Transaction Engines上自动分布事务请求实现负载均衡。事务基于下面因素有不同的复杂性:
事务需要的系统资源数
事务需要的时间
峰值事务时段的持续时间和发生频率
随着企业中用户数和收集的数据量的增长,性能增加需要增加另外的群集。
缓存
缓存是利用前一用户的动作结果来减少后续用户的查询响应时间。随着商务智能用户数的增长,两个用户请求同一信息的机率也会增加。这些请求包括浏览、运行或创建报表。MicroStrategy 7i 缓存这些请求,以便为后续的用户提高查询效率。这些缓存存贮在硬盘上或内存中。一旦用户请求被缓存,后续的用户可以不用在数据库上执行查询,而直接从这些缓存取回数据。
多级缓存
MicroStrategy Intelligence Server提供了查询流程中多点缓存机制。如第5章中解释的那样,Intelligence Server先检查报表是否被缓存。如果缓存中存在,则Intelligence Server就会从缓存中直接取出并发送给用户。如果不存在,则Intelligence Server在数据库上执行查询并将结果为后续用户缓存下来。Intelligence Server在硬盘上或内存中用二进制格式保留不同类型的缓存,正如前面提到的,这避免了在数据仓库上重新执行查询。
下面列出了在查询流程中Intelligence Server缓存的不同用户请求:
报表
元数据对象
查找表元素
XML报表
MicroStrategy Intelligence Server用二进制格式缓存不同的用户请求。当用户请求同一数据或缓存的子集时从缓存取回数据。如果MicroStrategy Web用户请求报表,则数据必须在传送到Web服务器前格式化成XML格式,另外,MicroStrategy 7i 还用XML格式缓存报表。
在群集和负载均衡配置中,缓存还在群集机器间同步。连接到一个MicroStrategy Intelligence Server的用户可以共享访问存贮在另一个MicroStrategy Intelligence Server上的缓存。
Intelligent CubesTM
当Intelligence Server从数据仓库取回请求的数据时,它会创建Intelligent Cubes。Intelligent Cubes使得用户可以在缓存的数据上执行其它的分析,而不需访问数据仓库。用户还可以在Intelligent Cubes上的数据上创建更多的报表。使用Intelligent Cubes,当用户请求匹配一个缓存的报表或缓存的数据子集时就会从缓存直接取回缓存数据。
结果是,Intelligence Server使用户可以通过自动缓存用户请求实现任意速度的任意查询分析。
图 11 4 MicroStrategy 7i 中的Intelligent CubesTM和多级缓存
使用Intelligent Cubes,用户可以在不用返回到数据仓库去抽取信息,并执行下面的操作:
切片和切块(按页面)
旋转
小计
排序
在报表上添加删除度量
过滤数据从而只显示报表部分结果
钻取
添加导出度量
修改列标题(别名)
在报表视力上添加删除信息
过滤报表缓存结果
格式报表视图
以大纲模式查看
联合
连接缓存
Intelligence Server为了提高性能可以保持到数据库的连接,这消除了由于打开和关闭数据库连接造成的额外开销。
计划缓存
Intelligence Server把计划和缓存结合起来,更加保证了大多数通用报表的良好的性能。管理员可以基于时间或事件触发来计划报表进行缓存。例如,他们可以当负载最小的时候(比如晚上和周未)自动刷新缓存。管理员还可以设置当数据仓库装载数据时自动刷新缓存。另外,管理员可以在服务器会话、项目或报表级别上设置缓存参数。
下图表示了使用Intelligence Server缓存机制后响应时间明显下降的情况,即使是用户数增加时也一样。
图 11 5 当用户增加时,使用各种并发缓存机制降低响应时间
其它的性能优化
内部资源分配
MicroStrategy 7i基于部件的结构实现了伸缩性,并且提高了性能。例如MicroStrategy Intelligence Server,就是由一组部件组成的,每一部件完成一定的功能。例如,SQL Generation Engine部件用来生成SQL,为它分配了一定数量的C++线程或资源,为SQL Generation Engine分配的线程数越多,它可用的资源也就越多。
随着在任意点上及时处理的报表类型不同,对每一部件的要求也会发生变化。例如,当多个用户同时有不同的请求时,SQL Generation Engine上的负载会增加。为了避免这一瓶颈,MicroStrategy Intelligence Server部署了一个先进的资源均衡架构,它包含了一些基于当时需求每一部件可用的动态分配的资源。在该例中,Intelligence Server将会自动分配更多的线程资源给SQL Generation Engine。同时,在该部件不再需要这些线程时,Intelligence Server将会自动收回它们。内部资源的动态均衡机制确保了这些资源的有效利用,并且使MicroStrategy 7i 可以为保持良好的性能进行自动伸缩。
这一自动均衡架构还可以手工来修改。管理员可以通过修改下列参数来提高整个系统的性能。
每一部件的可用的最大、最小线程数
分配给特定部件的任务
特定部件的任务顺序
同一部件的多个实例
例如,带有扩展的后SQL分析的报表环境可能会对Analytical Engine部件带来繁重的压力,这可能会引起瓶颈。然而,管理员可以创建更多的Analytical Engine部件实例,而不是分配更多的线程,这使得Analytical Engine任务可以并行处理。
图 11 6 通过添加Analytical Engine部件来消除性能瓶颈
通过调优应用系统的处理来最优化性能和伸缩性。管理员可以根据需求的变化来适当地调整部件资源,以满足不同的需要。
分页执行个性化
MicroStrategy Narrowcast Server的分页执行个性化模式使一个报表可以为每个订户解析为不同的切片。因此,Narrowcast Server可以传递几千个性化的服务,而又保证了数据仓库的最小负载。分页执行个性化对于个性化报表来说更为有用,一个大报表可以给1,000个用户使用,而不是1,000个不同的报表。这样,可以根据个性化设置选择这个大报表中相应的行发送给相应收件人。
用任意钻取功能实现高效报表操作
任意钻取功能使用户可以同时在整个数据仓库上导航,并执行任意分析。其它的商务智能产品需要用户取回所有条目(如所有地区和所有月)来进行钻取,这增加了网络的通信量和处理的数据量。MicroStrategy 7i 不是用这种方式,其任意钻取功能使用户可以指定要钻取的特定切片。例如,当用户要从一个特定条目钻取到地理信息时,只有该条目的地理信息数据被返回。
增量获取
对于其它的BI工具,当包含几千行数据的报表返回给客户端时,由于网络通信问题,事务处理性能将下降或受限制。比如Yahoo每页显示20条关键字查询返回的链接,尽管找到了30,000条或更多的链接,MicroStrategy 7i只提供20条结果行到一个页面。该数值是由最终用户设置的。这种功能叫做增量获取,即一次只有指定数量的结果行返回给客户端,用户可以单击“下一页”或选择一个页码,来看下一批结果数据。这将减少网络通信量,以提高性能。
使用MicroStrategy 7i,商务智能系统可以根据企业用户量的变化而伸缩,还能使用缓存机制和负载堪称来保持良好的性能。
扩展性和SDK
作为真正的商务智能平台,一个关键特性是要有扩展或为企业特定的、独一无二的需求定制平台的能力。该平台必须提供以各种方式应用内置功能的手段和工具。这意味着它必须是开放的,即通过各种广泛接受的API和编程语言可以访问整个平台的功能。平台的“开放性”还包括丰富的文档,以便开发者能很容易访问和使用这些由各种业界标准的和特定平台的API提供的功能。最后,若要使该平台真正作为应用开发的基础,还要包括开发工具和样例代码。
要满足平台扩展性需求,商务智能平台必须要:
To satisfy the extensibility requirements of a platform, a business intelligence platform must have:
开放的、易使用的API
访问API和平台功能的各种文档
开发工具和样例代码
MicroStrategy 7i满足作为扩展性商务智能平台所需的全部三个条件。在第一部分,我们将简单介绍一下客户化和扩展平台的几种方式,接下来的部分将详细讨论一个可扩展性平台的每一需求。
客户化和扩展的方式
通常在MicroStrategy 7i上执行的客户化和扩展的方式包括下面几种:
基本的Web界面客户化
客户化Web界面和门户集成
与其它工具或系统的数据共享和集成
系统控制或管理
为分销开发带有商标的客户化应用系统或界面
基本的Web界面客户化
MicroStrategy的Web用户界面是用在Web服务器上的活动服务器页面(ASP)产生的HTML来展示的。通过很容易地修改MicroStrategyWeb上的ASP页面,可以实现Web用户界面的基本客户化功能,这包括增加/删除图标或图片、为适应企业需要修改颜色,以及添加到其它公司网站的链接等等。
通过修改客户化的XSL样式文件可以修改报表格式,以此来满足格式化要求。MicroStrategyWeb提供了大量的新式的报表样式文件。
客户化Web界面和门户集成
有些企业需要彻底改变用户界面,而不仅仅是简单的格式和样式的一些修改。通过MicroStrategy SDK,开发者可以直接地或使用助手对象来调用MicroStrategy Web API,以此来访问所需的功能。另外,通过MicroStrategy SDK,使用MicroStrategy’s Portal Integration Kit提供的样例代码和文档,可以把MicroStrategy 7i报表和分析功能嵌入到企业的门户中去
与其它工具或系统的数据共享和集成
每个企业都需要将MicroStrategy 7i生成的分析结果与其它应用系统共享。MicroStrategy 7i可用它的数据集市将报表结果写入数据表中去,无论是使用手工的方式还是计划自动完成,然后连接到该数据库的任何应用系统便可访问该数据表。另外,还可以通过配置MicroStrategy Transactor,将MicroStrategy 7i的报表数据或基于MicroStrategy 7i报表的用户输入值回写到数据库或其它业务系统,例如主机或者ERP系统。
MicroStrategy Narrowcast Server提供了开放的、文档化的API,它使你能创建客户化的模块,用来从包括非关系型的数据库在内各种数据源获取信息,以及把信息传送到各种新型的数据输出设备上去。
MicroStrategy 7i还包括超过150个分析函数 ,它们提供了强大的分析研究功能。有些企业有自己的函数或公式,并且希望能在数据上应用它们,以及在MicroStrategy 7i报表制作和分析过程中使用它们。使用MicroStrategy 7i开放的、扩展的平台,企业能将自己的函数集成到MicroStrategy Intelligence Server的分析引擎中去。
MicroStrategy MDX Adapter为OLAP(ODBO)API使用了OLE DB,以此来与适应ODBO的数据使用者通信。该产品使得适应ODBO的前端工具产品,如Microsoft( Excel,能把MicroStrategy Intelligence Server作为一个多维的数据源来访问。
系统控制或管理
MicroStrategy 7i开放的API包括了大量系统控制和管理的函数,可以通过与客户化系统或第三方系统管理软件集成来使用这些函数。例如,某个企业希望确保所有的智能服务器在数据仓库启动时自动断开所有连接,而在数据仓库启动后又自动自动重新连接。MicroStrategy Intelligence Server开放的API能做到从客户化系统或其它系统管理软件调用这些函数来自动化这些操作。而另一个企业也许希望,当平均响应时间超过某一阈值时临时禁止新的Web用户登录,一旦响应时间低于了该阈值,又能自动允许再次登录。MicroStrategy 7i的详细的登录性能信息(可从Windows Performance Monitor访问)使企业能通过系统管理软件实现这一规则,并通过Performance Monitor跟踪响应时间,然后通过Web服务器进行控制。
为分销开发带有商标的客户化应用系统或界面
MicroStrategy的OEM合作伙伴使用他们的专用技术创建架构在MicroStrategy 7i平台上的客户化应用系统,并将这些应用系统打包,然后以自己产品品牌销售它们。MicroStrategy SDK提供了简单的打包安装程序和运行过程,设计用来帮助嵌入和打包MicroStrategy 7i到任何客户安装程序中。
开放的API集
正如该章介绍中说明的,开放的、易访问的API集是一个真正软件平台的关键组成部分。API或应用编程接口,构成了两种计算机程序间的接口,使他们能在一起工作。开放的API是指公开的、文档化的API。由MicroStrategy 7i提供的开放API包括多个独立的、但又相互关联的API集。
Intelligence Server API作为MicroStrategy SDK的一部分被安装和文档化。
Web API作为MicroStrategy SDK的一部分被安装和文档化。
Narrowcast Server API,包括Subscription API,与MicroStrategy Narrowcast Server一起被安装
MicroStrategy Narrowcast Server
OLAP API的OLE DB是开放的、业界标准的API,被MicroStrategy MDX Adapter用来为OLAP的使用者与OLE DB通信。
Transactor API作为MicroStrategy Transactor的一部分被安装和文档化。
这些API可用来创建新应用系统、补充和客户化MicroStrategy 7i平台的功能,以及嵌入任何这些产品模块的功能到其它应用系统。更明确地说,API可用来实现下列功能:
数据仓库建模
对象管理
应用系统创建
信息获取
报表执行、操作和发布
安全
管理和监控
图 12 1 MicroStrategy 7i产品架构图中开放API的访问
MicroStrategy SDK—Intelligence Server 和 Web APIs
MicroStrategy SDK (Software Development Kit)是使用MicroStrategy 7i商务智能平台开发客户化应用系统的法宝。MicroStrategy SDK包括:
Intelligence Server开放的API集和Web APIs
为开发者准备的文档和参考手册
开发工具,包括样例代码和应用工具
嵌入和打包工具
Intelligence Server API
SDK的基础是Intelligence Server API,它能完成许多应用系统建模和开发方面的工作,包括:
数据仓库模型设计
对象创建与管理
报表执行
结果集操作
应用系统管理和监控
应用系统案例性
Intelligence Server API是用C++实现的,它包括下面一些特性:
完全的线程安全性
面向对象,有超过2,000个文档化的方法和属性
COM开发者能使用任何COM开发语言(如C++,VB,VBA,或Delphi)来开发自己的应用系统
Intelligence Server API通常用来创建32位的、基于Windows的应用系统或用来创建使用和管理MicroStrategy Intelligence Server的程序。然而,如果需要的话,企业还可以用这些API创建完全客户化的Intelligence Server。
Web API
Web API用来创建和客户化与MicroStrategy Intelligence Server 一起工作的Web应用系统,以此把报表制作功能和MicroStrategy 7i 报表的分析功能提供给任何的标准浏览器。为了满足在不同环境下的开发工作,Web API提供两种开发版本:
Web API,COM版本
Web API,Java版本
使用Web API,COM版本,开发者可以创建带有ASP前端界面的、基于Windows的Web应用系统。
COM版本支持下面一些Web服务器和操作系统:
Windows NT SP5以及更高版本
Windows 2000
Microsoft IIS 或者更高版本
Web API的Java版本用Java编写,并且适用于J2EE(Java 2 Enterprise Edition)应用系统。开发者可以开发出在任何环境下运行的Web应用系统,如Unix、Linux、Windows、大型机以及其它。前端包含了JSP(Java Server Pages)生成的HTML页面和servlets。
Java版本支持下面一些Web服务器和操作系统:
IBM AIX
Sun Solaris
IBM Websphere
IPlanet SP3
Apache Web Server
另外,还支持下面的JDK(Java Development Kit):
Sun Microsystems JDK
Sun Microsystems JDK (只用于Windows NT)
IBM JDK AIX
无论是Web API的COM版本还是Java版本,下图描述了其通用结构。
图 12 2 MicroStrategy 7i 通过COM或Java的API提供对MicroStrategy Intelligence Server基于Web的访问
当用户在JSP或ASP页面上提出一个请求时,该请求被发送至客户化的应用系统,在那里该请求被生成XML的描述方式,并传至MicroStrategy Intelligence Server,在后台对请求进行排队和执行,这和其它客户端的请求处理方式是一样的。
MicroStrategy Narrowcast Server API
Narrowcast Server API在MicroStrategy Narrowcast Server安装时被安装,它提供了Narrowcast Server的功能。其包括两部分相关的API集:
Narrowcast Server API是一个基于COM的API集,它提供了内容生成、格式化和发布的功能。
Subscription API是一个基于Java的API集,它提供了订阅的功能。
开发者可以使用Narrowcast Server API创建一个新的信息源模型,Narrowcast Server用它来从个人系统访问和发布内容。这些API还可用来客户化MicroStrategy Narrowcast Server的格式化部件,以此来发布内容到新类型的输出设备,比如新型的寻呼机。Subscription API的用途之一是用来辅助开发客户化的Web应用,这使得用户可以用企业的Web页面,而不是用Narrowcast Server的新型的订阅门户,来订阅Narrowcast Server的服务。
MicroStrategy MDX Adapter 和 OLAP API的OLE DB
MicroStrategy MDX Adapter通过开放的、OLAP(ODBO)API的业界标准的OLE DB提供访问MicroStrategy 7i平台的能力。ODBO API是多维数据提供者和数据访问者之间的通信标准。MDX(多维表达式)是ODBO API的查询语言。很多商务智能和报表工具作为数据访问者支持ODBO API。MicroStrategy MDX Adapter使得MicroStrategy 7i 平台成为多维的数据提供者,无论是针对第三方的商务智能工具,还是针对使用了ODBO API的客户化应用系统。
例如,使用Microsoft( Excel(2000或更高版本)的用户可以使用ODBO API通过Excel的透视表来直接访问MicroStrategy 7i 平台。另外,企业可以创建生成和处理MDX的客户化ODBO应用系统,以及通过MDX Adapter将该应用系统连接到MicroStrategy 7i 平台。ODBO API和MicroStrategy MDX Adapter结合起来使得可以应用第三方报表工具,或用开放的、业界标准的API开发客户化的应用系统。这一优势还进一步应用了MicroStrategy 7i 平台独一无二的分布能力、分析能力和集中管理能力。
MicroStrategy Transactor API
Transactor API可被用来把MicroStrategy Transactor的回写功能和闭环处理功能嵌入到其它的应用系统,如基于Web的报表和分析应用系统。
文档化
正如本章介绍中所提到的,一个开放式平台需要全面综合的文档,以便开发者能高效地创建新应用和修改新功能。MicroStrategy 7i包括几千页的关于各种API方法和属性以及使用方法的文档。这些文档包括:
Intelligence Server的SDK和Web的SDK开发者向导:常用函数
Intelligence Server的SDK开发者向导:扩展函数
Web的SDK开发者向导:Web应用开发
Narrowcast Server SDK向导(在线帮助)
开发参考(客户机-服务器COM API)(在线帮助)
Java Web API助手对象参考(在线帮助)
Java Web API参考(在线帮助)
XML文档设计(客户机-服务器XML API)(在线帮助)
XML Document Layout (Client-server XML API) (online help system)
MDX Adapter语言参考手册(在线帮助)
MDX AdapterODBO属性参考手册(在线帮助)
Transactor开发者向导
文档中相关的内容包括:
连接到项目
浏览项目
运行报表
获取报表结果
钻取报表结果
完全性
提示
开发工具
作为应用系统开发的基础平台还应该包括开发工具,以帮助开发者更快、更有效地创建和部署应用系统。MicroStrategy SDK包含四种形式的开发工具:
样例代码
样例应用系统
助手对象
打包安装程序
样例代码
提供了以下几种语言的可用样例代码:
Java
Visual Basic
VBA
Visual C++
这些样例代码在SDK安装目录下,并且还包括样例应用系统的代码。在SDK文档中也有样例代码。
除了样例代码,还有随MicroStrategy SD一起提供的SDK工作台。该工作台是一个具有完整功能的Web站点,它用JSP和ASP两种环境展示了MicroStrategy 7i 的功能。所有的SDK工作台代码和XML都在都在该Web站点或SDK的安装目录下提供。
MicroStrategy 7i 提供了一个门户集成包,它是MicroStrategy 7i’s SDK的一部分。该包包括样例代码和文档,用来创建从领先的第三方门户产品访问MicroStrategy 7i报表和分析功能的部件和适配器。
样例应用系统
MicroStrategy SDK提供了多个应用系统,用来快速地帮助开发或者管理商务智能环境。例如,XML转换器帮助开发者分析在Web API中使用的XML,它把当前的XML的标签转化成可读的标签。
助手对象API和Web对象API
在基本的WebAPI上,MicroStrategy 7i 还提供了更为广泛的助手对象和Web对象,用以简化常用的功能,比如XML操作。助手对象和Web对象使得开发者可以不用基本的API而直接很容易的访问MicroStrategy 7i 平台功能。Web对象API有一个改良的面向对象的结构,在以MicroStrategy以后的版本中将逐渐淘汰助手对象API,开发者将只能调用Web对象API或基本的WebAPI。
打包安装程序
MicroStrategy SDK提供了简单的打包安装程序和运行过程,设计用来帮助嵌入和打包MicroStrategy 7i到任何客户安装程序中。
框架支持
为当前的数据仓库框架(从星型模型到雪花模型)提供了五个关键特性:
异种列映射
业务层次
属性表格
表达式
维度扩展
异种列映射
数据仓库经常从异种的数据源系统组合信息,结果是,在一个表中用MONTH_ID表示的一个属性可能在另一个表中用MNTH_ID,而在另外一个表中也许更简单,用MON表示。不需要成批导入来标准化这些列名,MicroStrategy 7i可以指定这三个列名用属性Month来表示,MicroStrategy Intelligence Server将在生成SQL和创建连接时考虑到这一平衡问题。
业务层次
商业分析通常需要在所研究数据上执行某条路径上的钻取,这些数据与物理的数据仓库结构也许有一点类似,或者没有任何相同的地方。例如,一个商业分析人员可能需要从一个特定的商店钻到该商店在上个月的增长额。增长数据也许与商店数据存在不同的物理表中,然而MicroStrategy 7i可以定义层次以使用户可以透明的从商店钻到增长额。
属性表格
Month属性也许有多个描述或属性表格,例如,一些用户用“January 2002”表示Month,而另一些用“2002 01”表示,对于把一月作为年未的财务日历来说又会用“2002 12”表示,或者是法语用户的“Janvier 2002”。MicroStrategy 7i允许为每一个属性定义多种格式,这使得用户能看到最适合他们的格式。属性格式甚至允许在报表中添加HTML图片标签,以及在报表上显示图片。
表达式
一般地,商务分析不能仅局限在物理存贮在数据仓库中的数据上,它还应该操作特殊列。考虑一下讨论过的异种列映射的month属性例子,使用MicroStrategy 7i许多内置的函数可将该month属性定义为“MONTH(日期)”。另一个例子是客户的年龄,它最好的定义方式是用数据库函数计算出当前日期和出生日期的差值。不需要改变ETL过程,表达式就允许这样的计算。表达式还可用来定义属性、详细数据、转换和度量。这些表达式在支持任意的可用结构方面提供了无限的功能。
事实表计算
事实表计算可以把某个事实表数据以比它存贮的粒度级别还低的级别用报表显示出来。例如,商务预算可能以“季”粒度级别存贮,但是用户却要以“月”粒度级别将预算报表显示,其实就是每个月的预算是季度的三分之一。如果在数据仓库中生成新的表来表示该数据,则会增加批导入的时间,还会需要额外的存贮空间。在MicroStrategy Architect中可以定义一个事实表计算的元数据,即用“季度预算”/3表示月预算的表达式。
事实表扩展
事实表扩展可以把某个事实表数据以它没有存贮的粒度级别用报表显示出来。例如,某种产品的单位成本可能只随着产品的变化而变化,但在所有的商店都是相同的。要为某个商店计算其总成本,就必须使用在商店级别上存贮的单位成本事实表,即使该事实表并没有在这一级别上存贮。在MicroStrategy Architect上定义的事实表扩展可以在商店级别上计算出单位成本度量,这通过扩展产品级别上的单位成本到该商店销售的特定产品数量来实现。
事实表计算和扩展消除了不必要的数据存贮,并且减少了数据抽取、转换、加载过程所需的时间。如果没有它们,数据仓库就需要额外的数据表来满足某些类型的报表。通过在MicroStrategy 7i中定义事实表计算和扩展,报表的SQL可以生成所需的数据而不是到数据仓库中去获取。
超大数据库 (VLDB) 属性
VLDB属性是一些设置,它使得开发者能客户化由MicroStrategy Intelligence Server生成的SQL。这些设置提供了一种操作SQL连接形式、插入SQL语句、创建表属性的方法,当数据库类别改变时也无需手工改变SQL脚本。通过在VLDB属性窗口中调整SQL语句,开发者修改生成的动态SQL,以及最终的结果集。
实现这些功能的性质是:
优化――利用RDBMS特殊配置来优化将来的查询性能。
灵活性――设置可以用在多个级别上,因此为某一报表提交的SQL也许可以手工与另一个报表的分开。
完全的RDBMS支持――可以很容易的与新RDBMS平台和版本结合,并充分利用它们的优点。
下面是开发者可用的一些VLDB属性的列表。
种类
设置
描述
Indexes
索引
Index PostString
索引后串
在CREATE INDEX语句后追加一个字符串。
Indexes
索引
Index Qualifier
索引限定词
在CREATE和INDEX关键字间插入字符串。
Indexes
索引
Intermediate Table Index
中间表索引
确定是否以及何时为中间表创建索引。
Indexes
索引
Max Columns in Index
索引中最大列数
确定在分区键或索引中包括的最大列数。
Joins
连接
Base Table Join for Template
模板的基础表连接
确定在模板中处理分隔度量的方法。
Joins
连接
Cartesian Join Warning
含迪卡尔积连接警告
当引擎生成包含迪卡尔积连接的报表时采取的动作。
Joins
连接
Star Join
星型连接
控制在与事实表连接中包含哪个查找表。
Joins
连接
Full Outer Join Support
完全外连接支持
指定是否支持完全的外连接。
Joins
连接
Join Type
连接类型
使用的列连接类型。
Joins
连接
Max Tables In Join
连接中最大表数
连接中包含的最大表数
Joins
连接
Max Tables in Join Warning
连接中最大表数告警
当引擎生成超过连接中最大表数的报表时采取的动作。
Joins
连接
Outer Join to Lookup Table
到查找表的外连接
在最后一步执行到查找表的外连接。
Metrics
度量
Absolute Non-Agg Metric Query Type
完全元聚合度量查询类型
处理完全无聚合度量的方法。
Metrics
度量
Compute Non-Agg After Analytics
分析后计算无聚合度量
确定是否在分析引擎前后计算无聚合度量。
Metrics
度量
COUNT Compound Attribute
COUNT混合属性
指定是否支持混合属性的COUNT。
Metrics
度量
COUNT(column) Support
是否支持COUNT(列)
指定是否支持单列上的COUNT,如果不支持,则使用COUNT (*)
Metrics
度量
Metric Join Type
度量连接类型
度量中使用的连接类型
Metrics
度量
Null Check
不检查
指定如何处理没有值的数学操作。
Metrics
度量
Null Display
NULL显示
一到两个用户定义的串(每种NULL值对应一个,用逗号分开),用来在报表中出现NULL值时显示。第一种NULL值来自数据库中的查询结果,第二种来自报表中的交叉表。
Metrics
度量
Separate COUNT DISTINCTs
分散 COUNT DISTINCT
指定是否两个或更多的Count(Distinct)度量被分散到它们自己的SQL中去。
Metrics
度量
Zero Check
除零检查
指定如何处理除数为零的检查。
Pre/Post Statements
前/后生成的语句
Drop Table PostStatement
Drop Table后语句
Drop table语句后的SQL语句。在前面四个语句中的每一个都包含一个单独的SQL语句。最后一个包含有多个用“,”分开的SQL语句。
Pre/Post Statements
前/后生成的语句
Drop Table PreStatement
Drop Table前语句
Drop table语句前的SQL语句。在前面四个语句中的每一个都包含一个单独的SQL语句。最后一个包含有多个用“,”分开的SQL语句。
Pre/Post Statements
前/后生成的语句
Insert MidStatement
Insert中间语句
在多个insert语句间的SQL语句。在前面四个语句中的每一个都包含一个单独的SQL语句。最后一个包含有多个用“,”分开的SQL语句。
Pre/Post Statements
前/后生成的语句
Insert PreStatement
Insert前语句
在仅为创建外在的临时表生成的第一个insert语句前的SQL语句。在前面四个语句中的每一个都包含一个单独的SQL语句。最后一个包含有多个用“,”分开的SQL语句。
Pre/Post Statements
前/后生成的语句
Report PostStatement
报表后语句
在报表块后的SQL语句。在前面四个语句中的每一个都包含一个单独的SQL语句。最后一个包含有多个用“,”分开的SQL语句。
Pre/Post Statements
前/后生成的语句
Report PreStatement
报表前语句
在报表块前的SQL语句。在前面四个语句中的每一个都包含一个单独的SQL语句。最后一个包含有多个用“,”分开的SQL语句。
Pre/Post Statements
前/后生成的语句
Table PostStatement
表后语句
在创建新表并且插入后的SQL语句。在前面四个语句中的每一个都包含一个单独的SQL语句。最后一个包含有多个用“,”分开的SQL语句。
Pre/Post Statements
前/后生成的语句
Table PreStatement
表前语句
在创建新表并且插入前的SQL语句。在前面四个语句中的每一个都包含一个单独的SQL语句。最后一个包含有多个用“,”分开的SQL语句。
Query Optimizations
优化查询
Apply Filter to All Passes
在所有路径上应用过滤器
指定报表过滤器将在哪一条路径上应用。
Query Optimizations
优化查询
Dimensionality Model
维度模型
确定在同一维上对为无父子关系的属性维度替换的方法
Query Optimizations
优化查询
Rank Method
排名方法
确定如何使用排名
Query Optimizations
优化查询
Sub Query Type
子查询类型
在引擎生成SQL时使用的子查询类型
Query Optimizations
优化查询
WHERE Clause Driving Table
WHERE子句驱动表
在WHERE子句中使用的限定表。
Select/Insert
Bulk Insert String
批理insert串
在ODBC调用时是否支持多个insert语句,如果支持,连接多个insert语句的串是什么。
Select/Insert
GROUP BY Non-ID Attribute
GROUP BY无ID属性
对于group by中无ID属性列的处理方法。
Select/Insert
SELECT PostString
SELECT后串
向由引擎生成的所有SELECT语句后添加的字符串,例如,FOR FETCH ONLY
Select/Insert
SQL Hint
SQL提示
SQL提示模式。
Select/Insert
UNION Multiple INSERTs
UNION多INSERT语句
是否union多insert语句。
Tables
表
Attribute ID Constraint
属性ID限制
放置在属性ID表上的列限制。
Tables
表
Commit Level
Commit级别
创建中间表后何时执行commit语句。
Tables
表
Drop Temp Table Method
Drop临时表方法
确定如何以及何时drop中间对象。
Tables
表
Fallback Table Type
回退表类型
当虚拟对象不支持时中间表类型。
Tables
表
Intermediate Table Type
中间表类型
创建的中间(临时)表类型。
Tables
表
Table Creation Type
创建表类型
创建中间表方法。
Tables
表
Table Descriptor
表描述
在“table”后放置的关键词。
Tables
表
Table Option
表选项
位于中间对象名之后的变化的子句。
Tables
表
Table Qualifier
表限定词
在“table”前放置的关键词。
分析函数
基本函数
Average平均值
Mean正值的平均数
Count计数
Sum求和
Maximum最大值
Minimum最小值
Median中间值
Mode出现次数最多的值
Product所有数的乘积
OLAP函数
Running Total累计求和
Running Standard Deviation累计样例标准偏差
Running Standard Deviation of Population累计母体标准偏差
Running Minimum累计最小值
Running Maximum累计最大值
Running Count累计出现次数
Moving Difference行与上一行的移动差值
Moving Maximum移动最大值
Moving Minimum移动最小值
Moving Average移动平均值
Moving Sum移动和
Moving Count移动累计出现次数
Moving Standard Deviation移动样例标准偏差
Moving Standard Deviation of Population移动母体值标准偏差
Last Value in Range在某个范围中的最后一个值
First Value in Range在某个范围中的第一个值
Exponential Weight Moving Average带有幂数的移动平均值
Exponential Weight Running Average带有指数权重的运行时平均值
排名函数
Rank Functions
Rank 排名
Percentile在一个范围值内的某个百分点所表示的值
“N”-Tile将一个值范围均分为N层,返回该值所在的层数
N-tile by Step按某个步速将一个值范围均分为N层,返回该值所在的层数
N-tile by Value按某个值将一个值范围均分为N层,返回该值所在的层数
N-tile by Step and Value按某个步速和某个值将一个值范围均分为N层,返回该值所在的层数
数学函数
Absolute绝对值
A-cosine某个角度的反余弦值
A-cosine hyperbolic某个角度的双曲反余弦值
A-sine某个角度的反正弦值
A-sine hyperbolic某个角度的双曲反正弦值
A-tan某个角度的反正切值
A-tan2某个弧度值角度的反正切值
A-tan hyperbolic某个角度的双曲反正切值
Ceiling大于或等于给定数值的最小整数
Combine
Cosine某个角度的余弦值
Cosine hyperbolic某个角度的双曲余弦值
Degrees将弧度转化为度
Exponent底数为e的幂
Factorial阶乘
Floor小于或等于给定数值的最大整数
Int取整
Ln底数为e的对数
Log数为指定值的对数
Log10底数为10的对数
Mod取余
Power底数为指定值的幂
Quotient商
Radians将度转化为弧度
Randbetween两个指定值间的随机数
Round四舍五入
Sine正弦
Sine hyperbolic双曲正弦
Square Root平方根
Tan正切
Tan hyperbolic双曲正切
Truncate返回给定数的整数部分
统计函数
Standard Deviation标准偏差
Standard Deviation of a Population母体标准偏差
Variance变异数
Variance of a Population母体值差值
Geometric Mean算术平均值
Average Deviation平均差
Kurtosis峰值
Skew偏斜
Beta Distribution贝塔分布
Beta Inverse贝塔反变换
Binomial Distribution Probability二项分布概率
Chi Distribution卡方分配
Chi Inverse卡方反变换
Confidence置信度
Correlation Coefficient相关系数
Covariance协方
Critical Binomial Distribution关键二项分布
Chi Test (Independence)卡方检验(独立)
Cumulative Binomial Distribution累积二项分布
Exponent Distribution指数分布
F-Probability Distribution F概率分布
F-Test F测验
Fisher Transformation Fisher转换
Gamma Distribution Gamma分布
Gamma Inverse Gamma反变换
Gamma Logarithm Gamma对数
Homoscedastic Ttest 同方差的T测验
Heteroscedastic Ttest 异方差的T测验
Hypergeometric Distribution 超几何分布
Intercept Point 三阶交互调变点
Inverse of Lognormal Cumulative Distribution对数累积分布的反变换
Inverse of F Probability Distribution F概率分布的反变换
Inverse of Fisher Fisher反变换
Inverse of the Standard Normal Cumulative Distribution标准正态累积分布的反变换
Inverse of the T-Distribution T分布的反变换
Lognormal Cumulative Distribution 对数累积分布
Mean T-Test 平均T测验
Negative Binomial Distribution 负二项分布
Normal Cumulative Distribution 正态累积分布
Normal Distribution Inverse 逆正态分布
Number of Permutations for a Given Object 给定对象的排列数
Paired T-test 双T测验
Poisson Distribution (Predict Number of Events) 泊松分布(预知事件数)
Pearson Product Moment Correlation Coefficient皮尔森积差相关系数
RSQ (Square of Pearson)倒数的平方根(皮尔森平方)
Slope of Linear Regression 线性回归斜率
STEYX (Standard Error of Predicted “y” Value)回归标准偏差(预知Y值的标准偏差)
Standardize标准化
Standard Normal Cumulative Distribution标准正态累积分布
T-Distribution T分布
Variance Test变异数测验
Weibull Distribution (Reliability Analysis)韦伯分布(可靠度分析)
财务函数
Accrued Interest应收利息
Accrued Interest Maturity到期应收利息
Amount Received at Maturity到期回收量
Bond-equivalent Yield for T-BILL国库券等价收益率
Convert Dollar Price from Fraction to Decimal把美元价格从分数转换为小数
Convert Dollar Price from Decimal to Fraction把美元价格从小数转换为分数
Cumulative Interest Paid on Loan 为贷款支持的累积利息
Cumulative Principal Paid on Loan为贷款支持的累积本金
Depreciation for each Accounting Period会计期折旧
Days In Coupon Period to Settlement Date结算日为前折价券期天数
Days In Coupon Period with Settlement Date结算日为后折价券期天数
Days from Settlement Date to Next Coupon从结算日到下一个折价券期天数
Double-Declining Balance Method双倍余额递减法
Discount Rate For a Security证券折扣率
Effective Annual Interest Rate有效年收益率
Fixed-Declining Balance Method固定余额递减法
Future Value未来值
Future Value of Initial Principal with Compound组合初始本金的未来值
Interest Rates利率
Interest Rate利率
Interest Payment支付利息
Internal Rate of Return内部报酬率
Interest Rate per Annuity年利率
Macauley Duration Macauley持续期
Modified Duration修正持续期
Modified Internal Rate of Return修改内部报酬率
Next Coupon Date After Settlement Date结算日后下一个折价券期
Number of Coupons Between Settlement and Maturity Date结算日和到期日间的折价券期数
Nominal Annual Interest Rate名义年利率
Number of Investment Periods 投资周期数
Net Present Value净现值
Odd First period Yield
Odd Last Period
Previous Coupon Date Before Settlement Date结算日前上一个折价券期日
Price Per $100 Face Value with Odd First Period0
Payment支付
Payment on Principal本金支付
Price价格
Price Discount折扣价
Price at Maturity到期价
Present Value现值
Prorated Depreciation for each Accounting Period 会计期折旧比例分配
Straight Line Depreciation直线法折旧
Sum-Of-Years' Digits Depreciation
T-BILL Price国库券价格
T-BILL Yield国库券收益
Variable Declining Balance变化定率递减
Yield收益
Yield for Discounted Security证券折扣收益
Yield at Maturity到期收益
图表类型
Vertical Area—absolute
垂直面积图――绝对图
Vertical Area—stacked
垂直面积图――堆叠图
Vertical Area—bipolar
垂直面积图――双极图
Vertical Area—bipolar stacked
垂直面积图――双极堆叠图
Vertical Area—dual axis absolute
垂直面积图――双轴绝对图
Vertical Area—dual axis stacked
垂直面积图――双轴堆叠图
Vertical Area—percent
垂直面积图――百分比图
Horizontal Area—absolute
水平面积图――绝对图
Horizontal Area—stacked
水平面积图――堆叠图
Horizontal Area—bipolar absolute
水平面积图――双极绝对图
Horizontal Area—bipolar stacked
水平面积图――双极堆叠图
Horizontal Area—dual axis absolute
水平面积图――双轴绝对图
Horizontal Area—dual axis stacked
水平面积图――双轴堆叠图
Horizontal Area—percent
水平面积图――百分比图
Vertical Bar—side by side
垂直条形图――排列图
Vertical Bar—stacked
垂直条形图――堆叠图
Vertical Bar—dual axis side by side
垂直条形图――双轴排列图
Vertical Bar—dual axis stacked
垂直条形图――双轴堆叠图
Vertical Bar—bipolar side by side
垂直条形图――双极
Vertical Bar—bipolar stacked
垂直条形图――双极堆叠图
Vertical Bar—percent
垂直条形图――百分比图
Horizontal Bar—side by side
水平条形图――排列图
Horizontal Bar—stacked
水平条形图――堆叠图
Horizontal Bar—dual axis side by side
水平条形图――双轴排列图
Horizontal Bar—dual axis stacked
水平条形图――双轴堆叠图
Horizontal Bar—bipolar side by side
水平条形图――双极排列图
Horizontal Bar—bipolar stacked
水平条形图――双极堆叠图
Horizontal Bar—percent
水平条形图――百分比图
Vertical Line—absolute
垂直折线图――绝对图
Vertical Line—stacked
垂直折线图――堆叠图
Vertical Line—bipolar absolute
垂直折线图――双极绝对图
Vertical Line—bipolar stacked
垂直折线图――双极堆叠图
Vertical Line—dual axis absolute
垂直折线图――双轴绝对图
Vertical Line—dual axis stacked
垂直折线图――双轴堆叠图
Vertical Line—percent
垂直折线图――百分比图
Horizontal Line—absolute
水平折线图――绝对图
Horizontal Line—stacked
水平折线图――堆叠图
Horizontal Line –bipolar absolute
水平折线图――双极绝对图
Horizontal Line—bipolar stacked
水平折线图――双极堆叠图
Horizontal Line—dual axis absolute
水平折线图――双轴绝对图
Horizontal Line—dual axis stacked
水平折线图――双轴堆叠图
Pie—basic
饼图――基本图
Pie—ring
饼图――环状图
Pie—multiple
饼图――多层图
Pie—multiple ring
饼图――多层环状图
Pie—multiple proportional
饼图――多层比例图
Pie—multiple proportional ring
饼图――多层比例环状图
Pie—bar
饼图――条形图
Pie—ring bar
饼图――环状条形图
Scatter—X-Y
散点图――XY轴图
Scatter—dual axis X-Y
散点图――双XY轴图
Scatter—X-Y with labels
散点图――带有标签的XY轴图
Scatter—dual axis X-Y with labels
散点图――带有标签的双XY轴图
Polar—coordinate
极坐标图――坐标图
Polar—dual axis coordinate
极坐标图――双轴坐标图
Radar—line
雷达图――线图
Radar—stacked area
雷达图――堆叠面积图
Radar—dual axis line
雷达图――双轴线图
Radar—dual axis stacked area
雷达图――双轴堆叠图
Bubble—basic
气泡图――基本图
Bubble—dual axis
气泡图――双轴图
HiLo Stock—basic
涨跌图――基本图
HiLo Stock—dual axis
涨跌图――双轴图
HiLo Stock—open
涨跌图――
HiLo Stock—dual axis open
涨跌图――
HiLo Stock—open/close
涨跌图――
HiLo Stock—dual axis open/close
涨跌图――
Histogram—vertical
柱状图――垂直柱状图
Histogram—horizontal
柱状图――水平柱状图
3D Riser—bar
3D Risers图――条形图
3D Riser—pyramid
3D Risers图――金字塔图
3D Riser—octagon
3D Risers图――八边形图
3D Riser—cut-corner bar
3D Risers图――切角条形图
3D Floating—cube
3D Floating图――立方图
3D Floating—sphere
3D Floating图――球图
3D Connect Group—area
3D Connect图――面积图
3D Connect Group—ribbon
3D Connect图――带状图
3D Connect Group—step
3D Connect图――阶梯图
3D Connect Series—area
3D Connect图――面积图
3D Connect Series—ribbon
3D Connect图――带状图
3D Connect Series—step
3D Connect图――阶梯图
3D Surface—side
3D曲面图――单边图
3D Surface—honeycomb
3D曲面图――蜂窝图
3D Honeycomb Surface
3D Honeycomb Surface图
3D Scatter—X-Y-Z
3D散点图――X-Y-Z轴图
3D Scatter—X-Y-Z with labels
3D散点图――带有标签的X-Y-Z轴图
可用的E-mail客户端和无线设备
E-mail客户端
AOL
AOL
cc:Mail 6
cc:Mail 8
EarthLink
Eudora
Eudora Pro E-mail
Excite Mail
Generic e-mail client
Hotmail
Juno
Lotus Notes Client
Lotus Notes Client
Netscape
Netscape
Microsoft Mail
Microsoft Outlook 2000
Microsoft Outlook 97
Microsoft Outlook 98
Microsoft Outlook Express
Pine
Yahoo
无线设备
Aero 1500 Series
Aero 2100 Series
Airtouch Motorola Advisor Elite
Airtouch Motorola PF1500
Airtouch Motorola T900
Airtouch Motorola Talkabout T350
Airtouch Motorola Wordline
Airtouch NEC MessageMaker Vue
Arch Motorola Advisor Elite
Arch Motorola Advisor Gold
Arch Motorola PageWriter 2000
Arch Motorola T900
Arch Motorola Wordline
AT&T Ericsson A1228 LX
AT&T Ericsson LX588
AT&T Ericsson LX677
AT&T Ericsson LX700
AT&T Ericsson LX788
AT&T Ericsson R280LX
AT&T Ericsson T18
AT&T Mitsubishi T200
AT&T Mitsubishi T250
AT&T Motorola MicroTac
AT&T Motorola StarTac
AT&T Motorola StarTac 7797
AT&T Motorola T2297
AT&T Motorola T8097
AT&T Motorola v2397
AT&T Nokia 2160
AT&T Nokia 5160
AT&T Nokia 6160
AT&T Nokia 6162
AT&T Nokia 8260
AT&T Nokia 8860
BellSouth RIM 950
Blackberry 850
Blackberry 950
Blackberry 957
Casio PV 100
Casio PV 200
Casio PV 200A
Casio PV 400A
Casio PV 400plus
Casio PVS 450
Cassiopeia A21S
Cassiopeia A22T
Cassiopeia E100
Cassiopeia E100R
Cassiopeia E105
Cassiopeia E105R
Cassiopeia E115
Cassiopeia E125
Cassiopeia E500
Cassiopeia PA2400W
Cingular (Pacific Bell Wireless) Ericsson 1228D
Cingular (Pacific Bell Wireless) Ericsson T18d
Cingular (Pacific Bell Wireless) Nokia 5165
Cingular (Pacific Bell Wireless) Nokia 7160
Cingular (Pacific Bell Wireless) Nokia 8260
CLIE
Clio 1000 Series
Compaq Aero 1530
Compaq Aero 1550
Compaq Aero 2110
Compaq C Series 2110c
Compaq iPAQ 3100
Compaq iPAQ 3630
Compaq iPAQ 3650
Handspring Visor
Handspring Visor Platinum
Handspring Visor Prism
HP 200 LX
HP 300 Series
HP 600 Series
HP Jornada 820
HP Jornada 420
HP Jornada 430
HP Jornada 430se
HP Jornada 720
HPW 600E(ePlate)
HPW 630ETR
iPAQ H3600
Jornada 540 Series
Jornada 680/690
MCI WorldCom Audiovox 4000
MCI WorldCom Audiovox 480
MCI WorldCom Ericsson DH668
MCI WorldCom LG 330W
MCI WorldCom Motorola 2950 Mobile
MCI WorldCom Motorola DPC 650
MCI WorldCom Motorola StarTAC 3000
MCI WorldCom Motorola StarTAC 6500
MCI WorldCom Motorola StarTAC ST7790
MCI WorldCom Motorola Vader 8160
MCI WorldCom Motorola Vader V3620 Base
MCI WorldCom Motorola Vader V3620 Deluxe
MCI WorldCom Nokia 252 Base
MCI WorldCom Nokia 282
MCI WorldCom Nokia 5160
MCI WorldCom Nokia 6120 Base
MCI WorldCom Nokia 6185
MCI WorldCom Qualcomm 2760
MCI WorldCom Samsung 3500
Metrocall Glenayre AccessLink II
Metrocall Motorola Advisor Elite
Metrocall Motorola CP-1250
Metrocall Motorola Jazz
Metrocall Motorola Wordline
Metrocall Motorola PF1500
Metrocall Motorola Talkabout T350
Metrocall Motorola Talkabout T900
Metrocall Motorola Timeport P935
Metrocall RIM 850
Mobile HC-4100
Mobile HC-4500/4600
Mobile HC-5000
Mobile HC-6000
Nextel Motorola i1000plus
Nextel Motorola i2000
Nextel Motorola i550plus
Nextel Motorola i700plus
Nino 500
Pacific Bell Wireless Ericsson CF788
Pacific Bell Wireless Ericsson T-28 World
Pacific Bell Wireless Motorola V2282
Pacific Bell Wireless Motorola V3682
Pacific Bell Wireless Nokia 5190
Pacific Bell Wireless Nokia 6190
Pacific Bell Wireless Nokia 8290
Pacific Bell Wireless Nokia 8890
Pagenet Motorola AccessLink II(2 way)
Pagenet Motorola Advisor Elite
Pagenet Motorola Advisor Gold
Pagenet Motorola CP-1250
Pagenet Motorola Jazz
Pagenet Motorola PageWriter 2000
Pagenet Motorola PF-1500
Pagenet Motorola Talkabout T350
Pagenet Motorola Wordline
Pagenet Motorola T900
Pagenet RIM 950
Palm IIIc
Palm IIIe
Palm IIIx
Palm IIIxe
Palm m100
Palm Pilot
Palm V
Palm VII
Palm VIIx
Palm Vx
PD900 Series
Pine
Powertel Mitsubushi G310 PCS
Powertel Ericsson T28 World Phone
Powertel Motorola T2282
Powertel Motorola Timport P-7389
Powertel Motorola V3682
Powertel Nokia 3390
Powertel Nokia 5190 PCS
Powertel Nokia 6190 PCS
Powertel Nokia 8290
Powertel Nokia 8890
Psion Revo Plus
Revo
Series 5
Series 5mx
Series 7
Skytel Glenayre AccessLink II
Skytel Glenayre AccessMate
Skytel Motorola AccessLink II(2 way)
Skytel Motorola PageFinder
Skytel Motorola PageWriter 2000
Skytel Motorola PF-1500
Skytel Motorola Wordline
Skytel Motorola Talkabout T350
Skytel Motorola TimePort P935
SMS Device (SMPP)
Sprint Kyocera QCP2035
Sprint Motorola StarTAC ST7867
Sprint Motorola Talkabout T8167
Sprint Motorola Timeport P8167
Sprint Motorola V8162
Sprint Qualcomm pdQ
Sprint Qualcomm QCP2760
Sprint Qualcomm QCP2700
Sprint Samsung SCH3500
Sprint Samsung SCH6100
Sprint Samsung SCH8500
Sprint Samsung Uproar M100
Sprint Sanyo SCP-4000
Sprint Sanyo SCP-4500
Sprint SprintPCS NP1000
Sprint SprintPCS TouchPoint 1100
Sprint SprintPCS TouchPoint 120
Sprint SprintPCS TouchPoint 2100
Sprint SprintPCS TouchPoint 2200
Sprint SprintPCS TouchPoint 3000
SunCom Ericsson A1228
SunCom Motorola StarTac ST7797
SunCom Motorola v2397
SunCom Nokia 5160
SunCom Nokia 5165
SunCom Nokia 6160
SunCom Nokia 6162
SunCom Nokia 8260
TRGpro
Velo 500
Verizon Audiovox MVX-480XL
Verizon Audiovox CDM 4000
Verizon Audiovox CDM 9000
Verizon Audiovox MVX-485
Verizon BAM 330D
Verizon Kyocera QCP2035
Verizon LG V111
Verizon Motorola Microtac 650
Verizon Motorola Profile 300
Verizon Motorola SC-3160
Verizon Motorola StarTac 3000
Verizon Motorola StarTac 6500
Verizon Motorola StarTac 7860
Verizon Motorola StarTac 7868
Verizon Motorola TimePort P8767
Verizon Motorola V2260
Verizon Motorola V8160
Verizon Motorola Vulcan V8160
Verizon Nokia 252
Verizon Nokia 5180
Verizon Nokia 5185i
Verizon Nokia 918
Verizon Qualcomm PDQ 800
Verizon Qualcomm QCP 860
VisorDeluxe
VoiceStream Ericsson CF 688
VoiceStream Ericsson CF 768
VoiceStream Ericsson I888 World
VoiceStream Ericsson T28W
VoiceStream Mitsubishi G150
VoiceStream Mitsubushi G310
VoiceStream Motorola L7089
VoiceStream Motorola M3682
VoiceStream Motorola P7382
VoiceStream Motorola P7389
VoiceStream Nokia 5190
VoiceStream Nokia 6190
VoiceStream Nokia 8290
VoiceStream Nokia 8890
Web Device (Portal)
WebLink Glenayre AccessLink II
WebLink Glenayre AccessMate
WebLink Motorola Advisor Elite
WebLink Motorola Advisor Gold
WebLink Motorola Jazz
WebLink Motorola PageWriter 2000
WebLink Motorola PF-1500
WebLink Motorola Talkabout T900
WebLink Motorola Wordline
Windows 性能统计
MicroStrategy Intelligence Server 操作
Average report queue time
平均报表排队时间
Average report response time
平均报表响应时间
Element browse submission rate
元素浏览提交速度
Number of executing reports
执行的报表数
Object browse submission rate
对象浏览提交速度
Report cache hit ratio
报表缓存命中率
Open reports
打开报表
Report submission rate
报表提交速度
Report completion rate
报表完成速度
Number of timed-out jobs
过时的作业数
Total completed reports
完成的报表总数
Total completed Web reports
完成的Web报表总数
Total completed element browse requests
完成的元素浏览请求总数
Total completed object browser requests
完成的对象浏览请求总数
Total error element browse requests
错误的元素浏览请求总数
Total error object browser requests
错误的对象浏览请求总数
Total error reports
错误的报表总数
Total report cache hits
缓存命中报表总数
Total report requests
报表请求总数
Total requests
请求总数
Total documents
文档总数
Total error documents
错误文档总数
MicroStrategy Intelligence Server 用户统计
Average user session length
平均用户会话长度
Total invalid login attempts
无效的尝试登录总数
Open project sessions
打开的项目会话数
Open sessions
打开的会话数
Total project sessions
项目会话总数
Total sessions
会话总数
Total timed out users
过时的用户总数
MicroStrategy Intelligence Server 处理过程统计
% privileged time
特殊时间百分比
% processor time
处理器时间百分比
% user time
用户时间百分比
Elapsed time
持续时间
Handle count
句柄计数
ID process
ID过程数
Page faults/sec
错误页面数/秒
Peak page file bytes
峰值时页面文件字节数
Pool non-paged bytes
缓冲非页面字节数
Pool paged bytes
缓冲页面字节数
Priority base
基础优先级
Private bytes
私有的字节数
Thread count
线程计数
Virtual bytes
虚拟字节数
Peak virtual bytes
峰值时
Working set
工作组
Peak working set
峰值时工作组
MicroStrategy MDX Adapter 统计
Average analysis time
平均分析时间
Average conversion time
平均转化时间
Average execution time
平均执行时间
Average fetch time
平均抽取时间
Average parse time
平均解析时间
Average pending time
平均挂起时间
Average results time
平均产生结果时间
Average server time
平均占用服务器时间
Average total time
平均总时间
Number of MDX requests
MDX请求数
Number of server request
服务器请求数
数据库平台支持
IBM DB2/OS390
IBM DB2/400 V4R4 and V4R5
IBM DB2 UDB , and
IBM Relational Connect
Informix Dynamic Server
Informix Parallel Server
Informix IDS and
Microsoft SQL Server SP3
Microsoft SQL Server 2000 SP2
Oracle 8i R2 and R3
Oracle 9i
RedBrick
Sybase Adaptive Server 12 and
Sybase IQ
Tandem SQL/MP D42
Teradata V2R3, V2R4 and
API方法、属性和接口
下面列出了MicroStrategy 7i Web 和 Intelligence Server 中API的部分方法、属性和接口。
A
IDSSAccessControlEntry
IDSSAccessControlEntry::DeniesAccess
IDSSAccessControlEntry::Inheritable
IDSSAccessControlEntry::Rights
IDSSAccessControlEntry::Trustee
IDSSAccessControlEntry::Type
IDSSAccessControlList
IDSSAccessControlList::Add
IDSSAccessControlList::Clear
IDSSAccessControlList::Compress
IDSSAccessControlList::Count
IDSSAccessControlList::Item
IDSSAccessControlList::PropagateACL
IDSSAccessControlList::Remove
IDSSAccessControlList::_NewEnum
IDSSAggMetric
IDSSAggMetric::AllChildrenJoin
IDSSAggMetric::Column
IDSSAggMetric::Expression
IDSSAggMetric::Info
IDSSAggMetric::Populate
IDSSAggMetric::Root
IDSSAttribute
IDSSAttribute::Ancestors
IDSSAttribute::Arity
IDSSAttribute::AttributeType
IDSSAttribute::BaseAttribute
IDSSAttribute::BrowseForms
IDSSAttribute::BrowsePath
IDSSAttribute::Children
IDSSAttribute::DefaultChild
IDSSAttribute::DefaultParent
IDSSAttribute::Definition
IDSSAttribute::Descendents
IDSSAttribute::Dimension
IDSSAttribute::DrillMap
IDSSAttribute::ElementFilters
IDSSAttribute::Elements
IDSSAttribute::FetchBottomForms
IDSSAttribute::Forms
IDSSAttribute::GetFilteredElements
IDSSAttribute::Info
IDSSAttribute::Level
IDSSAttribute::LockLimit
IDSSAttribute::LockReason
IDSSAttribute::LockType
IDSSAttribute::Parents
IDSSAttribute::PartialType
IDSSAttribute::Populate
IDSSAttribute::Role
IDSSAttribute::Sorts
IDSSAttribute::TemplateForms
IDSSAttribute::Transformation
IDSSAttribute::Weight
IDSSAttributeDefn
IDSSAttributeDefn::BaseForms
IDSSAttributeDefn::KeyColumnSize
IDSSAttributeForm
IDSSAttributeForm::Add
IDSSAttributeForm::BaseAttributeForm
IDSSAttributeForm::Clear
IDSSAttributeForm::Count
IDSSAttributeForm::Info
IDSSAttributeForm::Item
IDSSAttributeForm::Populate
IDSSAttributeForm::Remove
IDSSAttributeForm::Type
IDSSAttributeForm::UseDescription
IDSSAttributeForm::UseName
IDSSAttributeForm::_NewEnum
IDSSAttributeForms
IDSSAttributeForms::Add
IDSSAttributeForms::Clear
IDSSAttributeForms::Count
IDSSAttributeForms::Item
IDSSAttributeForms::Remove
IDSSAttributeForms::_NewEnum
IDSSAttributeInfo
IDSSAttributeInfo::Add
IDSSAttributeInfo::Attribute
IDSSAttributeInfo::Clear
IDSSAttributeInfo::Count
IDSSAttributeInfo::Default
IDSSAttributeInfo::Item
IDSSAttributeInfo::LocalDefn
IDSSAttributeInfo::PartialAttributeID
IDSSAttributeInfo::PartialType
IDSSAttributeInfo::Remove
IDSSAttributeInfo::_NewEnum
IDSSAttributeInfos
IDSSAttributeInfos::Add
IDSSAttributeInfos::Clear
IDSSAttributeInfos::Count
IDSSAttributeInfos::Item
IDSSAttributeInfos::Remove
IDSSAttributeInfos::_NewEnum
IDSSAttributeRelationship
IDSSAttributeRelationship::Attribute
IDSSAttributeRelationship::Count
IDSSAttributeRelationship::Item
IDSSAttributeRelationship::Relationship
IDSSAttributeRelationship::_NewEnum
IDSSAttributeRelationships
IDSSAttributeRelationships::Add
IDSSAttributeRelationships::Clear
IDSSAttributeRelationships::Count
IDSSAttributeRelationships::Item
IDSSAttributeRelationships::Remove
IDSSAttributeRelationships::_NewEnum
IDSSAttributes
IDSSAttributes::Add
IDSSAttributes::Clear
IDSSAttributes::Count
IDSSAttributes::Item
IDSSAttributes::Remove
IDSSAttributes::_NewEnum
IDSSAxes
IDSSAxes::Add
IDSSAxes::Count
IDSSAxes::Item
IDSSAxes::Remove
IDSSAxes::_NewEnum
IDSSAxis
IDSSAxis::AddCopy
IDSSAxis::Add
IDSSAxis::Axes
IDSSAxis::AxisElements
IDSSAxis::Clear
IDSSAxis::Count
IDSSAxis::Index
IDSSAxis::Item
IDSSAxis::Prompt
IDSSAxis::Remove
IDSSAxis::Sorts
IDSSAxis::_NewEnum
B
IDSSBaseAttributeForm
IDSSBaseAttributeForm::BaseAttribute
IDSSBaseAttributeForm::BaseFormID
IDSSBaseAttributeForm::BaseFormType
IDSSBaseAttributeForm::Column
IDSSBaseAttributeForm::Default
IDSSBaseAttributeForm::Description
IDSSBaseAttributeForm::Expression
IDSSBaseAttributeForm::Name
IDSSBaseAttributeForm::Root
IDSSBaseAttributeForm::Table
IDSSBaseAttributeForms
IDSSBaseAttributeForms::Add
IDSSBaseAttributeForms::Clear
IDSSBaseAttributeForms::Count
IDSSBaseAttributeForms::Item
IDSSBaseAttributeForms::Remove
IDSSBaseAttributeForms::_NewEnum
IDSSBindingTable
IDSSBindingTable::AddDependents
IDSSBindingTable::Add
IDSSBindingTable::Clear
IDSSBindingTable::Count
IDSSBindingTable::Find
IDSSBindingTable::Item
IDSSBindingTable::Position
IDSSBindingTable::Remove
IDSSBindingTable::Update
IDSSBindingTable::_NewEnum
C
IDSSCacheAdmin
IDSSCacheAdmin::FileCachePath
IDSSCacheAdmin::GetGeneralCacheInfo
IDSSCacheAdmin::MaxCacheCount
IDSSCacheAdmin::SwapPolicy
IDSSCatalog
IDSSCatalog::Columns
IDSSCatalog::Definition
IDSSCatalog::Info
IDSSCatalog::TableSources
IDSSCatalog::Tables
IDSSCatalog::WHTables
IDSSCatalog::Warehouse
IDSSCatalogDefn
IDSSCatalogDefn2
IDSSCatalogDefn2::ColumnSQL
IDSSCatalogDefn::CatalogSQL
IDSSCatalogDefn::Driver
IDSSCatalogDefn::Info
IDSSCatalogDefn::Restrict
IDSSCatalogDefn::TableSQL
IDSSCatalogDefn::UpdateTables
IDSSCatalogDefn::Update
IDSSChannel
IDSSChannel::MaxConnection
IDSSChannel::Name
IDSSChannel::Type
IDSSChannel::port
IDSSChannels
IDSSChannels::Add
IDSSChannels::Clear
IDSSChannels::Count
IDSSChannels::Item
IDSSChannels::Remove
IDSSChannels::_NewEnum
IDSSClientServices
IDSSClientServices::UserAcctSvcs
IDSSClusterManager
IDSSClusterManager::JoinCluster
IDSSClusterManager::LeaveCluster
IDSSClusterManager::Name
IDSSClusterMember
IDSSClusterMember::ContactPort
IDSSClusterMember::ID
IDSSClusterMember::Load
IDSSClusterMember::Protocol
IDSSClusterMember::Status
IDSSClusterMembers
IDSSClusterMembers::Count
IDSSClusterMembers::ItemById
IDSSClusterMembers::Item
IDSSClusterMembers::_NewEnum
IDSSCollection
IDSSCollection::Add
IDSSCollection::Clear
IDSSCollection::Count
IDSSCollection::Item
IDSSCollection::Remove
IDSSCollection::_NewEnum
IDSSColumn
IDSSColumn::ColumnName
IDSSColumn::ColumnType
IDSSColumn::DataType
IDSSColumn::Info
IDSSColumn::Missing
IDSSColumn::Populate
IDSSColumns
IDSSColumns::Add
IDSSColumns::Clear
IDSSColumns::Count
IDSSColumns::Item
IDSSColumns::Remove
IDSSColumns::_NewEnum
IDSSComments
IDSSComments::Add
IDSSComments::Count
IDSSComments::Item
IDSSComments::Remove
IDSSComments::_NewEnum
IDSSConditionality
IDSSConditionality::EmbedMethod
IDSSConditionality::FilterExports
IDSSConditionality::FilterPrompt
IDSSConditionality::Filter
IDSSConfiguration
IDSSConfiguration::Info
IDSSConfiguration::Populate
IDSSConfiguration::Root
IDSSConfiguration::SystemPropertySet
IDSSConsolidation
IDSSConsolidation::DrillMap
IDSSConsolidation::Elements
IDSSConsolidation::ExtendedType
IDSSConsolidation::FindLeafElements
IDSSConsolidation::FindRelatedElements
IDSSConsolidation::Info
IDSSConsolidation::Populate
IDSSConsolidation::Prompt
IDSSConsolidationElement
IDSSConsolidationElement::Expression
IDSSConsolidationElement::Info
IDSSConsolidationElement::Populate
IDSSConsolidationElement::Root
IDSSConstant
IDSSConstant::DataType
IDSSConstant::Node
IDSSConstant::Prompt
IDSSConstant::Text
IDSSConstant::Value
IDSSCreate
IDSSCreate::Create
IDSSCustomGroup
IDSSCustomGroup::DrillMap
IDSSCustomGroup::Expression
IDSSCustomGroup::ExtendedType
IDSSCustomGroup::FilterType
IDSSCustomGroup::Info
IDSSCustomGroup::Populate
IDSSCustomGroup::Root
IDSSCustomSubtotal
IDSSCustomSubtotal::Add
IDSSCustomSubtotal::Clear
IDSSCustomSubtotal::Count
IDSSCustomSubtotal::Item
IDSSCustomSubtotal::Remove
IDSSCustomSubtotal::TemplateSubtotal
IDSSCustomSubtotal::_NewEnum
IDSSCustomSubtotals
IDSSCustomSubtotals::Add
IDSSCustomSubtotals::Clear
IDSSCustomSubtotals::Count
IDSSCustomSubtotals::Item
IDSSCustomSubtotals::Remove
IDSSCustomSubtotals::_NewEnum
D
IDSSDatabaseAdministrator
IDSSDataSource
IDSSDataSource2
IDSSDBConnection
IDSSDBConnection::CacheOption
IDSSDBConnection::CacheSize
IDSSDBConnection::CacheTimeOut
IDSSDBConnection::ConnectionString
IDSSDBConnection::DBCPrefixString
IDSSDBConnection::DatabaseName
IDSSDBConnection::DatabaseType
IDSSDBConnection::DatabaseVersion
IDSSDBConnection::DefaultDBLogin
IDSSDBConnection::DefaultMaxDBCost
IDSSDBConnection::DriverType
IDSSDBConnection::ExecutionMode
IDSSDBConnection::Info
IDSSDBConnection::Populate
IDSSDBConnection::TablePrefixString
IDSSDBConnection::TableSpaceName
IDSSDBConnection::TraceFlag
IDSSDBConnection::UseExtendedFetch
IDSSDBConnectionMap
IDSSDBConnectionMap::DBConnection
IDSSDBConnectionMap::DBLogin
IDSSDBConnectionMap::DBRole
IDSSDBConnectionMap::User
IDSSDBConnectionMaps
IDSSDBConnectionMaps::Add
IDSSDBConnectionMaps::Clear
IDSSDBConnectionMaps::Count
IDSSDBConnectionMaps::IsModified
IDSSDBConnectionMaps::Items
IDSSDBConnectionMaps::Item
IDSSDBConnectionMaps::Refresh
IDSSDBConnectionMaps::Remove
IDSSDBConnectionMaps::SaveChanges
IDSSDBConnectionMaps::_NewEnum
IDSSDBConnections
IDSSDBConnections::Add
IDSSDBConnections::Clear
IDSSDBConnections::Count
IDSSDBConnections::Item
IDSSDBConnections::Remove
IDSSDBConnections::_NewEnum
IDSSDBLogin
IDSSDBLogin::Info
IDSSDBLogin::LoginName
IDSSDBLogin::Password
IDSSDBMonitor
IDSSDBMS
IDSSDBMS::DBMSType
IDSSDBMS::DBMSVersion
IDSSDBMS::Info
IDSSDBMS::MSIDescription
IDSSDBMS::MSIVersion
IDSSDBMonitor::Close
IDSSDBMonitor::ConnectionId
IDSSDBMonitor::CurrentCumulateCost
IDSSDBMonitor::DBConnectionID
IDSSDBMonitor::DBConnectionName
IDSSDBMonitor::DBConnection
IDSSDBMonitor::DBLoginID
IDSSDBMonitor::DBLoginName
IDSSDBMonitor::DBLogin
IDSSDBMonitor::DBRoleID
IDSSDBMonitor::DBRoleName
IDSSDBMonitor::DBRole
IDSSDBMonitor::EstimateTotalCost
IDSSDBMonitor::JobID
IDSSDBMonitor::JobStartTime
IDSSDBMonitor::PhyConnectionId
IDSSDBMonitor::SQLStartTime
IDSSDBMonitor::SQL
IDSSDBMonitor::Status
IDSSDBMonitor::UserID
IDSSDBMonitor::UserName
IDSSDBMonitor::User
IDSSDBMonitors
IDSSDBMonitors::Count
IDSSDBMonitors::ItemByIndex
IDSSDBMonitors::Item
IDSSDBMonitors::_NewEnum
IDSSDBRole
IDSSDBRole2
IDSSDBRole2::SamePhysicalDatabase
IDSSDBRole::DBMS
IDSSDBRole::DatabaseName
IDSSDBRole::DatabaseType
IDSSDBRole::DatabaseVersion
IDSSDBRole::DefaultDBConnections
IDSSDBRole::DefaultDBConnection
IDSSDBRole::DefaultMaxDBConnection
IDSSDBRole::DefaultMaxDBCost
IDSSDBRole::Info
IDSSDBRole::Populate
IDSSDBRole::PrimaryDBRole
IDSSDBRole::Queue
IDSSDBRole::TableSource
IDSSDBRole::TableSpaceName
IDSSDBRole::Tables
IDSSDBRoleMonitor
IDSSDBRoleMonitor::ConnectionCount
IDSSDBRoleMonitor::CurrentLoad
IDSSDBRoleMonitor::DBRoleID
IDSSDBRoleMonitor::DBRoleName
IDSSDBRoleMonitor::DBRole
IDSSDBRoleMonitor::MaximumLoad
IDSSDBRoleMonitor::Status
IDSSDBRoleMonitors
IDSSDBRoleMonitors::Count
IDSSDBRoleMonitors::ItemByIndex
IDSSDBRoleMonitors::ItemByName
IDSSDBRoleMonitors::_NewEnum
IDSSDBRoles
IDSSDBRoles::Add
IDSSDBRoles::Clear
IDSSDBRoles::Count
IDSSDBRoles::Item
IDSSDBRoles::Remove
IDSSDBRoles::_NewEnum
IDSSDBTable
IDSSDBTable2
IDSSDBTable2::Keys
IDSSDBTable::Columns
IDSSDBTable::DBRole
IDSSDBTable::DBTableType
IDSSDBTable::Info
IDSSDBTable::Missing
IDSSDBTable::NameSpace
IDSSDBTable::Populate
IDSSDBTable::TableContent
IDSSDBTable::TableName
IDSSDBTable::TableSource
IDSSDBTableKey
IDSSDBTableKey::Columns
IDSSDBTableKey::Name
IDSSDBTableKey::References
IDSSDBTableKey::Type
IDSSDBTableKeys
IDSSDBTableKeys::Add
IDSSDBTableKeys::Clear
IDSSDBTableKeys::Count
IDSSDBTableKeys::Item
IDSSDBTableKeys::Remove
IDSSDBTableKeys::_NewEnum
IDSSDBTables
IDSSDBTables::Add
IDSSDBTables::Clear
IDSSDBTables::Count
IDSSDBTables::Item
IDSSDBTables::Remove
IDSSDBTables::_NewEnum
IDSSDataSource2::Populate
IDSSDataSource2::ServerVersion
IDSSDataSource::Administrator
IDSSDataSource::ApplicationType
IDSSDataSource::AuthModesAvailable
IDSSDataSource::AuthMode
IDSSDataSource::CacheSetting
IDSSDataSource::ConfigurationID
IDSSDataSource::ConfigurationName
IDSSDataSource::CreateSession
IDSSDataSource::Create
IDSSDataSource::DBType
IDSSDataSource::DeleteFromRegistry
IDSSDataSource::Delete
IDSSDataSource::Duplicate
IDSSDataSource::Enumerator
IDSSDataSource::Flags
IDSSDataSource::Hidden
IDSSDataSource::Init
IDSSDataSource::InternalProjectID
IDSSDataSource::IsInitialized
IDSSDataSource::Locale
IDSSDataSource::Location
IDSSDataSource::Login
IDSSDataSource::MDLogin
IDSSDataSource::MDPasswd
IDSSDataSource::MDVersion
IDSSDataSource::Mode
IDSSDataSource::Name
IDSSDataSource::NewPasswd
IDSSDataSource::Passwd
IDSSDataSource::Port
IDSSDataSource::ProjectDescription
IDSSDataSource::ProjectID
IDSSDataSource::ProjectName
IDSSDataSource::Reset
IDSSDataSource::SaveToRegistry
IDSSDataSource::ServerAdmin
IDSSDataSource::ServerInstanceID
IDSSDataSource::ServerInstanceName
IDSSDataSource::SessionFlags
IDSSDataSource::Timeout
IDSSDataSource::Type
IDSSDataSource::WHLogin
IDSSDataSource::WHPasswd
IDSSDataSource::WebServerAdmin
IDSSDataSourceEnumerator
IDSSDataSourceEnumerator::Add
IDSSDataSourceEnumerator::Count
IDSSDataSourceEnumerator::Item
IDSSDataSourceEnumerator::Reset
IDSSDataType
IDSSDataType::BitLength
IDSSDataType::ByteLength
IDSSDataType::DecimalScale
IDSSDataType::Precision
IDSSDataType::TimeScale
IDSSDataType::Type
IDSSDataType::get_DataType
IDSSDataType::put_DataType
IDSSDatabaseMonitor
IDSSDatabaseMonitor::ConnectionCount
IDSSDatabaseMonitor::CurrentLoad
IDSSDatabaseMonitor::DBConnection
IDSSDatabaseMonitor::MaximumLoad
IDSSDatabaseMonitor::Status
IDSSDatabaseMonitors
IDSSDatabaseMonitors::Count
IDSSDatabaseMonitors::ItemByIndex
IDSSDatabaseMonitors::ItemByName
IDSSDatabaseMonitors::_NewEnum
IDSSDatamart
IDSSDatamart::Add
IDSSDatamart::Clear
IDSSDatamart::Count
IDSSDatamart::DBRole
IDSSDatamart::Info
IDSSDatamart::IsPattern
IDSSDatamart::Item
IDSSDatamart::Populate
IDSSDatamart::Remove
IDSSDatamart::TableName
IDSSDatamart::_NewEnum
IDSSDatamartColumn
IDSSDatamartColumn::Column
IDSSDatamartColumn::Index
IDSSDatamartColumn::IsPattern
IDSSDatamartColumn::Name
IDSSDatamartColumn::Type
IDSSDatamartReport
IDSSDatamartReport::Add
IDSSDatamartReport::Clear
IDSSDatamartReport::Count
IDSSDatamartReport::Execute
IDSSDatamartReport::Info
IDSSDatamartReport::Item
IDSSDatamartReport::Populate
IDSSDatamartReport::Remove
IDSSDatamartReport::_NewEnum
IDSSDatamartUnit
IDSSDatamartUnit::Datamart
IDSSDatamartUnit::MakeTable
IDSSDatamartUnit::MapToColumn
IDSSDatamartUnit::MapToIndex
IDSSDatamartUnit::MapToTarget
IDSSDatamartUnit::Table
IDSSDatamartUnit::UseAppend
IDSSDatamartUnit::Validate
IDSSDbLogin::Populate
IDSSDelete
IDSSDelete::Delete
IDSSDependents
IDSSDependents::Count
IDSSDependents::Item
IDSSDependents::_NewEnum
IDSSDimension
IDSSDimension::Add
IDSSDimension::Bottom
IDSSDimension::BrowseForms
IDSSDimension::Clear
IDSSDimension::Count
IDSSDimension::DefaultBottom
IDSSDimension::DefaultTop
IDSSDimension::DimensionType
IDSSDimension::DrillMap
IDSSDimension::Info
IDSSDimension::Item
IDSSDimension::Populate
IDSSDimension::Remove
IDSSDimension::TemplateForms
IDSSDimension::Top
IDSSDimension::_NewEnum
IDSSDimensions
IDSSDimensions::Add
IDSSDimensions::Clear
IDSSDimensions::Count
IDSSDimensions::Item
IDSSDimensions::Remove
IDSSDimensions::_NewEnum
IDSSDimty
IDSSDimty::Add
IDSSDimty::CanContinue
IDSSDimty::Clear
IDSSDimty::Count
IDSSDimty::FilterRest
IDSSDimty::Info
IDSSDimty::Item
IDSSDimty::Remove
IDSSDimty::_NewEnum
IDSSDimtyUnit
IDSSDimtyUnit::Add
IDSSDimtyUnit::Aggregation
IDSSDimtyUnit::Clear
IDSSDimtyUnit::Count
IDSSDimtyUnit::Filtering
IDSSDimtyUnit::GroupBy
IDSSDimtyUnit::Item
IDSSDimtyUnit::Key
IDSSDimtyUnit::RelativePosition
IDSSDimtyUnit::Remove
IDSSDimtyUnit::Role
IDSSDimtyUnit::Tag
IDSSDimtyUnit::TargetPrompt
IDSSDimtyUnit::Target
IDSSDimtyUnit::UnitType
IDSSDimtyUnit::_NewEnum
IDSSDirectedAttribute
IDSSDirectedAttribute::Attribute
IDSSDirectedAttribute::Direction
IDSSDirectedAttributes
IDSSDirectedAttributes::Add
IDSSDirectedAttributes::Clear
IDSSDirectedAttributes::Count
IDSSDirectedAttributes::Item
IDSSDirectedAttributes::Remove
IDSSDirectedAttributes::_NewEnum
IDSSDocumentDefinition
IDSSDocumentDefinition::Info
IDSSDocumentDefinition::LayoutString
IDSSDocumentDefinition::Layout
IDSSDocumentDefinition::Populate
IDSSDocumentDefinition::SaveToXML
IDSSDocumentDefinition::Type
IDSSDocumentInstance
IDSSDocumentInstance::Cookie
IDSSDocumentInstance::Definition
IDSSDocumentInstance::ExecuteActions
IDSSDocumentInstance::ExecuteFlags
IDSSDocumentInstance::Execute
IDSSDocumentInstance::ExecutionStatus
IDSSDocumentInstance::HTMLOutput
IDSSDocumentInstance::ImagePath
IDSSDocumentInstance::JobID
IDSSDocumentInstance::Project
IDSSDocumentInstance::State
IDSSDocumentInstance::UserData
IDSSDocumentInstance::UserRuntime
IDSSDocumentSource
IDSSDocumentSource::Execute
IDSSDocumentSource::NewInstance
IDSSDocumentSource::PromptResume
IDSSDocumentSource::Session
IDSSDocumentSourceEvents
IDSSDocumentSourceServer::Process
IDSSDocumentSourceServer::Role
IDSSDocumentSourceServer::Source
IDSSDrillAction
IDSSDrillAction2
IDSSDrillAction2::DrillAction
IDSSDrillAction2::DrillMetric
IDSSDrillAction2::DrillUnitSource
IDSSDrillAction2::DrillUnit
IDSSDrillAction2::HasDrillAction
IDSSDrillAction2::Index
IDSSDrillAction::Clear
IDSSDrillAction::Depth
IDSSDrillAction::DrillType
IDSSDrillAction::FilterMetrics
IDSSDrillAction::Filter
IDSSDrillAction::Forms
IDSSDrillAction::Inline
IDSSDrillAction::KeepOriginal
IDSSDrillAction::Name
IDSSDrillAction::NewObject
IDSSDrillAction::QualChange
IDSSDrillAction::Relationship
IDSSDrillAction::ReportFilter
IDSSDrillAction::SortChange
IDSSDrillAction::UseSchema
IDSSDrillAction::UserFilter
IDSSDrillMap
IDSSDrillMap::Add
IDSSDrillMap::Clear
IDSSDrillMap::Count
IDSSDrillMap::Info
IDSSDrillMap::Item
IDSSDrillMap::Populate
IDSSDrillMap::Remove
IDSSDrillMap::_NewEnum
IDSSDrillPath
IDSSDrillPath::Action
IDSSDrillPath::Description
IDSSDrillPath::Importance
IDSSDrillPath::Name
IDSSDrillPath::PathObject
IDSSDrillPath::PathType
IDSSDrillPath::SetName
E
IDSSElement
IDSSElement2
IDSSElement2::ParentElementID
IDSSElement2::ParentElement
IDSSElement::Ancestors
IDSSElement::Attribute
IDSSElement::Children
IDSSElement::ConsolidationElement
IDSSElement::Count
IDSSElement::DefaultChildElements
IDSSElement::DefaultChild
IDSSElement::DefaultParent
IDSSElement::Descendents
IDSSElement::Dimension
IDSSElement::ElementID
IDSSElement::ElementType
IDSSElement::GetFilteredElements
IDSSElement::GroupObject
IDSSElement::Item
IDSSElement::Metric
IDSSElement::Ordinal
IDSSElement::Parents
IDSSElement::SubtotalElements
IDSSElement::TemplateSubtotal
IDSSElement::TemplateUnit
IDSSElement::Text
IDSSElement::Value
IDSSElement::Width
IDSSElementFilters
IDSSElementFilters::Add
IDSSElementFilters::Clear
IDSSElementFilters::Count
IDSSElementFilters::Item
IDSSElementFilters::Remove
IDSSElementFilters::_NewEnum
IDSSElements
IDSSElementSource
IDSSElementSource::GetElementsXML
IDSSElementSource::GetElements
IDSSElementSource::GetHierachyXML
IDSSElementSource::Purge
IDSSElementSource::RemoveAttribute
IDSSElementSource::RemoveElements
IDSSElementSource::RemoveForms
IDSSElements::AddForms
IDSSElements::Add
IDSSElements::Clear
IDSSElements::Complete
IDSSElements::Count
IDSSElements::Filter
IDSSElements::Item
IDSSElements::Limit
IDSSElements::NewCollection
IDSSElements::Offset
IDSSElements::Refresh
IDSSElements::Remove
IDSSElements::Resolution
IDSSElements::_NewEnum
IDSSElementsCollection
IDSSElementsCollection::Complete
IDSSElementsCollection::Count
IDSSElementsCollection::Filter
IDSSElementsCollection::Item
IDSSElementsCollection::Limit
IDSSElementsCollection::NewCollection
IDSSElementsCollection::Offset
IDSSElementsCollection::Refresh
IDSSElementsCollection::Resolution
IDSSElementsCollection::_NewEnum
IDSSElementsObject
IDSSElementsObject::Elements
IDSSElementsObject::Node
IDSSElementsObject::Populate
IDSSElementsObject::Prompt
IDSSEmbeddedFolder
IDSSEmbeddedFolder::AddCopy
IDSSEmbeddedFolder::AddMove
IDSSEmbeddedFolder::Add
IDSSEmbeddedFolder::Clear
IDSSEmbeddedFolder::Count
IDSSEmbeddedFolder::Filtering
IDSSEmbeddedFolder::FolderType
IDSSEmbeddedFolder::InUse
IDSSEmbeddedFolder::Info
IDSSEmbeddedFolder::Item
IDSSEmbeddedFolder::NewHierarchy
IDSSEmbeddedFolder::Parent
IDSSEmbeddedFolder::RemoveUnused
IDSSEmbeddedFolder::Remove
IDSSEmbeddedFolder::Root
IDSSEmbeddedFolder::Search
IDSSEmbeddedFolder::Special
IDSSEmbeddedFolder::SubFoldersCount
IDSSEmbeddedFolder::Types
IDSSEmbeddedFolder::UsedBy
IDSSEmbeddedFolder::Uses
IDSSEmbeddedFolder::View
IDSSEmbeddedFolder::_NewEnum
IDSSEngineLite
IDSSEngineLite::ReduceToHigher
IDSSEngineLite::Reduce
IDSSEngineLite::ResetSchema
IDSSErrorInfo
IDSSErrorInfo::Description
IDSSErrorInfo::ErrorCode
IDSSErrors
IDSSErrors::Add
IDSSErrors::Clear
IDSSErrors::Count
IDSSErrors::Item
IDSSErrors::Remove
IDSSErrors::_NewEnum
IDSSExport
IDSSExport::ExportAs
IDSSExport::ExportIndex
IDSSExport::Prompt
IDSSExports
IDSSExports::Add
IDSSExports::Clear
IDSSExports::Count
IDSSExports::Item
IDSSExports::Remove
IDSSExports::_NewEnum
IDSSExpression
IDSSExpression::AddRoot
IDSSExpression::ClearExpression
IDSSExpression::Count
IDSSExpression::IsEquivalent
IDSSExpression::Item
IDSSExpression::Populate
IDSSExpression::Root
IDSSExpression::TextEx
IDSSExpression::Text
IDSSExpressionFactory
IDSSExpressionFactory::NewExpression
IDSSExtendedType
IDSSExtendedType::Add
IDSSExtendedType::Clear
IDSSExtendedType::Count
IDSSExtendedType::HasDimty
IDSSExtendedType::IsGenerated
IDSSExtendedType::Item
IDSSExtendedType::Refresh
IDSSExtendedType::Remove
IDSSExtendedType::_NewEnum
IDSSExtension
IDSSExtension::Description
IDSSExtension::ExtensionUnits
IDSSExtension::LowestAnalysisLevel
IDSSExtension::Name
IDSSExtensions
IDSSExtensionUnit
IDSSExtensionUnit::Attributes
IDSSExtensionUnit::Relationship
IDSSExtensionUnits
IDSSExtensionUnits::Add
IDSSExtensionUnits::Clear
IDSSExtensionUnits::Count
IDSSExtensionUnits::Item
IDSSExtensionUnits::Remove
IDSSExtensionUnits::_NewEnum
IDSSExtensions::Add
IDSSExtensions::Clear
IDSSExtensions::Count
IDSSExtensions::Item
IDSSExtensions::Remove
IDSSExtensions::_NewEnum
F
IDSSFact
IDSSFact::Column
IDSSFact::EntryLevel
IDSSFact::Extensions
IDSSFact::Info
IDSSFact::OuterJoinType
IDSSFact::Populate
IDSSFact::Tables
IDSSFactGroup
IDSSFactGroup::Add
IDSSFactGroup::Clear
IDSSFactGroup::Count
IDSSFactGroup::Extensions
IDSSFactGroup::Info
IDSSFactGroup::Item
IDSSFactGroup::Populate
IDSSFactGroup::Remove
IDSSFactGroup::_NewEnum
IDSSFactGroups
IDSSFactGroups::Add
IDSSFactGroups::Clear
IDSSFactGroups::Count
IDSSFactGroups::Item
IDSSFactGroups::Remove
IDSSFactGroups::_NewEnum
IDSSFactInfo
IDSSFactInfo::Expression
IDSSFactInfo::Extensions
IDSSFactInfo::Fact
IDSSFacts
IDSSFacts::Add
IDSSFacts::Clear
IDSSFacts::Count
IDSSFacts::Item
IDSSFacts::Remove
IDSSFacts::_NewEnum
IDSSFilter
IDSSFilter::Expression
IDSSFilter::FilterType
IDSSFilter::Info
IDSSFilter::Populate
IDSSFilter::Root
IDSSFolder
IDSSFolder::AddCopy
IDSSFolder::AddMove
IDSSFolder::Add
IDSSFolder::Clear
IDSSFolder::Count
IDSSFolder::Filtering
IDSSFolder::FindTypedObjects
IDSSFolder::FolderType
IDSSFolder::Info
IDSSFolder::Item
IDSSFolder::NewHierarchy
IDSSFolder::Parent
IDSSFolder::Remove
IDSSFolder::Root
IDSSFolder::Search
IDSSFolder::Special
IDSSFolder::SubFoldersCount
IDSSFolder::Types
IDSSFolder::View
IDSSFolder::_NewEnum
IDSSFormShortcut
IDSSFormShortcut::Attribute
IDSSFormShortcut::Form
IDSSFormShortcut::Node
IDSSFormShortcut::Populate
IDSSFunction
IDSSFunction::Add
IDSSFunction::AnalyticalFunctionType
IDSSFunction::Clear
IDSSFunction::Count
IDSSFunction::FunctionIndex
IDSSFunction::FunctionPropertySet
IDSSFunction::FunctionType
IDSSFunction::InParameterCount
IDSSFunction::Info
IDSSFunction::IsDBOnly
IDSSFunction::IsOrderSignificant
IDSSFunction::IsPrefix
IDSSFunction::Item
IDSSFunction::OutParameterCount
IDSSFunction::Package
IDSSFunction::Parameters
IDSSFunction::PatternType
IDSSFunction::Populate
IDSSFunction::Precedence
IDSSFunction::Remove
IDSSFunction::RepeatedParameter
IDSSFunction::SQLPatternByDatabase
IDSSFunction::SQLPattern
IDSSFunction::SQLSubType
IDSSFunction::SQLType
IDSSFunction::_NewEnum
IDSSFunctionPackageDefinition
IDSSFunctionPackageDefinition::ClassID
IDSSFunctionPackageDefinition::Info
IDSSFunctionPackageDefinition::ProgID
IDSSFunctionParameters
IDSSFunctionParameters::ParamName
IDSSFunctionParameters::ParameterType
IDSSFunctions
IDSSFunctions::Add
IDSSFunctions::Clear
IDSSFunctions::Count
IDSSFunctions::Item
IDSSFunctions::Remove
IDSSFunctions::_NewEnum
G
IDSSGeneralCacheInfo
IDSSGeneralCacheInfo::CacheHitCount
IDSSGeneralCacheInfo::FileCachePath
IDSSGeneralCacheInfo::MaxCacheCount
IDSSGeneralCacheInfo::SwapPolicy
_DSSGUINotification
_DSSGUINotification::MainStep
_DSSGUINotification::MaxMainSteps
_DSSGUINotification::MaxSubSteps
_DSSGUINotification::SubStep
H
_DSSHAttribute
_DSSHAttribute::AddBaseForm
_DSSHAttribute::AddChildren
_DSSHAttribute::AddCompoundForm
_DSSHAttribute::ID
_DSSHAttribute::Info
_DSSHAttribute::Init
_DSSHAttribute::LockSchema
_DSSHAttribute::Name
_DSSHAttribute::UnLockSchema
_DSSHAttributeForm
_DSSHAttributeForm::ID
_DSSHAttributeForm::Info
_DSSHAttributeForm::Init
_DSSHAttributeForm::LockSchema
_DSSHAttributeForm::Name
_DSSHAttributeForm::UnLockSchema
_DSSHColumn
_DSSHColumn::ID
_DSSHColumn::Info
_DSSHColumn::Init
_DSSHColumn::LockSchema
_DSSHColumn::Name
_DSSHColumn::UnLockSchema
_DSSHDBTable
_DSSHDBTable::AddColumn
_DSSHDBTable::ID
_DSSHDBTable::Info
_DSSHDBTable::Init
_DSSHDBTable::LockSchema
_DSSHDBTable::Name
_DSSHDBTable::UnLockSchema
_DSSHDimension
_DSSHDimension::AddAttribute
_DSSHDimension::ID
_DSSHDimension::Info
_DSSHDimension::Init
_DSSHDimension::LockSchema
_DSSHDimension::Name
_DSSHDimension::UnLockSchema
_DSSHFact
_DSSHFact::AddExtension
_DSSHFact::ID
_DSSHFact::Info
_DSSHFact::Init
_DSSHFact::LockSchema
_DSSHFact::Name
_DSSHFact::UnLockSchema
_DSSHRole
_DSSHRole::ID
_DSSHRole::Info
_DSSHRole::Init
_DSSHRole::LockSchema
_DSSHRole::Name
_DSSHRole::UnLockSchema
_DSSHSchemaObject
_DSSHSchemaObject::ID
_DSSHSchemaObject::Info
_DSSHSchemaObject::LockSchema
_DSSHSchemaObject::Name
_DSSHSchemaObject::UnLockSchema
_DSSHTable
_DSSHTable::AddAttributeInfo
_DSSHTable::AddFactGroups
_DSSHTable::AddFactInfo
_DSSHTable::AddKeyInfo
_DSSHTable::AddPartitionInfo
_DSSHTable::ID
_DSSHTable::Info
_DSSHTable::Init
_DSSHTable::LockSchema
_DSSHTable::Name
_DSSHTable::UnLockSchema
I
IDSSInBox
IDSSInBox::Add
IDSSInBox::ChangeItemStatus
IDSSInBox::Clear
IDSSInBox::Count
IDSSInBox::GetMsgResult
IDSSInBox::IsFull
IDSSInBox::Item
IDSSInBox::MaxCount
IDSSInBox::Remove
IDSSInBox::SendMsg
IDSSInBox::_NewEnum
IDSSInBoxMsg
IDSSInBoxMsg::ClientType
IDSSInBoxMsg::FinishTime
IDSSInBoxMsg::FolderID
IDSSInBoxMsg::FolderName
IDSSInBoxMsg::Locale
IDSSInBoxMsg::MsgCreationTime
IDSSInBoxMsg::MsgID
IDSSInBoxMsg::MsgModificationTime
IDSSInBoxMsg::MsgStatus
IDSSInBoxMsg::MsgText
IDSSInBoxMsg::MsgTitle
IDSSInBoxMsg::MsgType
IDSSInBoxMsg::ObjCreatorName
IDSSInBoxMsg::ObjDescription
IDSSInBoxMsg::ObjectID
IDSSInBoxMsg::ParentMsgID
IDSSInBoxMsg::ProjectID
IDSSInBoxMsg::ProjectName
IDSSInBoxMsg::RqstStatus
IDSSInBoxMsg::RqstType
IDSSInBoxMsg::StartTime
IDSSInBoxMsg::UserProperty
J
IDSSJob
IDSSJob::Close
IDSSJob::CreationTime
IDSSJob::CurrentUnit
IDSSJob::Description
IDSSJob::ErrorMessage
IDSSJob::Filter
IDSSJob::FinishTime
IDSSJob::FinishedStepCount
IDSSJob::FinishedStepElapseTime
IDSSJob::FinishedStepFinishTime
IDSSJob::FinishedStepId
IDSSJob::FinishedStepPU
IDSSJob::FinishedStepStartTime
IDSSJob::FinishedStepThread
IDSSJob::FinishedStep
IDSSJob::Id
IDSSJob::JobStatus
IDSSJob::JobType
IDSSJob::MachineName
IDSSJob::NetAddress
IDSSJob::Owner
IDSSJob::PUCount
IDSSJob::PUEnterTime
IDSSJob::PUExitTime
IDSSJob::PUId
IDSSJob::PUPriority
IDSSJob::PUStartTime
IDSSJob::Priority
IDSSJob::ProjectId
IDSSJob::ProjectName
IDSSJob::Refresh
IDSSJob::RunningThread
IDSSJob::SQL
IDSSJob::Source
IDSSJob::StatusTime
IDSSJob::Status
IDSSJob::Template
IDSSJob::TodoStepCount
IDSSJob::TodoStepId
IDSSJob::TodoStepList
IDSSJob::TodoStepPU
IDSSJob::TodoStepStartTime
IDSSJob::TodoStepThread
IDSSJob::TodoStep
IDSSJob::TotalJobPasses
IDSSJob::TotalTables
IDSSJob::UserName
IDSSJobManager
IDSSJobManager::Close
IDSSJobManager::GetJobs
IDSSJobManager::GetUserJobs
IDSSJobManager::RefreshJob
IDSSJobPriorityMap
IDSSJobPriorityMap::Add
IDSSJobPriorityMap::Count
IDSSJobPriorityMap::DefaultPriority
IDSSJobPriorityMap::DeleteByName
IDSSJobPriorityMap::Delete
IDSSJobPriorityMap::Description
IDSSJobPriorityMap::ItemByName
IDSSJobPriorityMap::Item
IDSSJobPriorityMap::Name
IDSSJobPriorityMap::ReportCostWeight
IDSSJobPriorityMapEntry
IDSSJobPriorityMapEntry::Application
IDSSJobPriorityMapEntry::Name
IDSSJobPriorityMapEntry::Project
IDSSJobPriorityMapEntry::ReportCost
IDSSJobPriorityMapEntry::RequestType
IDSSJobPriorityMapEntry::User
IDSSJobPriorityMapEntrys
IDSSJobPriorityMapEntrys::Add
IDSSJobPriorityMapEntrys::Clear
IDSSJobPriorityMapEntrys::Count
IDSSJobPriorityMapEntrys::Item
IDSSJobPriorityMapEntrys::Remove
IDSSJobPriorityMapEntrys::_NewEnum
IDSSJobs
IDSSJobs::Count
IDSSJobs::Item
IDSSJobs::_NewEnum
L
IDSSLink
IDSSLink::ClearAllItems
IDSSLink::DefaultFromLink
IDSSLink::DefaultFromType
IDSSLink::Info
IDSSLink::IsModified
IDSSLink::LinkPropertySets
IDSSLink::NewLinkItems
IDSSLink::Populate
IDSSLink::SaveAllItems
IDSSLink::Types
IDSSLink::_NewEnum
IDSSLinkItem
IDSSLinkItem::Clear
IDSSLinkItem::Count
IDSSLinkItem::Delete
IDSSLinkItem::IsModified
IDSSLinkItem::ItemByType
IDSSLinkItem::Item
IDSSLinkItem::Populate
IDSSLinkItem::PropertySets
IDSSLinkItem::Refresh
IDSSLinkItem::Save
IDSSLinkItem::_NewEnum
IDSSLinkItems
IDSSLinkItems::AddCopy
IDSSLinkItems::AddItem
IDSSLinkItems::Clear
IDSSLinkItems::Complete
IDSSLinkItems::Count
IDSSLinkItems::DeleteItems
IDSSLinkItems::ExcludeTrivialItems
IDSSLinkItems::FindItemsEx
IDSSLinkItems::FindItemsWithDefaults
IDSSLinkItems::FindItems
IDSSLinkItems::IsModified
IDSSLinkItems::Item
IDSSLinkItems::MaxCount
IDSSLinkItems::Offset
IDSSLinkItems::SaveItems
IDSSLinkItems::SaveModifiedItems
IDSSLinkItems::Total
IDSSLinkItems::Uses
IDSSLinkItems::_NewEnum
M
IDSSMDSecurityFilter
IDSSMDSecurityFilter::BottomLevel
IDSSMDSecurityFilter::Expression
IDSSMDSecurityFilter::Info
IDSSMDSecurityFilter::Populate
IDSSMDSecurityFilter::Root
IDSSMDSecurityFilter::TopLevel
IDSSMetric
IDSSMetric::AllChildrenJoin
IDSSMetric::Column
IDSSMetric::Conditionality
IDSSMetric::DimensionalityPrompt
IDSSMetric::Dimensionality
IDSSMetric::Expression
IDSSMetric::Info
IDSSMetric::IsDecomposable
IDSSMetric::MetricType
IDSSMetric::Populate
IDSSMetric::Root
IDSSMetric::Subtotals
IDSSMetricSubtotal
IDSSMetricSubtotal::Default
IDSSMetricSubtotal::Definition
IDSSMetricSubtotal::Implementation
IDSSMetricSubtotal::Metric
IDSSMetricSubtotal::Name
IDSSMetricSubtotals
IDSSMetricSubtotals::Add
IDSSMetricSubtotals::Clear
IDSSMetricSubtotals::Count
IDSSMetricSubtotals::Item
IDSSMetricSubtotals::Remove
IDSSMetricSubtotals::SetDefault
IDSSMetricSubtotals::_NewEnum
N
IDSSNode
IDSSNode2
IDSSNode2::IsIndependent
IDSSNode::AddCopy
IDSSNode::AddMove
IDSSNode::Add
IDSSNode::CanExpand
IDSSNode::ChildIndex
IDSSNode::Child
IDSSNode::Clear
IDSSNode::Count
IDSSNode::DataType
IDSSNode::DimensionalityPrompt
IDSSNode::DimensionalityType
IDSSNode::Dimensionality
IDSSNode::ExpressionType
IDSSNode::FirstSibling
IDSSNode::IsSpliced
IDSSNode::Item
IDSSNode::Key
IDSSNode::LastSibling
IDSSNode::Name
IDSSNode::Next
IDSSNode::Parent
IDSSNode::Previous
IDSSNode::Remove
IDSSNode::Root
IDSSNode::Special
IDSSNode::Tag
IDSSNode::TextEx
IDSSNode::Text
IDSSNode::Type
IDSSNode::_NewEnum
O
IDSSObjectInfo
IDSSOLAPSorts
IDSSOLAPSorts::Add
IDSSOLAPSorts::Clear
IDSSOLAPSorts::Count
IDSSOLAPSorts::Item
IDSSOLAPSorts::Remove
IDSSOLAPSorts::Sorts
IDSSOLAPSorts::_NewEnum
IDSSObjectInfo::Abbreviation
IDSSObjectInfo::AccessGrantedStr
IDSSObjectInfo::AccessGranted
IDSSObjectInfo::Comments
IDSSObjectInfo::Copy
IDSSObjectInfo::CreationTime
IDSSObjectInfo::Delete
IDSSObjectInfo::Dependents
IDSSObjectInfo::Description
IDSSObjectInfo::Embedded
IDSSObjectInfo::Errors
IDSSObjectInfo::Hidden
IDSSObjectInfo::ID
IDSSObjectInfo::InitialObject
IDSSObjectInfo::LoadFromXMLDOM
IDSSObjectInfo::Load
IDSSObjectInfo::ModificationTime
IDSSObjectInfo::Name
IDSSObjectInfo::Owner
IDSSObjectInfo::Parent
IDSSObjectInfo::Path
IDSSObjectInfo::PopulateObject
IDSSObjectInfo::Prompts
IDSSObjectInfo::PropertySets
IDSSObjectInfo::Refresh
IDSSObjectInfo::SaveToXMLDOM
IDSSObjectInfo::Save
IDSSObjectInfo::Security
IDSSObjectInfo::Source
IDSSObjectInfo::Special
IDSSObjectInfo::State
IDSSObjectInfo::SubType
IDSSObjectInfo::Tag
IDSSObjectInfo::Type
IDSSObjectInfo::Validate
IDSSObjectInfo::Version
IDSSObjectSecurity
IDSSObjectSecurity::AccessList
IDSSObjectSecurity::AccessRightCount
IDSSObjectSecurity::AccessRightNames
IDSSObjectSecurity::AccessRightName
IDSSObjectSecurity::PopulateACL
IDSSObjectSecurity::RefreshAccess
IDSSObjectSecurity::TakeOwnership
IDSSObjectSecurity::UseDefault
IDSSOperator
IDSSOperator::FunctionType
IDSSOperator::Function
IDSSOperator::Node
IDSSOperator::OLAPSorts
IDSSOperator::Prompt
IDSSOperator::Properties
_DSSObjectDiff
_DSSObjectDiff::DestFolder
_DSSObjectDiff::DestObject
_DSSObjectDiff::DiffAction
_DSSObjectDiff::DiffType
_DSSObjectDiff::SourceObject
_DSSObjectDiffs
_DSSObjectDiffs::Add
_DSSObjectDiffs::Clear
_DSSObjectDiffs::CountByType
_DSSObjectDiffs::Count
_DSSObjectDiffs::Item
_DSSObjectDiffs::Remove
_DSSObjectDiffs::_NewEnum
_DSSObjectIDs
_DSSObjectIDs::Add
_DSSObjectIDs::Clear
_DSSObjectIDs::Count
_DSSObjectIDs::Item
_DSSObjectIDs::Remove
_DSSObjectIDs::_NewEnum
P
IDSSParserXgi
IDSSParserXgi::ExpressionNode
IDSSParserXgi::Flags
IDSSParserXgi::InitParsing
IDSSParserXgi::LocalSymbolFolder
IDSSParserXgi::Locale
IDSSParserXgi::NextToken
IDSSParserXgi::ParseTokenStream
IDSSParserXgi::Parse
IDSSParserXgi::SearchObject
IDSSParserXgi::SearchResultsFolder
IDSSParserXgi::SourceObject
IDSSParserXgi::TargetObject
IDSSParserXgi::TargetType
IDSSParserXgi::TokenStream
IDSSParserXgi::TokenizeObject
IDSSPrivileges
IDSSPrivileges::Add
IDSSPrivileges::BitMask
IDSSPrivileges::Clear
IDSSPrivileges::Count
IDSSPrivileges::Description
IDSSPrivileges::Includes
IDSSPrivileges::Item
IDSSPrivileges::Name
IDSSPrivileges::Remove
IDSSPrivileges::SysCount
IDSSPrivileges::_NewEnum
IDSSProcessingUnit
IDSSProcessingUnit::Name
IDSSProcessingUnit::Queue
IDSSProcessingUnit::Setting
IDSSProcessingUnit::Tasks
IDSSProcessingUnits
IDSSProcessingUnits::Add
IDSSProcessingUnits::Clear
IDSSProcessingUnits::Count
IDSSProcessingUnits::Item
IDSSProcessingUnits::Remove
IDSSProcessingUnits::_NewEnum
IDSSProject
IDSSProject::Catalog
IDSSProject::Configuration
IDSSProject::DBConnectionMaps
IDSSProject::DrillMap
IDSSProject::Info
IDSSProject::LogInUser
IDSSProject::LogOutUser
IDSSProject::Populate
IDSSProject::RoleMemberships
IDSSProject::Root
IDSSProject::Schema
IDSSProject::SystemFunction
IDSSProject::SystemLink
IDSSProject::SystemPropertySet
IDSSProject::SystemSubtotal
IDSSProject::UnitDrillMap
IDSSProject::WarehouseDBRoles
IDSSProjectInstance
IDSSProjectInstance::DBConnection
IDSSProjectInstance::DBLogin
IDSSProjectInstance::ID
IDSSProjectInstance::Idle
IDSSProjectInstance::Load
IDSSProjectInstance::MetadataVersion
IDSSProjectInstance::Name
IDSSProjectInstance::ProjectDescription
IDSSProjectInstance::ProjectID
IDSSProjectInstance::ProjectName
IDSSProjectInstance::Resume
IDSSProjectInstance::Status
IDSSProjectInstance::Unload
IDSSProjectInstances
IDSSProjectInstances::Count
IDSSProjectInstances::ItemByIndex
IDSSProjectInstances::ItemByName
IDSSProjectInstances::Item
IDSSProjectInstances::_NewEnum
IDSSProjectReference
IDSSProjectReference::DBConnection
IDSSProjectReference::DBLogin
IDSSProjectReference::FileName
IDSSProjectReference::ID
IDSSProjectReference::InternalProjectID
IDSSProjectReference::LoadFlag
IDSSProjectReference::MetadataDBRole
IDSSProjectReference::MetadataVersion
IDSSProjectReference::Name
IDSSProjectReference::SettingCount
IDSSProjectReference::StatisticsDBLogin
IDSSProjectReference::StatisticsDBRole
IDSSProjectReferences
IDSSProjectReferences::Add
IDSSProjectReferences::Clear
IDSSProjectReferences::Count
IDSSProjectReferences::Item
IDSSProjectReferences::Remove
IDSSProjectReferences::_NewEnum
IDSSPrompt
IDSSPrompt::AnswerList
IDSSPrompt::Answer
IDSSPrompt::AuxiliaryExports
IDSSPrompt::AuxiliaryPrompt
IDSSPrompt::Auxiliary
IDSSPrompt::Closed
IDSSPrompt::Default
IDSSPrompt::ExportsToPrompt
IDSSPrompt::HasPrevious
IDSSPrompt::ImportAs
IDSSPrompt::Importable
IDSSPrompt::Incomplete
IDSSPrompt::Index
IDSSPrompt::Info
IDSSPrompt::IsEquivalentAnswer
IDSSPrompt::Locations
IDSSPrompt::Locked
IDSSPrompt::MaximumExports
IDSSPrompt::MaximumPrompt
IDSSPrompt::Maximum
IDSSPrompt::Meaning
IDSSPrompt::Merge
IDSSPrompt::MinimumExports
IDSSPrompt::MinimumPrompt
IDSSPrompt::Minimum
IDSSPrompt::OriginExports
IDSSPrompt::OriginPrompt
IDSSPrompt::Origin
IDSSPrompt::Populate
IDSSPrompt::Previous
IDSSPrompt::PromptType
IDSSPrompt::Prompts
IDSSPrompt::RestrictionExports
IDSSPrompt::RestrictionPrompt
IDSSPrompt::Restriction
IDSSPrompt::Reuse
IDSSPrompt::Title
IDSSPrompt::Used
IDSSPromptLocation
IDSSPromptLocation::Container
IDSSPromptLocation::Index
IDSSPromptLocation::Prompt
IDSSPromptLocations
IDSSPromptLocations::Count
IDSSPromptLocations::Item
IDSSPromptLocations::_NewEnum
IDSSPrompts
IDSSPrompts::Add
IDSSPrompts::Clear
IDSSPrompts::Count
IDSSPrompts::Item
IDSSPrompts::Remove
IDSSPrompts::_NewEnum
IDSSProperty
IDSSProperty::Default
IDSSProperty::Description
IDSSProperty::EnumerationCount
IDSSProperty::EnumerationName
IDSSProperty::Hidden
IDSSProperty::Name
IDSSProperty::PropertyGroups
IDSSProperty::PropertyID
IDSSProperty::PropertyType
IDSSProperty::UseDefault
IDSSProperty::Value
IDSSPropertyGroup
IDSSPropertyGroup::Add
IDSSPropertyGroup::Clear
IDSSPropertyGroup::Count
IDSSPropertyGroup::Item
IDSSPropertyGroup::Remove
IDSSPropertyGroup::_NewEnum
IDSSPropertyRestriction
IDSSPropertyRestriction::FunctionType
IDSSPropertyRestriction::Property
IDSSPropertyRestriction::Value
IDSSPropertyRestrictions
IDSSPropertyRestrictions::Add
IDSSPropertyRestrictions::Clear
IDSSPropertyRestrictions::Count
IDSSPropertyRestrictions::Item
IDSSPropertyRestrictions::Remove
IDSSPropertyRestrictions::_NewEnum
IDSSPropertySet
IDSSPropertySet::Add
IDSSPropertySet::Clear
IDSSPropertySet::Count
IDSSPropertySet::Info
IDSSPropertySet::Item
IDSSPropertySet::Populate
IDSSPropertySet::PropertyGroups
IDSSPropertySet::Remove
IDSSPropertySet::_NewEnum
_DSSProjectDiffs
_DSSProjectDiffs::Analyze
_DSSProjectDiffs::ApplyChanges
_DSSProjectDiffs::DeadObjects
_DSSProjectDiffs::Destination
_DSSProjectDiffs::Differences
_DSSProjectDiffs::SchemaRelation
_DSSProjectDiffs::Source
Q
IDSSQueue
IDSSQueue::InitThreadCount
IDSSQueue::JobPriorityMap
IDSSQueue::MaxThreadCount
IDSSQueue::MinThreadCount
IDSSQueue::Name
IDSSQueue::PriorityLowerBound
IDSSQueue::PriorityUpperBound
IDSSQueue::SubQueues
IDSSQueues
IDSSQueues::Add
IDSSQueues::Clear
IDSSQueues::Count
IDSSQueues::Item
IDSSQueues::Remove
IDSSQueues::_NewEnum
R
IDSSRelationship
IDSSRelationship::ERType
IDSSRelationship::Expression
IDSSRelationship::Guide
IDSSRelationship::JoinAttributes
IDSSRelationship::JoinType
IDSSRelationship::PartialType
IDSSRelationship::Populate
IDSSRelationship::RelationshipType
IDSSRelationshipNode
IDSSRelationshipNode::Node
IDSSRelationshipNode::Prompt
IDSSRelationshipNode::Relationship
IDSSRelationshipNode::UseSchema
IDSSReportCacheAdmin
IDSSReportCacheAdmin::BackupCache
IDSSReportCacheAdmin::CacheLifeTime
IDSSReportCacheAdmin::CreateCache
IDSSReportCacheAdmin::FileCachePath
IDSSReportCacheAdmin::GetCacheInfos
IDSSReportCacheAdmin::GetCacheInfo
IDSSReportCacheAdmin::LoadAllCaches
IDSSReportCacheAdmin::LoadCache
IDSSReportCacheAdmin::SwapPolicy
IDSSReportCacheAdmin::UnloadCache
IDSSReportCacheAdmin::UpdateCache
IDSSReportCacheInfo
IDSSReportCacheInfo::CacheFileName
IDSSReportCacheInfo::CacheID
IDSSReportCacheInfo::CacheLifeTime
IDSSReportCacheInfo::CacheSize
IDSSReportCacheInfo::CacheStatus
IDSSReportCacheInfo::CacheType
IDSSReportCacheInfo::CreateTime
IDSSReportCacheInfo::ExpireTime
IDSSReportCacheInfo::FilterID
IDSSReportCacheInfo::FilterVersionID
IDSSReportCacheInfo::GetWaitingJob
IDSSReportCacheInfo::HistoricCheck
IDSSReportCacheInfo::HistoricHitCount
IDSSReportCacheInfo::HistoricUpdate
IDSSReportCacheInfo::InboxRefCount
IDSSReportCacheInfo::LastHitTime
IDSSReportCacheInfo::LastLoadTime
IDSSReportCacheInfo::LastUpdateTime
IDSSReportCacheInfo::LoadCheck
IDSSReportCacheInfo::LoadHitCount
IDSSReportCacheInfo::LoadUpdate
IDSSReportCacheInfo::ReportID
IDSSReportCacheInfo::ReportName
IDSSReportCacheInfo::TemplateID
IDSSReportCacheInfo::Version
IDSSReportCacheInfos
IDSSReportCacheInfos::Add
IDSSReportCacheInfos::Clear
IDSSReportCacheInfos::Count
IDSSReportCacheInfos::Item
IDSSReportCacheInfos::Remove
IDSSReportCacheInfos::_NewEnum
IDSSReportDefinition
IDSSReportDefinition2
IDSSReportDefinition2::DatamartReport
IDSSReportDefinition::BaseReport
IDSSReportDefinition::DeclinePrompts
IDSSReportDefinition::DisplayMode
IDSSReportDefinition::FilterPrompt
IDSSReportDefinition::Filter
IDSSReportDefinition::HistoricalCost
IDSSReportDefinition::Info
IDSSReportDefinition::Populate
IDSSReportDefinition::PropertyTargets
IDSSReportDefinition::ReportType
IDSSReportDefinition::Resolution
IDSSReportDefinition::TemplatePrompt
IDSSReportDefinition::Template
IDSSReportDefinition::UserSuppliedCost
IDSSReportDefinition::Views
IDSSReportInstance
IDSSReportInstance2
IDSSReportInstance2::ReportDetails
IDSSReportInstance2::SaveReportResult
IDSSReportInstance3
IDSSReportInstance3::CacheID
IDSSReportInstance3::MessageID
IDSSReportInstance::Alerts
IDSSReportInstance::AppObjects
IDSSReportInstance::ApplyDrill
IDSSReportInstance::BaseInstance
IDSSReportInstance::BaseReportInstance
IDSSReportInstance::CancelExecution
IDSSReportInstance::ClearAll
IDSSReportInstance::Cookie
IDSSReportInstance::Definition
IDSSReportInstance::DrillAction
IDSSReportInstance::DrillElements
IDSSReportInstance::DrillPaths
IDSSReportInstance::DrillTemplateUnit
IDSSReportInstance::DrillView
IDSSReportInstance::EstimatedCost
IDSSReportInstance::EvaluateView
IDSSReportInstance::ExecuteActions
IDSSReportInstance::ExecuteAsView
IDSSReportInstance::ExecuteFlags
IDSSReportInstance::Execute
IDSSReportInstance::ExecutionProgress
IDSSReportInstance::ExecutionStatus
IDSSReportInstance::Filter
IDSSReportInstance::HistoricalCost
IDSSReportInstance::JobID
IDSSReportInstance::LookUpProperty
IDSSReportInstance::NewDrillInstance
IDSSReportInstance::OriginalDefinition
IDSSReportInstance::OriginalFilter
IDSSReportInstance::OriginalTemplate
IDSSReportInstance::PauseExecution
IDSSReportInstance::Project
IDSSReportInstance::RefreshState
IDSSReportInstance::ReportSource
IDSSReportInstance::Resolution
IDSSReportInstance::ResultSetSize
IDSSReportInstance::ResultUpdateTime
IDSSReportInstance::ResumeExecution
IDSSReportInstance::SQLs
IDSSReportInstance::SaveAs
IDSSReportInstance::SaveGraphToFile
IDSSReportInstance::SaveToXMLDOM
IDSSReportInstance::Schema
IDSSReportInstance::SearchForPaths
IDSSReportInstance::State
IDSSReportInstance::Template
IDSSReportInstance::UseSubsetReport
IDSSReportInstance::UserSuppliedCost
IDSSReportInstance::User
IDSSReportInstance::Views
IDSSReportInstance::XTabDataAccess
IDSSReportNetClient
IDSSReportNetClient::Init
IDSSReportNetClient::ProjectID
IDSSReportNetClient::RemoteTimeOut
IDSSReportNetClient::ServerNet
IDSSReportSource
IDSSReportSource::AnswerPrompt
IDSSReportSource::ExecuteDefinition
IDSSReportSource::ExecuteFT
IDSSReportSource::ExecuteSQL
IDSSReportSource::Execute
IDSSReportSource::GenerateAlerts
IDSSReportSource::GenerateSQL
IDSSReportSource::GetCacheAdmin
IDSSReportSource::NewDrillInstance
IDSSReportSource::NewInstanceFT
IDSSReportSource::NewInstance
IDSSReportSource::RemoveCache
IDSSReportSource::Resolve
IDSSReportSource::Xtab
IDSSReportSourceEvents
IDSSReportSourceServer
IDSSReportSourceServer::Init
IDSSReportSourceServer::Process
IDSSReportSourceServer::ReportSource
IDSSReportSourceServer::Source
IDSSRequest
IDSSRequest::Executor
IDSSRequest::Info
IDSSRequest::Script
IDSSResolution
IDSSResolution2
IDSSResolution2::Answers
IDSSResolution::Add
IDSSResolution::Apply
IDSSResolution::CleanUp
IDSSResolution::Clear
IDSSResolution::Combine
IDSSResolution::Count
IDSSResolution::Info
IDSSResolution::IsEquivalentAnswer
IDSSResolution::IsLessThan
IDSSResolution::Item
IDSSResolution::LoadAnswersFromXML
IDSSResolution::NextPrompt
IDSSResolution::Populate
IDSSResolution::Remove
IDSSResolution::Resolve
IDSSResolution::_NewEnum
IDSSRole
IDSSRole::ERType
IDSSRole::Info
IDSSRole::Populate
IDSSRole::Prefix
IDSSRole::RoleType
IDSSRoleMembership
IDSSRoleMembership::IsModified
IDSSRoleMembership::Membership
IDSSRoleMembership::Refresh
IDSSRoleMembership::SaveChanges
IDSSRoleMembership::SecurityRole
IDSSRoleMemberships
IDSSRoleMemberships::Add
IDSSRoleMemberships::Clear
IDSSRoleMemberships::Count
IDSSRoleMemberships::FindRoles
IDSSRoleMemberships::IsModified
IDSSRoleMemberships::Item
IDSSRoleMemberships::Refresh
IDSSRoleMemberships::Remove
IDSSRoleMemberships::SaveChanges
IDSSRoleMemberships::_NewEnum
IDSSRoles
IDSSRoles::Add
IDSSRoles::Clear
IDSSRoles::Count
IDSSRoles::Item
IDSSRoles::Remove
IDSSRoles::_NewEnum
_DSSReportHelper
_DSSReportHelper::AssembleGrid
S
IDSSScheduleAdministrator
IDSSScheduleAdministrator2
IDSSSQL
IDSSSQL::DisplayCleanup
IDSSSQL::DisplaySQL
IDSSSQL::Statement
IDSSSQLEngineServer
IDSSSQLEngineServer::Execute
IDSSSQLEngineServer::Init
IDSSSQLEngineServer::ResetSchema
IDSSSQLs
IDSSSQLs::Add
IDSSSQLs::Count
IDSSSQLs::Item
IDSSSQLs::_NewEnum
IDSSSQLsServer
IDSSSQLsServer::NewSQLs
IDSSScheduleAdministrator2::Schedule
IDSSScheduleAdministrator::FireEvent
IDSSScheduleEvent
IDSSScheduleEvent::Info
IDSSScheduleInstance
IDSSScheduleInstance::EventID
IDSSScheduleInstance::EventName
IDSSScheduleInstance::ID
IDSSScheduleInstance::Name
IDSSScheduleInstance::NextExecTime
IDSSScheduleInstance::ProjectID
IDSSScheduleInstance::ProjectName
IDSSScheduleInstance::RequestID
IDSSScheduleInstance::RequestName
IDSSScheduleInstance::TriggerID
IDSSScheduleInstance::TriggerName
IDSSScheduleInstance::Type
IDSSScheduleInstance::Unload
IDSSScheduleInstance::UserID
IDSSScheduleInstance::UserName
IDSSScheduleInstances
IDSSScheduleInstances::Count
IDSSScheduleInstances::ItemByIndex
IDSSScheduleInstances::ItemByName
IDSSScheduleInstances::Item
IDSSScheduleInstances::_NewEnum
IDSSScheduleObject
IDSSScheduleObject::Info
IDSSScheduleObject::Request
IDSSScheduleObject::ScheduleTrigger
IDSSScheduleTrigger
IDSSScheduleTrigger::EndTime
IDSSScheduleTrigger::Event
IDSSScheduleTrigger::Info
IDSSScheduleTrigger::MaxOccurrences
IDSSScheduleTrigger::OccurrencesLeft
IDSSScheduleTrigger::StartTime
IDSSScheduleTrigger::TimePointSeries
IDSSSchema
IDSSSchema::Attributes
IDSSSchema::Columns
IDSSSchema::Dimensions
IDSSSchema::FactGroups
IDSSSchema::Facts
IDSSSchema::Forms
IDSSSchema::Functions
IDSSSchema::Info
IDSSSchema::Populate
IDSSSchema::Roles
IDSSSchema::SystemDimension
IDSSSchema::Tables
IDSSScript
IDSSScript::Statement
IDSSScriptProcessor
IDSSScriptProcessor::CreateObjects
IDSSScriptProcessor::GetObjectInfo
IDSSScriptProcessor::Load
IDSSScriptProcessor::ObjectCount
IDSSScriptProcessor::SymbolID
IDSSScriptServer
IDSSScriptServer::CancelRequest
IDSSScriptServer::GetRequestResult
IDSSScriptServer::ReportView
IDSSScriptServer::SendRequest
IDSSSearch
IDSSSearch::AbbreviationPattern
IDSSSearch::AccessRights
IDSSSearch::BeginTime
IDSSSearch::Clear
IDSSSearch::DescriptionPattern
IDSSSearch::Domain
IDSSSearch::EndTime
IDSSSearch::Execute
IDSSSearch::Flags
IDSSSearch::Info
IDSSSearch::IntervalUnit
IDSSSearch::MaxObjects
IDSSSearch::NamePattern
IDSSSearch::Populate
IDSSSearch::PropertyRestrictions
IDSSSearch::SID
IDSSSearch::SearchOwner
IDSSSearch::SearchRoot
IDSSSearch::StateClear
IDSSSearch::StateSet
IDSSSearch::TimeInterval
IDSSSearch::Types
IDSSSearch::UsedBy
IDSSSearch::Uses
IDSSSecurityRole
IDSSSecurityRole::Info
IDSSSecurityRole::Privileges
IDSSServerAdmin
IDSSServerAdmin::CacheAdministrator
IDSSServerAdmin::ChangeUserPassword
IDSSServerAdmin::CloseUserSession
IDSSServerAdmin::ClusterManager
IDSSServerAdmin::ConfigurationID
IDSSServerAdmin::Create
IDSSServerAdmin::DBMonitors
IDSSServerAdmin::DBMonitors
IDSSServerAdmin::DataSource
IDSSServerAdmin::DiagLogFlag
IDSSServerAdmin::DisconnectUser
IDSSServerAdmin::GetUserInBox
IDSSServerAdmin::Idle
IDSSServerAdmin::JobManager
IDSSServerAdmin::LoginProject
IDSSServerAdmin::LogoutProject
IDSSServerAdmin::Name
IDSSServerAdmin::Ping
IDSSServerAdmin::ProjectInstances
IDSSServerAdmin::RefreshUserObjects
IDSSServerAdmin::RunRequestByID
IDSSServerAdmin::RunRequest
IDSSServerAdmin::SaveInboxToFile
IDSSServerAdmin::ScheduleInstances
IDSSServerAdmin::ServerID
IDSSServerAdmin::ServerNet
IDSSServerAdmin::ServerSummary
IDSSServerAdmin::ServiceName
IDSSServerAdmin::Session
IDSSServerAdmin::Start
IDSSServerAdmin::Statistics
IDSSServerAdmin::Status
IDSSServerAdmin::Stop
IDSSServerAdmin::UpdateDiagnostics
IDSSServerAdmin::UserSessions
IDSSServerDef
IDSSServerDef::Channels
IDSSServerDef::Configuration
IDSSServerDef::InboxFilePath
IDSSServerDef::InboxWriteToDiskFreq
IDSSServerDef::Info
IDSSServerDef::JobPriorityMap
IDSSServerDef::ObjectBucketPerLock
IDSSServerDef::ObjectCacheFilePath
IDSSServerDef::ObjectMaxCacheCount
IDSSServerDef::ObjectMaxCacheSize
IDSSServerDef::Populate
IDSSServerDef::ProcessingUnits
IDSSServerDef::ProjectReferences
IDSSServerDef::SettingCount
IDSSServerDef::Setting
IDSSServerDef::Tasks
IDSSServerMemAdmin
IDSSServerMemAdmin::Checkpoint
IDSSServerMemAdmin::GetAllocations
IDSSServerMemAdmin::MemMisc
IDSSServerMemAdmin::NTCounter
IDSSServerMemAdmin::Refresh
IDSSServerSummary
IDSSServerSummary::ServerSummary
IDSSSession
IDSSSession::ChangeUserPassword
IDSSSession::CheckUserPrivilege
IDSSSession::ClientServices
IDSSSession::Close
IDSSSession::Component
IDSSSession::DataSource
IDSSSession::ElementSource
IDSSSession::InBox
IDSSSession::ObjectSource
IDSSSession::ReportSource
IDSSSession::ServerAdmin
IDSSSession::ServerNet
IDSSSession::UserName
IDSSSession::UserRuntime
IDSSSession::User
IDSSShortcut
IDSSShortcut::Exports
IDSSShortcut::IsMe
IDSSShortcut::Node
IDSSShortcut::Populate
IDSSShortcut::Prompt
IDSSShortcut::TargetID
IDSSShortcut::TargetName
IDSSShortcut::TargetPath
IDSSShortcut::TargetType
IDSSShortcut::Target
IDSSShortcutObject
IDSSShortcutObject::Info
IDSSShortcutObject::Populate
IDSSShortcutObject::TargetID
IDSSShortcutObject::TargetName
IDSSShortcutObject::TargetType
IDSSShortcutObject::Target
IDSSSort
IDSSSort::Ascending
IDSSSort::Attribute
IDSSSort::Consolidation
IDSSSort::CustomGroup
IDSSSort::Dimension
IDSSSort::Elements
IDSSSort::Form
IDSSSort::Index
IDSSSort::Locale
IDSSSort::Metric
IDSSSort::SortType
IDSSSort::SubtotalsPosition
IDSSSort::Subtotal
IDSSSorts
IDSSSorts::Add
IDSSSorts::Clear
IDSSSorts::Count
IDSSSorts::Item
IDSSSorts::Order
IDSSSorts::Remove
IDSSSorts::_NewEnum
IDSSSource
IDSSSource2
IDSSSource2::GetPropertiesXML
IDSSSource2::LockObject
IDSSSource2::PutPropertiesXML
IDSSSource2::QueryObjectLock
IDSSSource2::UnlockObject
IDSSSource::Administrator
IDSSSource::Configuration
IDSSSource::CopyObject
IDSSSource::DeleteObject
IDSSSource::ExecuteSearch
IDSSSource::FindObject
IDSSSource::LoadSchema
IDSSSource::MoveObject
IDSSSource::NameScope
IDSSSource::NewObject
IDSSSource::Project
IDSSSource::RefreshObject
IDSSSource::ReplaceDependents
IDSSSource::Root
IDSSSource::SaveObject
IDSSSource::Schema
IDSSSource::Separator
IDSSSourceEvents
IDSSSourceEvents::FindObjectComplete
IDSSSourceEvents::LoadObjectComplete
IDSSSourceEvents::ProgressReport
IDSSStatement
IDSSStatement2
IDSSStatement2::User
IDSSStatement::CommandID
IDSSStatement::Name
IDSSStatement::ParameterCount
IDSSStatement::ParametersMode
IDSSStatement::Parameter
IDSSStatement::StatementType
IDSSStatement::Substatements
IDSSStatements
IDSSStatements::Add
IDSSStatements::Clear
IDSSStatements::Count
IDSSStatements::Item
IDSSStatements::Remove
IDSSStatements::_NewEnum
IDSSStatistics
IDSSStatistics::GetCollectionSetting
IDSSStatistics::Purge
IDSSStatistics::SetCollectionSetting
_DSSSchemaHelper
_DSSSUSessPool
_DSSSUSessPool::BusyCount
_DSSSUSessPool::Checkin
_DSSSUSessPool::Checkout
_DSSSUSessPool::CloseAllSessions
_DSSSUSessPool::CreatePool
_DSSSUSessPool::CreateSession
_DSSSUSessPool::ExpandPool
_DSSSUSessPool::FailCount
_DSSSUSessPool::InitPool
_DSSSUSessPool::MaxUsers
_DSSSUSessPool::PassWord
_DSSSUSessPool::PoolSize
_DSSSUSessPool::PortNumber
_DSSSUSessPool::ProjectName
_DSSSUSessPool::ServerName
_DSSSUSessPool::SessionPool
_DSSSUSessPool::UserName
_DSSSUSessPoolMgr
_DSSSUSessPoolMgr::AddPrimaryServer
_DSSSUSessPoolMgr::AddServer
_DSSSUSessPoolMgr::CheckIn
_DSSSUSessPoolMgr::CheckOut
_DSSSUSessPoolMgr::CurBackUpPool
_DSSSUSessPoolMgr::CurPrimaryPool
_DSSSUSessPoolMgr::DoTracing
_DSSSUSessPoolMgr::FailRate
_DSSSUSessPoolMgr::Init
_DSSSUSessPoolMgr::Notify
_DSSSUSessPoolMgr::PoolSize
_DSSSUSessPoolMgr::ProjectName
_DSSSUSessPoolMgr::ServerFailMsg
_DSSSUSessPoolMgr::ShutDown
_DSSSchemaHelper::AttrFormFolder
_DSSSchemaHelper::AttributeFolder
_DSSSchemaHelper::ColumnFolder
_DSSSchemaHelper::DBTableFolder
_DSSSchemaHelper::DimensionFolder
_DSSSchemaHelper::FactFolder
_DSSSchemaHelper::NewObject2
_DSSSchemaHelper::NewObject
_DSSSchemaHelper::RoleFolder
_DSSSchemaHelper::Session
_DSSSchemaHelper::Source
_DSSSchemaHelper::TableFolder
_DSSSchemaServices
_DSSSchemaServices::CopyObject
_DSSSchemaServices::DeleteObject
_DSSSchemaServices::NewObject
T
IDSSTable
IDSSTable::AttributeInfos
IDSSTable::DbTable
IDSSTable::Extensions
IDSSTable::FactGroups
IDSSTable::FactInfos
IDSSTable::HomogeneousDefn
IDSSTable::Info
IDSSTable::IsPartOfPartition
IDSSTable::IsTrueKey
IDSSTable::PartitionFilter
IDSSTable::PartitionLevel
IDSSTable::PartitionTables
IDSSTable::Populate
IDSSTable::PrimaryDBRole
IDSSTable::PrimaryTable
IDSSTable::SecondaryDBRoles
IDSSTable::Size
IDSSTable::TableKey
IDSSTable::TableType
IDSSTables
IDSSTableSource
IDSSTableSource::Info
IDSSTableSource::Populate
IDSSTableSource::Prefix
IDSSTableSource::Suffix
IDSSTableSources
IDSSTableSources::Add
IDSSTableSources::Clear
IDSSTableSources::Count
IDSSTableSources::Item
IDSSTableSources::Remove
IDSSTableSources::_NewEnum
IDSSTables::Add
IDSSTables::Clear
IDSSTables::Count
IDSSTables::Item
IDSSTables::Remove
IDSSTables::_NewEnum
IDSSTask
IDSSTask::Description
IDSSTask::Name
IDSSTasks
IDSSTasks::Add
IDSSTasks::Clear
IDSSTasks::Count
IDSSTasks::Item
IDSSTasks::Remove
IDSSTasks::_NewEnum
IDSSTemplate
IDSSTemplate::ApplyDeltaXML
IDSSTemplate::Axes
IDSSTemplate::Columns
IDSSTemplate::CustomSubtotals
IDSSTemplate::Data
IDSSTemplate::DrillMap
IDSSTemplate::FilterExports
IDSSTemplate::Filter
IDSSTemplate::Info
IDSSTemplate::IsActive
IDSSTemplate::IsSubset
IDSSTemplate::MergeSubset
IDSSTemplate::Metrics
IDSSTemplate::PageOrdinal
IDSSTemplate::Pages
IDSSTemplate::Populate
IDSSTemplate::PropertyTargets
IDSSTemplate::Rows
IDSSTemplate::Subtotals
IDSSTemplate::SubtractBase
IDSSTemplate::Units
IDSSTemplateAttribute
IDSSTemplateAttribute::AttributePrompt
IDSSTemplateAttribute::Attribute
IDSSTemplateAttribute::Dimension
IDSSTemplateAttribute::Forms
IDSSTemplateAttribute::PartialType
IDSSTemplateAttribute::TemplateUnit
IDSSTemplateAttribute::UseDefault
IDSSTemplateAttributes
IDSSTemplateAttributes::Count
IDSSTemplateAttributes::Item
IDSSTemplateAttributes::_NewEnum
IDSSTemplateConsolidation
IDSSTemplateConsolidation::Depth
IDSSTemplateConsolidation::Flatten
IDSSTemplateConsolidation::Focus
IDSSTemplateConsolidation::Height
IDSSTemplateCustomGroup
IDSSTemplateCustomGroup::Depth
IDSSTemplateCustomGroup::Flatten
IDSSTemplateCustomGroup::Forms
IDSSTemplateCustomGroup::Height
IDSSTemplateCustomGroup::UseDefault
IDSSTemplateDimension
IDSSTemplateDimension::Dimension
IDSSTemplateDimension::Forms
IDSSTemplateDimension::TemplateUnit
IDSSTemplateDimension::UseDefault
IDSSTemplateMetric
IDSSTemplateMetric::Alias
IDSSTemplateMetric::EvaluationOrder
IDSSTemplateMetric::Index
IDSSTemplateMetric::IsDecomposed
IDSSTemplateMetric::MetricExports
IDSSTemplateMetric::MetricLimit
IDSSTemplateMetric::MetricPrompt
IDSSTemplateMetric::Metric
IDSSTemplateMetrics
IDSSTemplateMetrics::Add
IDSSTemplateMetrics::Count
IDSSTemplateMetrics::EvaluationOrder
IDSSTemplateMetrics::Item
IDSSTemplateMetrics::MetricLimitType
IDSSTemplateMetrics::MetricLimit
IDSSTemplateMetrics::MetricsPrompt
IDSSTemplateMetrics::Remove
IDSSTemplateMetrics::TemplateUnit
IDSSTemplateMetrics::_NewEnum
IDSSTemplates
IDSSTemplateSubtotal
IDSSTemplateSubtotal::Add
IDSSTemplateSubtotal::AxisSubtotals
IDSSTemplateSubtotal::Clear
IDSSTemplateSubtotal::Count
IDSSTemplateSubtotal::Definition
IDSSTemplateSubtotal::EvaluationOrder
IDSSTemplateSubtotal::Index
IDSSTemplateSubtotal::Item
IDSSTemplateSubtotal::Name
IDSSTemplateSubtotal::Remove
IDSSTemplateSubtotal::SubtotalType
IDSSTemplateSubtotal::_NewEnum
IDSSTemplateSubtotals
IDSSTemplateSubtotals::Add
IDSSTemplateSubtotals::Clear
IDSSTemplateSubtotals::Count
IDSSTemplateSubtotals::Item
IDSSTemplateSubtotals::Remove
IDSSTemplateSubtotals::_NewEnum
IDSSTemplateUnit
IDSSTemplateUnit::AxisIndex
IDSSTemplateUnit::Axis
IDSSTemplateUnit::CurrentElements
IDSSTemplateUnit::CurrentElement
IDSSTemplateUnit::DrillMap
IDSSTemplateUnit::HeaderCount
IDSSTemplateUnit::Index
IDSSTemplateUnit::IsGrouped
IDSSTemplateUnit::IsNormalOrder
IDSSTemplateUnit::Name
IDSSTemplateUnit::Prompt
IDSSTemplateUnit::Special
IDSSTemplateUnit::Subtotals
IDSSTemplateUnit::UnitElements
IDSSTemplateUnit::UnitType
IDSSTemplateUnits
IDSSTemplateUnits::Count
IDSSTemplateUnits::Item
IDSSTemplateUnits::_NewEnum
IDSSTemplates::Add
IDSSTemplates::Clear
IDSSTemplates::Count
IDSSTemplates::EvaluateItem
IDSSTemplates::Item
IDSSTemplates::Remove
IDSSTemplates::_NewEnum
IDSSTextConvertor
IDSSTextConvertor::DoubleToTextH
IDSSTextConvertor::DoubleToText
IDSSTextConvertor::GetFormatHandle
IDSSTextConvertor::LongToTextH
IDSSTextConvertor::LongToText
IDSSTextConvertor::TextToDouble
IDSSTextConvertor::TextToLong
IDSSTime
IDSSTime::DateTime
IDSSTime::DayOfWeek
IDSSTime::Day
IDSSTime::Difference
IDSSTime::DynamicDayOffset
IDSSTime::DynamicTime
IDSSTime::Format
IDSSTime::GetNthTimePointBefore
IDSSTime::GetShift
IDSSTime::Hour
IDSSTime::Init
IDSSTime::IsEqualTo
IDSSTime::IsGmt
IDSSTime::IsGreaterThan
IDSSTime::IsLessThan
IDSSTime::MilliSeconds
IDSSTime::Minutes
IDSSTime::Mode
IDSSTime::Month
IDSSTime::Name
IDSSTime::PopulateDefn
IDSSTime::Seconds
IDSSTime::Shift
IDSSTime::Text
IDSSTime::Week
IDSSTime::Week
IDSSTime::Year
IDSSTimeNode
IDSSTimeNode::Node
IDSSTimeNode::Prompt
IDSSTimeNode::Time
IDSSTimePeriod
IDSSTimePeriod::Days
IDSSTimePeriod::Hours
IDSSTimePeriod::MilliSeconds
IDSSTimePeriod::Minutes
IDSSTimePeriod::Months
IDSSTimePeriod::Seconds
IDSSTimePeriod::Weeks
IDSSTimePeriod::Years
IDSSTimePointSeries
IDSSTimePointSeries::DayOfWeek
IDSSTimePointSeries::DayRecurrence
IDSSTimePointSeries::Day
IDSSTimePointSeries::GetAllTimePoints
IDSSTimePointSeries::HourRecurrence
IDSSTimePointSeries::Hour
IDSSTimePointSeries::MinuteRecurrence
IDSSTimePointSeries::Minute
IDSSTimePointSeries::MonthRecurrence
IDSSTimePointSeries::Month
IDSSTimePointSeries::SecondRecurrence
IDSSTimePointSeries::Second
IDSSTimePointSeries::WeekRecurrence
IDSSTimePointSeries::Week
IDSSTimePointSeries::Window
IDSSTimePointSeries::YearRecurrence
IDSSTimePointSeries::Year
IDSSTimes
IDSSTimes::Add
IDSSTimes::Clear
IDSSTimes::Count
IDSSTimes::Item
IDSSTimes::Remove
IDSSTimes::_NewEnum
IDSSToken
IDSSToken::Context
IDSSToken::Extra
IDSSToken::Length
IDSSToken::Level
IDSSToken::ObjectType
IDSSToken::Object
IDSSToken::Populate
IDSSToken::StartPosition
IDSSToken::State
IDSSToken::Tag
IDSSToken::Type
IDSSToken::Value
IDSSTokenStream
IDSSTokenStream::Add
IDSSTokenStream::Clear
IDSSTokenStream::Count
IDSSTokenStream::Insert
IDSSTokenStream::Item
IDSSTokenStream::Remove
IDSSTokenStream::Text
IDSSTokenStream::_NewEnum
IDSSTypeMapping
IDSSTypeMapping::SetDSSToNative
IDSSTypeMapping::SetNativeToDSS
IDSSTypes
IDSSTypes::Add
IDSSTypes::Clear
IDSSTypes::Count
IDSSTypes::Item
IDSSTypes::Remove
IDSSTypes::_NewEnum
U
IDSSUser
IDSSUser::Info
IDSSUser::IsGroup
IDSSUser::Membership
IDSSUser::Populate
IDSSUser::UserAccount
IDSSUserAccount
IDSSUserAccount::CopyMembership
IDSSUserAccount::Enabled
IDSSUserAccount::GetWindowsNTSID
IDSSUserAccount::InBox
IDSSUserAccount::Info
IDSSUserAccount::Membership
IDSSUserAccount::PasswordModifiable
IDSSUserAccount::Privileges
IDSSUserAccount::ProjectAccessible
IDSSUserAccount::RDBMSLogin
IDSSUserAccount::SetPassword
IDSSUserAccount::SetWindowsNTSID
IDSSUserAccount::StandardAuthAllowed
IDSSUserAccount::UserSecurityFilters
IDSSUserAccount::User
IDSSUserAcctSvcs
IDSSUserAcctSvcs2
IDSSUserAcctSvcs2::FindProfileFolder
IDSSUserAcctSvcs2::GetProfileProjects
IDSSUserAcctSvcs2::IsCreateProfile
IDSSUserAcctSvcs::AddMember
IDSSUserAcctSvcs::Administrator
IDSSUserAcctSvcs::ClearMembership
IDSSUserAcctSvcs::CreateGroup
IDSSUserAcctSvcs::CreateUserProfile
IDSSUserAcctSvcs::CreateUser
IDSSUserAcctSvcs::DeleteGroup
IDSSUserAcctSvcs::DeleteUserProfile
IDSSUserAcctSvcs::DeleteUser
IDSSUserAcctSvcs::DuplicateGroup
IDSSUserAcctSvcs::DuplicateUser
IDSSUserAcctSvcs::Everyone
IDSSUserAcctSvcs::Groups
IDSSUserAcctSvcs::LoadUsers
IDSSUserAcctSvcs::Public
IDSSUserAcctSvcs::RemoveMember
IDSSUserAcctSvcs::SystemAdmins
IDSSUserAcctSvcs::SystemMonitors
IDSSUserAcctSvcs::Users
IDSSUserRuntime
IDSSUserRuntime::AccessToken
IDSSUsers
IDSSUserSecurityFilters
IDSSUserSecurityFilters::Add
IDSSUserSecurityFilters::Clear
IDSSUserSecurityFilters::Count
IDSSUserSecurityFilters::Item
IDSSUserSecurityFilters::Remove
IDSSUserSecurityFilters::_NewEnum
IDSSUserSession
IDSSUserSession::ClientMachineName
IDSSUserSession::ClientType
IDSSUserSession::FinishedJobCount
IDSSUserSession::InfoType
IDSSUserSession::Name
IDSSUserSession::NetAddress
IDSSUserSession::ProjectLoginTo
IDSSUserSession::ServerContextID
IDSSUserSession::SessionID
IDSSUserSession::TimeConnected
IDSSUserSession::TimeFirstJob
IDSSUserSession::TimeLastJob
IDSSUserSession::TotalJobCount
IDSSUserSessions
IDSSUserSessions::Count
IDSSUserSessions::ItemById
IDSSUserSessions::Item
IDSSUserSessions::_NewEnum
IDSSUsers::Add
IDSSUsers::Clear
IDSSUsers::Count
IDSSUsers::Item
IDSSUsers::Remove
IDSSUsers::_NewEnum
IDSSUses
IDSSUses::Add
IDSSUses::Clear
IDSSUses::Count
IDSSUses::Item
IDSSUses::NotType
IDSSUses::Remove
IDSSUses::Type
IDSSUses::_NewEnum
X
IDSSXMLAdmin
IDSSXMLAdmin::Connect
IDSSXMLAdmin::Disconnect
IDSSXMLAdmin::GetClusterNode
IDSSXMLAdmin::GetClusters
IDSSXMLAdmin::GetCluster
IDSSXMLAdmin::RefreshCluster
IDSSXMLAdmin::RequestTimeOutMillis
IDSSXMLCluster
IDSSXMLCluster::Count
IDSSXMLCluster::Item
IDSSXMLCluster::_NewEnum
IDSSXMLClusterNode
IDSSXMLClusterNode::FreeConnections
IDSSXMLClusterNode::Load
IDSSXMLClusterNode::NodeName
IDSSXMLClusterNode::Port
IDSSXMLClusters
IDSSXMLClusters::Count
IDSSXMLClusters::Item
IDSSXMLClusters::_NewEnum
IDSSXMLContext
IDSSXMLContext::AddElementToNode
IDSSXMLContext::AddTextToNode
IDSSXMLContext::AddTextToParent
IDSSXMLContext::AppendToInfo
IDSSXMLContext::AppendToNode
IDSSXMLContext::AppendToParent
IDSSXMLContext::CreateElement
IDSSXMLContext::DeltaPropXml
IDSSXMLContext::DeltaXml
IDSSXMLContext::Document
IDSSXMLContext::FindChild
IDSSXMLContext::GetAttribute
IDSSXMLContext::GraphHeight
IDSSXMLContext::GraphMaxCols
IDSSXMLContext::GraphMaxRows
IDSSXMLContext::GraphStartCol
IDSSXMLContext::GraphStartRow
IDSSXMLContext::GraphType
IDSSXMLContext::GraphWidth
IDSSXMLContext::GridStyle
IDSSXMLContext::InfoNode
IDSSXMLContext::Init
IDSSXMLContext::LastNode
IDSSXMLContext::Level
IDSSXMLContext::Locale
IDSSXMLContext::LookupObject
IDSSXMLContext::MaxCols
IDSSXMLContext::MaxRows
IDSSXMLContext::MessageID
IDSSXMLContext::ParentNode
IDSSXMLContext::RefID
IDSSXMLContext::ResultFlags
IDSSXMLContext::SetAttribute
IDSSXMLContext::StartCol
IDSSXMLContext::StartRow
IDSSXMLContext::StyleXsl
IDSSXMLContext::UserRuntime
IDSSXMLContext::ViewIndex
IDSSXMLDatamartServer
IDSSXMLDatamartServer::Execute
IDSSXMLDocumentServer
IDSSXMLDocumentServer::Execute
IDSSXMLDocumentServer::Refresh
IDSSXMLElementServer
IDSSXMLElementServer::GetElements
IDSSXMLElementServer::GetHierarchy
IDSSXMLEncryptor
IDSSXMLEncryptor::Decrypt
IDSSXMLEncryptor::Encrypt
IDSSXMLEncryptor::GetSignature
IDSSXMLFileLoader
IDSSXMLFileLoader::LoadGraph
IDSSXMLFileLoader::OnEndPage
IDSSXMLFileLoader::OnStartPage
IDSSXMLFileLoader::SaveGraph
IDSSXMLInbox
IDSSXMLInbox::DuplicateMessage
IDSSXMLInbox::GetInboxMessages
IDSSXMLInbox::IsMessageSaved
IDSSXMLInbox::RemoveFromInbox
IDSSXMLInbox::SaveToInbox
IDSSXMLInbox::SetMessageStatus
IDSSXMLObjectServer
IDSSXMLObjectServer2
IDSSXMLObjectServer2::GetProperties
IDSSXMLObjectServer2::SetProperties
IDSSXMLObjectServer::CreateFolder
IDSSXMLObjectServer::DeleteObject
IDSSXMLObjectServer::FindObject
IDSSXMLObjectServer::GetFolderID
IDSSXMLObjectServer::PurgeSearch
IDSSXMLObjectServer::Root
IDSSXMLObjectServer::Search
IDSSXMLReportServer
IDSSXMLReportServer2
IDSSXMLReportServer2::GetProperties
IDSSXMLReportServer2::SetProperties
IDSSXMLReportServer::AnswerPrompt
IDSSXMLReportServer::Drill
IDSSXMLReportServer::ExecuteFT
IDSSXMLReportServer::Execute
IDSSXMLReportServer::ReBuildReport
IDSSXMLReportServer::Refresh
IDSSXMLReportServer::SaveAs
IDSSXMLScheduleServer
IDSSXMLScheduleServer::GetSchedules
IDSSXMLScheduleServer::GetTriggers
IDSSXMLScheduleServer::Schedule
IDSSXMLScheduleServer::Unschedule
IDSSXMLServerSession
IDSSXMLServerSession2
IDSSXMLServerSession::CheckVersion
IDSSXMLServerSession::CloseSession
IDSSXMLServerSession::CreateSession
IDSSXMLServerSession::DatamartServer
IDSSXMLServerSession::ElementServer
IDSSXMLServerSession::GetProjects
IDSSXMLServerSession::GetUserInfo
IDSSXMLServerSession::Inbox
IDSSXMLServerSession::ObjectServer
IDSSXMLServerSession::Port
IDSSXMLServerSession::ReportServer
IDSSXMLServerSession::ServerName
IDSSXMLUserPrivilege
IDSSXMLUserPrivilege::CheckPrivilege
IDSSXTabDataAccess
IDSSXTabDataAccess::CellFlag
IDSSXTabDataAccess::Cell
IDSSXTabDataAccess::Column
IDSSXTabDataAccess::Data
IDSSXTabDataAccess::NumColumns
IDSSXTabDataAccess::NumRows
IDSSXTabDataAccess::Row
IDSSXTabView
IDSSXTabView::Body
_DSSXMLDimty
_DSSXMLDimty::Add
_DSSXMLDimty::CanContinue
_DSSXMLDimty::Clear
_DSSXMLDimty::Count
_DSSXMLDimty::FilterRest
_DSSXMLDimty::Item
_DSSXMLDimty::Locale
_DSSXMLDimty::NewEnum
_DSSXMLDimty::Remove
_DSSXMLDimtyUnit
_DSSXMLDimtyUnit::Aggregation
_DSSXMLDimtyUnit::Filtering
_DSSXMLDimtyUnit::GroupBy
_DSSXMLDimtyUnit::RelativePosition
_DSSXMLDimtyUnit::Target
_DSSXMLDimtyUnit::UnitType
_DSSXMLDrillAction
_DSSXMLDrillAction::Depth
_DSSXMLDrillAction::DrillAction
_DSSXMLDrillAction::DrillType
_DSSXMLDrillAction::DrillUnitSource
_DSSXMLDrillAction::FilterMetrics
_DSSXMLDrillAction::HasDrillAction
_DSSXMLDrillAction::Index
_DSSXMLDrillAction::Inline
_DSSXMLDrillAction::KeepOriginal
_DSSXMLDrillAction::Name
_DSSXMLDrillAction::QualChange
_DSSXMLDrillAction::ReportFilter
_DSSXMLDrillAction::Reset
_DSSXMLDrillAction::SetDrillMetric
_DSSXMLDrillAction::SetDrillUnitByID
_DSSXMLDrillAction::SetNewObject
_DSSXMLDrillAction::SortChange
_DSSXMLDrillAction::UseSchema
_DSSXMLDrillAction::UserFilter
_DSSXMLDrillReport
_DSSXMLDrillReport::DrillAction
_DSSXMLDrillReport::DrillMsgID
_DSSXMLDrillReport::DrillXML
_DSSXMLDrillReport::GetResults
_DSSXMLDrillReport::Init
_DSSXMLDrillReport::Locale
_DSSXMLDrillReport::MessageID
_DSSXMLDrillReport::Reset
_DSSXMLDrillReport::ResultDataObject
_DSSXMLDrillReport::ResultFlags
_DSSXMLDrillReport::SessionID
_DSSXMLDrillReport::SetDrillUnitByID
_DSSXMLDrillReport::SetGraphWindow
_DSSXMLDrillReport::SetGridWindow
_DSSXMLDrillReport::StateID
_DSSXMLDrillReport::Status
_DSSXMLDrillReport::StyleXSL
_DSSXMLDrillReport::Submit
_DSSXMLDrillReport::ViewIndex
_DSSXMLDrillReport::WindowSettings
_DSSXMLElement
_DSSXMLElement::AttributeInfo
_DSSXMLElement::DisplayName
_DSSXMLElement::ElementID
_DSSXMLElement::ElementType
_DSSXMLElements
_DSSXMLElementSource
_DSSXMLElementSource::AttributeID
_DSSXMLElementSource::BlockBegin
_DSSXMLElementSource::BlockCount
_DSSXMLElementSource::BrowsePath
_DSSXMLElementSource::DimensionID
_DSSXMLElementSource::Filter
_DSSXMLElementSource::Flags
_DSSXMLElementSource::GetElements
_DSSXMLElementSource::GetHierarchy
_DSSXMLElementSource::Level
_DSSXMLElementSource::Locale
_DSSXMLElementSource::Resolution
_DSSXMLElementSource::SessionID
_DSSXMLElements::Add
_DSSXMLElements::AttributeInfo
_DSSXMLElements::Clear
_DSSXMLElements::Count
_DSSXMLElements::Item
_DSSXMLElements::Locale
_DSSXMLElements::NewEnum
_DSSXMLElements::Remove
_DSSXMLExpression
_DSSXMLExpression::Count
_DSSXMLExpression::CreateNode
_DSSXMLExpression::LoadFromXML
_DSSXMLExpression::Locale
_DSSXMLExpression::Reset
_DSSXMLExpression::RootNode
_DSSXMLExpression::XML
_DSSXMLFolder
_DSSXMLFolder::AddCopy
_DSSXMLFolder::Clear
_DSSXMLFolder::Count
_DSSXMLFolder::Item
_DSSXMLFolder::NewEnum
_DSSXMLFolder::Remove
_DSSXMLFolder::XML
_DSSXMLGraph
_DSSXMLGraph::ImageType
_DSSXMLGraph::Load
_DSSXMLGraph::Locale
_DSSXMLGraph::MessageID
_DSSXMLGraph::OnEndPage
_DSSXMLGraph::OnStartPage
_DSSXMLGraph::SaveToDisk
_DSSXMLGraph::SessionID
_DSSXMLGraph::SetProperty
_DSSXMLGraph::SetWindow
_DSSXMLGraph::StateID
_DSSXMLGraph::WindowSettings
_DSSXMLInbox
_DSSXMLInbox::AppendFilter
_DSSXMLInbox::BlockBegin
_DSSXMLInbox::BlockCount
_DSSXMLInbox::ClearFilter
_DSSXMLInbox::Duplicate
_DSSXMLInbox::GetMessages
_DSSXMLInbox::InboxFilter
_DSSXMLInbox::InboxFlags
_DSSXMLInbox::IsSaved
_DSSXMLInbox::MessageID
_DSSXMLInbox::RemoveMessages
_DSSXMLInbox::Remove
_DSSXMLInbox::Save
_DSSXMLInbox::SessionID
_DSSXMLInbox::SetStatusForMessages
_DSSXMLInbox::SetStatus
_DSSXMLInbox::SetStatus
_DSSXMLInbox::StateID
_DSSXMLNode
_DSSXMLNode::AppendChild
_DSSXMLNode::AppendProperty
_DSSXMLNode::AttributeFormID
_DSSXMLNode::AttributeID
_DSSXMLNode::ChildCount
_DSSXMLNode::Child
_DSSXMLNode::Clear
_DSSXMLNode::CloneNode
_DSSXMLNode::ConstantDataType
_DSSXMLNode::ConstantValue
_DSSXMLNode::DataType
_DSSXMLNode::DimensionalityType
_DSSXMLNode::DimtyObject
_DSSXMLNode::DisplayName
_DSSXMLNode::ElementsObject
_DSSXMLNode::ExpressionType
_DSSXMLNode::FirstChild
_DSSXMLNode::HasChildNodes
_DSSXMLNode::InsertBefore
_DSSXMLNode::LastChild
_DSSXMLNode::Locale
_DSSXMLNode::MRPOperator
_DSSXMLNode::NewEnum
_DSSXMLNode::NodeType
_DSSXMLNode::OperatorType
_DSSXMLNode::Operator
_DSSXMLNode::Parent
_DSSXMLNode::RemoveChild
_DSSXMLNode::ReplaceChild
_DSSXMLNode::SetChild
_DSSXMLNode::SetProperty
_DSSXMLNode::ShortcutID
_DSSXMLNode::ShortcutType
_DSSXMLObjectInfo
_DSSXMLObjectInfo::CreationTime
_DSSXMLObjectInfo::Description
_DSSXMLObjectInfo::ID
_DSSXMLObjectInfo::ModificationTime
_DSSXMLObjectInfo::Name
_DSSXMLObjectInfo::ObjectType
_DSSXMLObjectInfo::Owner
_DSSXMLObjectInfo::Special
_DSSXMLPrompt
_DSSXMLPrompt::AnswerXML
_DSSXMLPrompt::Answer
_DSSXMLPrompt::AppendWebProperty
_DSSXMLPrompt::Closed
_DSSXMLPrompt::DimtyObject
_DSSXMLPrompt::DisplayBlockBegin
_DSSXMLPrompt::DisplayBlockCount
_DSSXMLPrompt::DisplayXML
_DSSXMLPrompt::ElementsObject
_DSSXMLPrompt::ExecutionFlags
_DSSXMLPrompt::ExpressionObject
_DSSXMLPrompt::ExpressionType
_DSSXMLPrompt::FolderObject
_DSSXMLPrompt::HasAnswer
_DSSXMLPrompt::HasDefaultAnswer
_DSSXMLPrompt::HasPreviousAnswer
_DSSXMLPrompt::HighlightedObjs
_DSSXMLPrompt::Index
_DSSXMLPrompt::Info
_DSSXMLPrompt::Locale
_DSSXMLPrompt::Max
_DSSXMLPrompt::Meaning
_DSSXMLPrompt::Min
_DSSXMLPrompt::PromptType
_DSSXMLPrompt::Properties
_DSSXMLPrompt::QuestionXML
_DSSXMLPrompt::Required
_DSSXMLPrompt::Reset
_DSSXMLPrompt::ResultFlags
_DSSXMLPrompt::Reuse
_DSSXMLPrompt::SearchObject
_DSSXMLPrompt::SetDefaultAsAnswer
_DSSXMLPrompt::SetGraphWindow
_DSSXMLPrompt::SetGridWindow
_DSSXMLPrompt::ShortAnswerXML
_DSSXMLPrompt::Status
_DSSXMLPrompt::StyleXSL
_DSSXMLPrompt::Supported
_DSSXMLPrompt::Title
_DSSXMLPrompt::Used
_DSSXMLPrompt::Validate
_DSSXMLPrompt::Value
_DSSXMLPrompt::ViewSettings
_DSSXMLPrompt::WebProperties
_DSSXMLPrompt::WindowSettings
_DSSXMLPrompts
_DSSXMLPrompts::AnswerXML
_DSSXMLPrompts::Answer
_DSSXMLPrompts::Count
_DSSXMLPrompts::DisplayXML
_DSSXMLPrompts::DocumentOrigin
_DSSXMLPrompts::InboxObject
_DSSXMLPrompts::Init
_DSSXMLPrompts::Item
_DSSXMLPrompts::Locale
_DSSXMLPrompts::MessageID
_DSSXMLPrompts::NewEnum
_DSSXMLPrompts::OpenCount
_DSSXMLPrompts::QuestionXML
_DSSXMLPrompts::Reset
_DSSXMLPrompts::SessionID
_DSSXMLPrompts::ShortAnswerXML
_DSSXMLPrompts::StateID
_DSSXMLPrompts::Validate
_DSSXMLPromptss::ExecutionFlags
_DSSXMLPromptss::ResultFlags
_DSSXMLPromptss::SetGraphWindow
_DSSXMLPromptss::SetGridWindow
_DSSXMLPromptss::Status
_DSSXMLPromptss::StyleXSL
_DSSXMLPromptss::ViewSettings
_DSSXMLPromptss::WebProperties
_DSSXMLPromptss::WindowSettings
_DSSXMLReBuildReport
_DSSXMLReBuildReport::GetResults
_DSSXMLReBuildReport::Init
_DSSXMLReBuildReport::Locale
_DSSXMLReBuildReport::MessageID
_DSSXMLReBuildReport::Reset
_DSSXMLReBuildReport::ResultFlags
_DSSXMLReBuildReport::SessionID
_DSSXMLReBuildReport::StateID
_DSSXMLReBuildReport::Status
_DSSXMLReBuildReport::StyleXSL
_DSSXMLReBuildReport::Submit
_DSSXMLReBuildReport::ViewSettings
_DSSXMLRequest
_DSSXMLRequest::Statement
_DSSXMLResultData
_DSSXMLResultData::DrillOptions
_DSSXMLResultData::ErrorInGraph
_DSSXMLResultData::FilterDetails
_DSSXMLResultData::FilterExprDetails
_DSSXMLResultData::FilterName
_DSSXMLResultData::FindWebProperty
_DSSXMLResultData::FindWebProperty
_DSSXMLResultData::FolderID
_DSSXMLResultData::FolderName
_DSSXMLResultData::GraphHeight
_DSSXMLResultData::GraphMajorType
_DSSXMLResultData::GraphMaxRows
_DSSXMLResultData::GraphMinorType
_DSSXMLResultData::GraphStartRow
_DSSXMLResultData::GraphTotalRows
_DSSXMLResultData::GraphWidth
_DSSXMLResultData::GridMaxColumns
_DSSXMLResultData::GridMaxRows
_DSSXMLResultData::GridStartColumn
_DSSXMLResultData::GridStartRow
_DSSXMLResultData::GridStyle
_DSSXMLResultData::GridTotalRows
_DSSXMLResultData::Init
_DSSXMLResultData::IsChartAvailable
_DSSXMLResultData::IsDrillKeepParent
_DSSXMLResultData::IsDrilledReport
_DSSXMLResultData::IsTotalAvailable
_DSSXMLResultData::LastUpdate
_DSSXMLResultData::Locale
_DSSXMLResultData::MessageID
_DSSXMLResultData::OriginalReportID
_DSSXMLResultData::ReportDetails
_DSSXMLResultData::ReportID
_DSSXMLResultData::ReportName
_DSSXMLResultData::ReportPath
_DSSXMLResultData::ReportType
_DSSXMLResultData::SQL
_DSSXMLResultData::SessionID
_DSSXMLResultData::StateID
_DSSXMLResultData::TemplateLimit
_DSSXMLResultData::TemplateName
_DSSXMLResultData::TemplateObjects
_DSSXMLResultData::ViewMode
_DSSXMLResultData::XML
_DSSXMLResultSet
_DSSXMLResultSet::DocumentOrigin
_DSSXMLResultSet::DrillObject
_DSSXMLResultSet::ExecutionFlags
_DSSXMLResultSet::GetPreviousAnswer
_DSSXMLResultSet::GetResults
_DSSXMLResultSet::InboxObject
_DSSXMLResultSet::Locale
_DSSXMLResultSet::MessageID
_DSSXMLResultSet::PromptAnswer
_DSSXMLResultSet::PromptsObject
_DSSXMLResultSet::ReBuildObject
_DSSXMLResultSet::Refresh
_DSSXMLResultSet::ResultDataObject
_DSSXMLResultSet::ResultFlags
_DSSXMLResultSet::SaveAsFlags
_DSSXMLResultSet::SaveAs
_DSSXMLResultSet::ScheduleMessage
_DSSXMLResultSet::SessionID
_DSSXMLResultSet::SetGraphProperty
_DSSXMLResultSet::SetGraphWindow
_DSSXMLResultSet::SetGridProperty
_DSSXMLResultSet::SetGridWindow
_DSSXMLResultSet::StateID
_DSSXMLResultSet::Status
_DSSXMLResultSet::StyleXSL
_DSSXMLResultSet::Submit
_DSSXMLResultSet::ViewIndex
_DSSXMLResultSet::ViewSettings
_DSSXMLResultSet::WebProperties
_DSSXMLResultSet::WindowSettings
_DSSXMLSchedule
_DSSXMLSchedule::Request
_DSSXMLSchedule::ScheduleTrigger
_DSSXMLSchedule::UserID
_DSSXMLSchedules
_DSSXMLScheduleSource
_DSSXMLScheduleSource::AppendFilter
_DSSXMLScheduleSource::BlockBegin
_DSSXMLScheduleSource::BlockCount
_DSSXMLScheduleSource::ClearFilter
_DSSXMLScheduleSource::Filter
_DSSXMLScheduleSource::GetSchedules
_DSSXMLScheduleSource::GetTriggers
_DSSXMLScheduleSource::Locale
_DSSXMLScheduleSource::Schedule
_DSSXMLScheduleSource::SessionID
_DSSXMLScheduleSource::SetFilter
_DSSXMLScheduleSource::Unschedule
_DSSXMLScheduleTrigger
_DSSXMLScheduleTrigger::Info
_DSSXMLSchedules::AddDocument
_DSSXMLSchedules::AddMessage
_DSSXMLSchedules::AddReport
_DSSXMLSchedules::Add
_DSSXMLSchedules::Clear
_DSSXMLSchedules::Count
_DSSXMLSchedules::Item
_DSSXMLSchedules::NewEnum
_DSSXMLSchedules::XML
_DSSXMLSearch
_DSSXMLSearch::AbbreviationPattern
_DSSXMLSearch::AccessRights
_DSSXMLSearch::AppendType
_DSSXMLSearch::AppendUsedBy
_DSSXMLSearch::AppendUses
_DSSXMLSearch::BlockBegin
_DSSXMLSearch::DescriptionPattern
_DSSXMLSearch::Domain
_DSSXMLSearch::Flags
_DSSXMLSearch::GetResults
_DSSXMLSearch::LoadFromXML
_DSSXMLSearch::Locale
_DSSXMLSearch::NamePattern
_DSSXMLSearch::ObjectFlags
_DSSXMLSearch::Purge
_DSSXMLSearch::RemoveType
_DSSXMLSearch::Reset
_DSSXMLSearch::SearchOwner
_DSSXMLSearch::SearchRoot
_DSSXMLSearch::SearchXML
_DSSXMLSearch::SessionID
_DSSXMLSearch::SetType
_DSSXMLSearch::SetUsedBy
_DSSXMLSearch::SetUses
_DSSXMLSearch::StateClear
_DSSXMLSearch::Status
_DSSXMLSearch::Submit
_DSSXMLSleep
_DSSXMLSleep::TimeStamp
_DSSXMLSleep::Wait
_DSSXMLStatement
_DSSXMLStatement::CacheCommand
_DSSXMLStatement::CacheOptions
_DSSXMLStatement::DSSID
_DSSXMLStatement::ExecutionFlags
_DSSXMLStatement::MessageID
_DSSXMLStatement::ProjectID
_DSSXMLStatement::PromptAnswer
_DSSXMLStatement::ReuseMessage
_DSSXMLStatement::StatementType
_DSSXMLStatement::Target
_DSSXMLStatement::ViewSettings
这只是一个初稿,在最后商业发布前可能要做相应的修改。该文档仅供信息传播,MicroStrategy没有做任何直接的或间接的授权。
© 2002 MicroStrategy Incorporated. All rights reserved.
Trademarks
MicroStrategy 7, MicroStrategy 7i, MicroStrategy Desktop, MicroStrategy Agent, MicroStrategy Architect, MicroStrategy Administrator, MicroStrategy Intelligence Server, MicroStrategy Web, MicroStrategy Narrowcast Server, MicroStrategy Transactor, MicroStrategy MDX Adapter, MicroStrategy SDK and MicroStrategy BI Developer Kit are either trademarks or registered trademarks of MicroStrategy Incorporated in the United States and certain other countries. Other product and company names mentioned herein may be the trademarks of their respective owners.
“商务智能工具:前景”, Note Number DPRO-93784. 2001年10月. The Gartner Group.
“新一代商务智能”, What Works. Volume 10. 数据仓库研究所.
“商务智能魔术象限: 到安全的飞跃?”, Note Number M-14-8423. 2001年11月. The Gartner Group.
完整的分析函数列表,请参见附录C。
关于架构支持的更多信息请参见附录A。
关于能够支持的图形类型的更多信息请参见附录D。
关于支持的数据库平台,请参见附录G。
关于安全方面的信息,请参见第9章。
关于元数据和管理方面的信息,请参加第3章和第7章。
关于超大型数据库(VLDB)属性的更多信息,请参见第11章。
关于分析函数的完整信息,请参见附录C。
关于元数据的更多信息,请参见第3章。
关于伸缩性和性能的更多信息,请参见第11章。
关于伸缩性和性能的更多信息,请参见第11章。
关于管理方面的信息,请参见第11章。
要了解电子邮件客户端和呼机设备的详细列表,请参考附录E。
MicroStrategy Narrowcast Server服务可以通过Web浏览器查看。服务使用SQL传送到数据库。Web服务器从数据库获取信息并使用HTTP协议放到Web门户上去。
在MicroStrategy Narrowcast Server上并不是所有以上任务目前都是可用的。
在MicroStrategy Transactor上并不是所有以上任务目前都是可用的。
要了解关于Windows Performance Monitor counters更多信息,请参考附录F.
要了解自动调优和线程管理更多的信息,请参考第5章。
要了解与系统管理软件集成更多的信息,请参考第7章。
关于VLDB属性更多的信息请参考附录B
报表、分析和信息发布伸缩性Benchmark。2001年11月,Compaq和MicroStrategy。
关于MicroStrategy Intelligence Server的更多信息,请参见第5章。
关于分析函数更多的信息,请参考附录C。
参考附录H中的API类、方法和属性
关于所支持的数据库平台的最新列表,请参见platform Readme文件。
PAGE i
PAGE ii