Crystal - 基于参数响应的按月周的动态组

时间:2016-05-24 09:54:50

标签: crystal-reports report

我的报告目前按" day"对于选定的日期范围。 但是其他人想要在不同的时间段内运行相同的报告,即 日,周,月,年等。

我想通过参数DAY,WEEK,MONTH等提供这个选择,但我不知道在小组部分写的公式....

if {@Group By Period Formula} = "DAY" 
then (formula for daily) else
if {@Group By Period Formula} = "WEEK" 
then (formula for weekly) else
if {@Group By Period Formula} = "MONTH" 
then (formula for monthly) else

我不知道每日,每周,每月的表格

1 个答案:

答案 0 :(得分:0)

  1. 创建一个参数GroupBy,其中包含三个值" Weekly"," Monthly"," Daily"。
  2. 使用以下代码创建公式Group1Formula - 将表和列名称更改为您正在使用的日期字段

    if {?groupby} = "Monthly" then date(year({Command.date}),month({Command.date}),1) else if {?groupby} = "Weekly" then dateadd("ww",datepart("ww",{Command.date})-1, date(year({Command.date}),1,1)- dayofweek(date(year({Command.date}),1,1)+0)) else if {?groupby} = "Daily" then {Command.date}

    - 此公式评估参数,如果参数为" month",则公式输出日期字段中的月份和年份。如果参数是每周一次,则输出该日所在周的开始日期。即2016年是2016年12月26日的一周 - 请注意,如果您的星期几与此不同,则可能需要进行额外调整。如果参数为"每日",则公式输出日期字段而不进行任何修改

  3. 点击报告,群组专家,添加公式" Group1Formula"作为一个团队。点击选项,然后选择每天公式将处理分组 - 我们不希望小组专家做任何事情。
  4. `[enter image description here enter image description here enter image description here