Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server SQL Server对Crystal报表的查询_Sql Server_Tsql_Crystal Reports - Fatal编程技术网

Sql server SQL Server对Crystal报表的查询

Sql server SQL Server对Crystal报表的查询,sql-server,tsql,crystal-reports,Sql Server,Tsql,Crystal Reports,我正在尝试将当前在SQL Server中运行的报表移动到Crystal报表 基本上,我想重复的陈述是: SELECT DATEPART(DD,DATE), COUNT(*) WHERE FOO = 'BAR' GROUP BY DATEPART(DD,DATE) 统计符合条件的记录的出现次数,按日期分组 我使用了SelectionExpert来生成等价关系(评估记录),并希望在GROUPBY语句中使用datepart函数。我已经让选择专家按日期分组,但它是完整的时间戳(SS:HH:DD:M

我正在尝试将当前在SQL Server中运行的报表移动到Crystal报表

基本上,我想重复的陈述是:

SELECT DATEPART(DD,DATE), COUNT(*) 
WHERE FOO = 'BAR' 
GROUP BY DATEPART(DD,DATE)
统计符合条件的记录的出现次数,按日期分组

我使用了SelectionExpert来生成等价关系(评估记录),并希望在GROUPBY语句中使用datepart函数。我已经让选择专家按日期分组,但它是完整的时间戳(SS:HH:DD:MM),而不是特定的日期,即2010年3月1日

我确信有一种方法可以实现我想要的,但是还没有找到一个教程来解释这个场景


如果您能提供任何帮助,我们将不胜感激。

与任何其他SDK/语言一样,有很多方法可以做到这一点。这是我能想到的第一个:

  • 将原始数据输入到Crystal中。(听起来你已经这么做了)

  • 在Crystal中,创建一个新公式,称之为“GroupByDate”。在公式编辑器中输入:
    datepart(“yyyy-mm-dd”,{mytable.mydatefield})

  • 进入专家组。按GroupByDate将报告分组

  • 制作一个新的公式,称之为“AddMe”。在公式编辑器中输入:
    iif({mytable.foo=“bar”,1,0)

  • 将AddMe公式拖放到“详细信息”部分。右键单击它以插入->摘要。将摘要位置设置为组页脚

  • 预览您的报告,您应该可以看到每个组页脚中的总计数。为了简化报告的外观,您还可以取消显示详细信息和grouper页眉部分


  • 同样,有很多方法可以做到这一点。你也可以通过运行Total
    函数来获得创造性。Crystal Formula Editor有非常有用的帮助文件。使用函数窗格选择函数,按F1,你会得到标准、示例等。

    如果可以,将它们移到SSRS-更好。谢谢,但使用水晶报表是项目的一个要求-有没有一种方法可以通过提供的工具来完成这项工作?抱歉,我不明白。我的建议使用标准的水晶报表功能来完成你的目标。具体来说,我使用的是水晶报表席XI开发人员,但是你可以用水晶的任何变体来做这个。我怎样才能更好地回答你的Q?问题?