报 表 应 用
--活用DATEDIFF等函数
本期概述
z本文档适用于K/3各版本报表模块。
z学习完本文档以后,可以了解DATEDIFF、RPTDATE等函数是如何灵活应用的。
版本信息
z2008年7月14日    V1.0  编写人:米春丽
版权信息
z本文件使用须知
著作权人保留本文件的内容的解释权,并且仅将本文件内容提供给阁下个人使用。对于内容中所含的版权和其他所有权声明,您应予以尊重并在其副本中予以保留。您不得以任何方式修改、复制、公开展示、公布或分发这些内容或者以其他方式把它们用于任何公开或商业目的。任何未经授权的使用都可能
构成对版权、商标和其他法律权利的侵犯。如果您不接受或违反上述约定,您使用本文件的授权将自动终止,同时您应立即销毁任何已下载或打印好的本文件内容。
著作权人对本文件内容可用性不附加任何形式的保证,也不保证本文件内容的绝对准确性和绝对完整性。本文件中介绍的产品、技术、方案和配置等仅供您参考,且它们可能会随时变更,恕不另行通知。本文件中的内容也可能已经过期,著作权人不承诺更新它们。如需得到最新的技术信息和服务,您可向当地的金蝶业务联系人和合作伙伴进行咨询。
著作权声明 著作权所有 2008 金蝶软件(中国)有限公司 。
所有权利均予保留。
目  录
1案例一:如何在报表中应用函数动态获取每月的实际天数和本年累计合计天数 (3)
1.1  业务背景 (3)
1.2  实际应用 (3)
2案例二:如何在一张表中体现本期和本年累计的对比数据 (10)
2.1  业务背景 (10)
2.2  实际应用 (10)
1案例一:如何在报表中应用函数动态获取每月的实际天数和本年累计合计天数
1.1  业务背景
客户所在公司存在房屋出租业务,在实际的应用中要做出这样一张报表,即在同一张报表的同一个表页,动态的按实际月份的实际天数来计算出本月总共有多少间房屋数可供出租,和截止到当前会计期间为止总共能提供多少间房屋数可供出租,即报表简单展示如下:
月份:(动态变化)
房间总数 本月房间总数 本年累计房间总数
138 138*当月实际天数 138* 1月实际天数+138* 2月实际天数+……(即
截止到当期的本年累计数,)
此表的关键在于如何能动态的按实际期间获取到当月的实际天数,和从1月1号开始截止到当前会计期
间最后一天为止的合计总天数,能获取到这两个数据,则报表设置实现就容易了。
1.2  实际应用
为获得这两个数据,我们在报表设置时可以应用到几个报表函数,我们先来具体看一下各函数的作用,具体如下:
VAL函数:用于将数字字符参数转为可以参与计算的数值。
datediff是字符型函数RPTDATE函数:用于获取当前报表的日期。
DATEDIFF函数:用于计算日期参数2与参数1之间的天数差。
RPTSHEETDATE函数:用于获取当前报表指定表页的默认开始日期或结束日期,默认日期可在设置报表公式取数参数时设置。
在实际的报表设置时,使用VAL函数与RPTDATE函数的嵌套来获取账套所在会计期间的实际天数,参与本月房间总数的公式运算。
使用DATEDIFF函数和RPTSHEETDATE函数的组合嵌套来完成获取从1月1号开始截止到当前会计期间最后一天为止的合计总天数。
接下来我们进入K3软件来看一下。
首先我们打开报表,将鼠标点在“本月房间总数”单元格下,按F8调出报表函数,选择VAL函数,在“数字字符”后录入RPTDATE(“DD”),如图1。RPTDATE函数中DD 取的是对应期间的最后一天,如1期则获取到31,2期则获取到28,3期则获取数31,依次类推,再将此日期转换为数值即取到每月的实际天数。
图1
填写完数字字符后回车,看到报表中对应单元显示“公式设置不正确”,如图2。这是由于系统自动在RPTDATE函数前后加入了双引号,此时要手工删除,其格式要如图1中的说明文字中的格式相符。
图2
报表公式中引号删除后进行报表重算,当公式取数参数中开始期间、结束期间定义为2时,由于账套所在年度是2007年度,07年2月只有28天,因此系统取到日期
“28”,经VAL转换成数值28后即可参与运算。如图3。
图3
当公式取数参数中开始期间、结束期间定义为3时,系统取到日期“31”,经VAL 转换成数值31后即可参与运算。如图4。
图4
公式中主要的部份设置完成后,再在其基础上乘以138即可,如图5。
此例中138是固定数值,当然若想通过账上取数来获取并参与运算也是完全可以的,实际报表设计中可灵活应用。
图5
接下来我们要设置本年累计房间总数的公式设置。为了方便看清楚报表中公式的设置,我们在原本报表基础上增加一列,来分别取“公式取数参数”中的开始日期、结束日期。如图6、图7。
图6

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。