您所在的位置:读书频道 > 数据库 > SQL Server > 6.3.1 维度的处理

6.3.1 维度的处理

2008-11-30 18:43 冯飞 清华大学出版社 我要评论(0) 字号:T | T
一键收藏,随时查看,分享好友!

《SQL Server 2005 Integration Services专家教程》第6章通过SSIS处理Analysis Services对象,本章重点讨论SSIS和SSAS(SQL Server 2005 Analysis Service)的集成。涉及到SSAS立方体的商业智能解决方案通常会包含一种方法,用来将数据仓库或数据集市数据库源中的对象放入OLAP立方体结构中。本节介绍的是维度的处理。

AD:

6.3  高级处理和分区管理的示例

在讨论企业的BI解决方案的时候,很少谈到适用于对象处理的当前状态。对于成功的BI应用程序而言,要想获得较高的性能和机动性,需要有独特的优先要求或复杂的分区管理以及处理需求。本章前面已经讨论了在SSIS内处理和管理SSAS对象的不同方法。前一节介绍了基本的即开即用功能。因此,现在是时候考虑其他一些方法并学习如何通过让XMLA动态化来充分利用Analysis Services Execute DDL Task。

6.3.1  维度的处理

一般来说,除了一些潜在的独特的优先级处理或事务管理之外,维度的处理很简单直接。因此,即使前面的谈到的很多方法都适用于维度的处理,但是为了尽量保持其简单性,可能会发现有些方法可能有些小题大做了。

正如前面已经详细讨论过的,Analysis Services Processing Task的调整功能常常已经足够了。其他一些简单直接的方法涉及到为处理维度创建一个XMLA脚本。虽然维度的结构几乎不发生改变,但是在大部分情形中,过程的更新都是在维度上进行的。而在大部分情况下,不需要让XMLA脚本变得动态化。因此,可以生成XMLA,然后通过使用ASCMD可执行文件或Analysis Services Execute DDL Task来执行它。这里给出了一个小型XMLA脚本的示例,它将完成对Product、Employee和Time等维度进行并行的处理更新。

<Batch
xmlns="http://schemas.microsoft.com/analysisservices/2003/engine">
<Parallel MaxParallel = "2">
<Process xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Object>
<DatabaseID>Adventure Works DW</DatabaseID>
<DimensionID>Dim Employee</DimensionID>
</Object>
<Type>ProcessUpdate</Type>
<WriteBackTableCreation>UseExisting</WriteBackTableCreation>
</Process>
<Process xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Object>
<DatabaseID>Adventure Works DW</DatabaseID>
<DimensionID>Dim Product</DimensionID>
</Object>
<Type>ProcessUpdate</Type>
<WriteBackTableCreation>UseExisting</WriteBackTableCreation>
</Process>
<Process xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Object>
<DatabaseID>Adventure Works DW</DatabaseID>
<DimensionID>Dim Time</DimensionID>
</Object>
<Type>ProcessUpdate</Type>
<WriteBackTableCreation>UseExisting</WriteBackTableCreation>
</Process>
</Parallel>
</Batch>

上述代码是在SSMS中生成的,方法是连接到SSAS中。Processing对话框(在任何维度上单击鼠标右键并选择Process)包含了给处理过程设置编写脚本的能力。


为了通过Analysis Services Execute DDL Task运行该XMLA脚本,只需把XMLA直接输入到该任务中(与前面描述的一样),或将其捕获到在该任务内标识出的程序包变量中 (后面关于分区处理的讨论将涉及到通过Analysis Services Execute DDL Task动态化XMLA)。

执行该XMLA脚本的另一种方法是利用ASCMD.exe可执行文件,该文件是与SQL Server 2005 SP1一起安装的并在SP2中有一个升级的版本。正如前面提到的,ASCMD包含了运行XMLA脚本、MDX查询和DMX查询的能力。下面给出的URL上有一篇描述ASCMD.exe所有功能集合的文章,可供读者参考:

http://msdn2.microsoft.com/en-us/library/ms365187.aspx

在ASCMD的基本用途中,它可以通过Execute Process Task(执行处理任务)应用于SSIS中。比如,前面的XMLA脚本可以保存在当地的目录文件中,Execute Process Task可用于控制流中来运行ASCMD.exe,标识出含有XMLA脚本的文件。图6-14给出了一个程序包示例,它的设计方式为在命令窗口打开的情况下在设计器中执行该程序包。

 
(点击查看大图)图6-14  在打开命令窗口的情况下在设计器中执行程序包
在查看Execute Process Task的属性时,该任务配置为运行ascmd.exe可执行文件并传递到3个主要的参数中。图6-15给出了用于执行Execute Process Task的编辑器。
 
(点击查看大图)图6-15  显示ASCMD编辑器设置的Execute Process Task Editor界面

图中第1个参数为"-S localhost",它指定了运行该脚本的服务器。第2个参数"-d "Adventure Works DW""标识出了该脚本运行所依靠的SSAS数据。第3个参数"-i Dim_Process.xmla"则指定了文件的名称,该文件含有要运行的XMLA脚本。

此外,ASCMD.exe也支持动态地更新XMLA、MDX或DMX代码(并有变量通过参数传递到命令行中)内容的能力。这部分内容将在后面通过ASCMD.exe检查处理分区期间再详细讨论。

【责任编辑:云霞 TEL:(010)68476606】

回书目   上一节   下一节

分享到:

网友评论TOP5

查看所有评论(

提交评论

  1. Linux服务器配置全程实录
  2. 揭秘--优秀PPT这样制作

热点专题

更多>>

读书

Ubuntu Linux入门到精通
本书全面介绍了Ubuntu Linux的相关知识,内容详实,论述清晰。主要内容包括Ubuntu介绍、文件系统管理、进程管理、压缩与查询

51CTO旗下网站

领先的IT技术网站 51CTO 领先的中文存储媒体 WatchStor 中国首个CIO网站 CIOage 中国首家数字医疗网站 HC3i 移动互联网生活门户 灵客风LinkPhone