资源

导入活动属性(mspsae02)

/***************************************************************//*                                                             *//*S A S S A M P L E L I B R A R Y*//*                                                             *//*姓名:mspsae02*//*标题:导入活动属性(mspsae02)*//*产品:或*//*系统:所有*//*关键字:或*//*程序:PM、SAS/ACCESS*//*数据:*//*                                                             *//*支持:更新:*//*MISC:微软项目示例2*//*项目管理的转换宏章节*//*                                                             *//***************************************************************//****************************************************************此示例说明了\%MSPTOSAS宏的功能将Microsoft Project自定义字段导入SAS数据集。***************************************************************/%mspostas(mdbfile=!SASROOT\或\sasmisc\mspsas2.mdb,库=工作,版本=2003)/***************************************************************使用以下代码创建一个包含“活动”数据集的“活动”和“持续时间”,E_START和来自Schedule数据集的E_FINISH,以及来自Task_attributes数据集。***************************************************************/proc-sql;创建合并为的表选择a.ACTIVITY,a.DURATION,b.E_START、b.E_FINISH、c.标志1、c.文本1来自mspout。活动a,mspout。附表b,mspout公司。任务属性c其中a.ACTUID=b.ACTUID=c.ACTUID和a.活动没有缺失;退出;/***************************************************************请注意,字段被提取并保存在数据集中仅当Task_attribute至少具有非默认值时一个任务,或者如果它已在Microsoft Project中重命名。如果你不确定数据集Task_attribute中是否存在Flag1,您可以使用以下SAS代码。***************************************************************/%宏观合并;/*打开数据集mspout。任务属性和返回标识符&dsid*/%让dsid=%sysfunc(打开(mspout.Task_attributes));proc-sql;创建合并为的表选择a.ACTIVITY,a.DURATION,b_E_开始,b_E_完成,%如果%sysfunc(varnum(&dsid,Flag1))%,则%do;c.标志1,%结束;c.文本1来自mspout。活动a,mspout。附表b,mspout公司。任务属性c其中a.ACTUID=b.ACTUID=c.ACTUID和a.活动没有缺失;退出;/*关闭用标识符&dsid打开的数据集*/%设rc=%sysfunc(关闭(&dsid));%修补;%合并;