时间参数联动有问题,求教

时间控件参数按年份、月份、日期选择,出租率的计算方式,按日期选择和按月份选择是不一样的,在单元格条件属性里对/出租率/的计算方式设置不同的公式,按月份选择的计算方式为/SUM(ds1.select(月出租率))/DAYSOFMONTH($type)/,但是当如下图-1选择按月时,出租率的计算公式/DAYSOFMONTH($month)/的值都是31,不能区分月份,条件属性的设置如下图-2,数据集如下图-3,请各位帮忙!


FineReport 18504762929 发布于 2020-1-15 08:39
1min目标场景问卷 立即参与
回答问题
悬赏:6 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共3回答
最佳回答
0
萌萌的呆贼Lv4初级互助
发布于2020-1-15 09:01

$type 参数格式是日期格式吗?  要是年月日格式的

image.png

  • 18504762929 18504762929(提问者) 是日期格式,我直接在这个公式里放的$type,默认显示的是31天,不根据月份的变化而变化
    2020-01-15 09:06 
  • 萌萌的呆贼 萌萌的呆贼 回复 18504762929(提问者) 我测试DAYSOFMONTH函数里面的参数不是日期格式的话 返回就是31 你再检查下传入的参数是不是日期格式
    2020-01-15 09:14 
  • 18504762929 18504762929(提问者) 回复 萌萌的呆贼 确实不是日期格式,您是对的
    2020-01-15 10:21 
最佳回答
0
北纬六十六度Lv4初级互助
发布于2020-1-15 09:11(编辑于 2020-1-15 09:12)

你显示一下 参数 $type的值,绝对不是正常的日期,看样子好像他的值是‘月份’这两个字

  • 18504762929 18504762929(提问者) 确实不是日期格式,显示的是‘月报’,所以daysofmonth这个公式不起作用,有没有根据不同月份求出月份天数的公式呢?
    2020-01-15 09:50 
最佳回答
0
ooshanghaiLv5初级互助
发布于2020-1-15 09:13

我在帆软里试了下DATEOFMONTH(MONTH(NOW())) 应该返回31的,结果返回了30,

建议你还是用你所在数据库的函数来做吧;

比如如果是SqlServer,当Type = 月份你的时候,取分母为当月最大天数:

SELECT DATEDIFF(day,getdate(),DATEADD(month,1,getdate()))

  • 北纬六十六度 北纬六十六度 应该用DAYSOFMONTH(now()) 你试试
    2020-01-15 09:15 
  • ooshanghai ooshanghai 回复 北纬六十六度 duidui,这样参数类型错了
    2020-01-15 09:17 
  • 18504762929 18504762929(提问者) 回复 北纬六十六度 这个公式是当前日期,我查询的日期都是往年日期啊?
    2020-01-15 10:00 
  • 18504762929 18504762929(提问者) 数据库是mysql的,我试一试你给的查询方式,帆软datediff应该能用
    2020-01-15 10:03 
  • 18504762929 18504762929(提问者) SELECT DATEDIFF(day,getdate(),DATEADD(month,1,getdate())),用DATEDIF在帆软里可以用,但是还是个区间选择,当$type=日期时,我用的是DATEDIF(DATE,DATE2),但是月份选择只是选择一个值啊?
    2020-01-15 11:46 
  • 4关注人数
  • 537浏览人数
  • 最后回答于:2020-1-15 11:50
    请选择关闭问题的原因
    确定 取消
    返回顶部