65.9K
CodeProject 正在变化。 阅读更多。
Home

Crystal Migration Services - 将 Crystal Reports 转换为 SSRS 的首选

2012 年 11 月 2 日

CPOL

7分钟阅读

viewsIcon

30770

downloadIcon

482

Crystal Migration Services 提供领先的转换服务,可在几秒钟内完成工作,并且准确性是其他公司无法比拟的。

如需更多示例,请访问我们的“示例”页面
http://www.crystalmigration.com/Samples.aspx

转换问题 

通过示例下载,用户可以直接从 CodeProject 网站下载示例进行尝试。全球有数亿份 Crystal 报表。即使面对如此高的市场占有率,SSRS 格式也提供了显著的优势。

  • 如果您拥有 SQL Server,SSRS 是免费的。 与支持 Crystal 报表所需的高昂许可费用相比。
  • SRSS 提供更佳的功能。

这些原因正促使越来越多的客户从 Crystal Reports™ 转向 SSRS,从而产生了将旧报表转换为 SSRS 格式的日益增长的需求。

如果您在内部进行转换,可能会很不方便,而且很可能比您想要的消耗更多的时间和人力。例如,Crystal Reports 是二进制格式,因此必须保留业务逻辑以及所有必要的格式和布局。这使得手动转换为 SSRS 成为一项艰巨的任务。在严格的截止日期和有限的资源下工作可能会进一步增加您的烦恼。

第三方外包也存在其自身的风险。一些公司会为您提供完整的转换包,但您可能会支付过高的费用,并且必须向他们暴露您的数据库。其他公司可能会为您提供易于使用的自动转换选项,承诺快速的周转时间和低廉的价格,但您可能会发现转换后的数据质量非常差,以至于您的开发团队将不得不抓耳挠腮地解决自动解决方案遗留的转换问题。

您需要一个能够加快转换过程、降低成本并避免错误和不准确性的解决方案。

您需要一个更好的解决方案 - Crystal Migration Services

Crystal Migration Services 提供领先的转换服务,可在几秒钟内完成工作,并且准确性是其他公司无法比拟的。我们支持 SSRS 2008 和 2005,并承诺进行精确转换。事实上,我们的转换准确性和能力使我们在行业中脱颖而出。我们的自动解决方案可以转换其他公司必须手动完成的功能:交叉表、指定顺序分组、条件格式、节着色、字段高亮显示等...

第一次就做对意味着转换成本大大降低,因为转换后几乎不需要或根本不需要手动纠正。

以下是我们的部分优势

  • 惊人的准确性:对于仅需要 SSRS 支持功能的常规报表,我们的高级自动转换准确率可超过 99%!通常,我们转换后的报表几乎无需手动调整即可使用。
  • 快速转换服务:大多数报表可在几秒钟内转换!
  • 专家级完整转换服务:如果您拥有强大的开发团队,我们的高级转换是您的最佳选择。我们还可以与您的团队合作提供完整的转换服务,以帮助您快速完成工作并达到您的标准。我们与您的团队合作提供彻底的测试。
  • 您的数据保持安全,不暴露:我们通常不需要您的数据库即可进行高级或完整转换。
  • 在全球客户中取得的成功:我们的客户来自所有行业:政府、软件、金融、银行、保险等。无论您身处哪个行业,无论您的报表有多复杂,我们都能为您转换。
  • 获取免费示例转换并查看:通过免费的示例转换,您可以将我们的解决方案与其他任何解决方案进行比较。一旦我们为您转换,我们相信您将永远不会去别处。

我们已帮助众多客户成功地将其 Crystal Reports 转换为 SSRS。

Thomas Bloss,来自 5280 Solutions
“我们能够快速将迁移后的报表(从 Crystal)转换为 MS SSRS 2008,只需很少的工作。报表中包含大量业务逻辑,如果我们自己重写成 SSRS,可能需要数月时间。”

为了让您大致了解我们的能力,让我们来看两个示例

以下两个示例是常规报表,并不十分复杂,但更复杂的报表也能同样轻松地转换,并保持同样的高度保真度。这两个报表都使用了我们的高级自动转换进行转换。转换后的数据绝对无需手动修复。

下载这两个示例并查看。它们已准备就绪,可供使用。

数据库连接使用的是 DSN “Xtreme Sample Database 2005”,该 DSN 来自 Visual Studio 2005 - 如果您安装了 Visual Studio 2005 的 Crystal Reports。(如果您没有此数据库,可以从网站下载并修复数据库连接。)

示例转换一

首先,让我们看看 Crystal 中的原始报表

 

接下来,这是我们在 Microsoft Report Builder 2 中打开的,使用我们高级自动转换生成的 SSRS 结果。

 

您可以看到,这是一次 100% 准确、完整的转换。Crystal Reports 版本和 SSRS 转换看起来几乎完全相同

让我们更详细地介绍功能是如何转换的

在此示例报表中,您将看到记录选择公式、分组、排序、运行总计、字段高亮显示、超链接、百分比汇总、条件节着色等功能。

  1. 记录选择公式:在 Crystal Reports 中,有一个记录选择公式如下
        {Customer.Country} in ["Belgium", "Germany", "France", "England", "Canada", "Mexico", "USA"] 

  这是生成的 SQL。选择公式转换良好

SELECT "Customer"."Country", "Customer"."Last Year's Sales", "Customer"."Region", "Customer"."Customer Name" 
FROM "Customer" "Customer" 
WHERE ("Customer"."Country" = 'Belgium') OR ("Customer"."Country" = 'Germany')
    OR ("Customer"."Country" = 'France') OR ("Customer"."Country" = 'England') 
    OR ("Customer"."Country" = 'Canada') OR ("Customer"."Country" = 'Mexico') 
    OR ("Customer"."Country" = 'USA')
ORDER BY "Customer"."Country", "Customer"."Region", "Customer"."Last Year's Sales" DESC 
  1. 运行总计字段:这是运行总计字段的定义

 

SSRS 中运行总计字段的转换如下

    <TextRun>
      <Value>=RunningValue(Fields!Last_Year_s_Sales.Value, Sum, "Group1")</Value>

      <Style>
        <FontFamily>Arial</FontFamily>
        <FontSize>10pt</FontSize>
        <Color>Black</Color>

        <Format>'$'#,0.00;('$'#,0.00);'$0.00'</Format>
      </Style>
    </TextRun>

您可以看到,运行总计的计算和格式都已 100% 转换。

  1. 字段高亮显示:在原始 Crystal Report 中,有一个字段高亮显示为红色。如果字段大于 $20000.00,它将显示为洋红色。否则,它将仅显示为黑色。

这是 SSRS 中的转换

    <Color>=IIF(Fields!Last_Year_s_Sales.Value >= 10000.00 And Fields!Last_Year_s_Sales.Value <= 20000.00, "Red", 
            IIF(Fields!Last_Year_s_Sales.Value > 20000.00,"Fuchsia", "Black"))
    </Color>
  1. 分组记录排序百分比汇总都已完全转换。

这是百分比汇总的转换

   <TextRun>
      <Value>=Sum (Fields!Last_Year_s_Sales.Value)/Sum (Fields!Last_Year_s_Sales.Value, "Group1")</Value>

      <Style>
        <FontFamily>Arial</FontFamily>
        <FontSize>10pt</FontSize>
        <Color>Navy</Color>

        <FontWeight>Bold</FontWeight>
        <Format>#,0.00%;#,0.00%-;'0.00%'</Format>
      </Style>
    </TextRun>
  1. 条件节着色:在 Crystal Reports 的详细节中有一个公式。
        if remainder(recordnumber,2) = 0 then crwhite else rgb(234,244,255)

该公式已自动转换为 Reporting Services 表达式,如下所示

        =IIF (((RowNumber(Nothing) Mod 2) = 0), ("White") , ("#EAF4FF"))

VB 中的“Remainder”函数,将使用 Mod 运算符进行转换。由于 RowNumber 没有数据范围,recordnumber 将被转换为“RowNumber(Nothing)” - 因此此情况的范围为“Nothing”。至于颜色,在 Crystal Reports 中,颜色是一个整数,但在 SSRS 中,这需要是“HTML 颜色”十六进制字符串。因此,我们使用“System.Drawing.ColorTranslator.ToHtml(color)”将 rgb(234, 244, 255) 自动转换为“#EAF4FF”。

此外,图片对象被转换为外部图像,可供直接使用。页面纸张大小、页面方向(纵向或横向)和页面边距都已精确转换。 

示例转换二 - 是的,我们可以自动转换交叉表

这是原始的 Crystal Report

 

这是 Report Builder 2 中自动转换的屏幕截图

 

您可以看到,这是一次完整转换,没有任何内容丢失。
以下是一些细节

  1. 有三个交叉表,并且所有交叉表都已完全自动转换。虽然这些交叉表并不十分复杂,但我们能够成功转换具有许多行、列和汇总的交叉表。
  2. 在此报表中,有 10 个公式,并且所有这些公式都已完全转换为 VB 代码。对于 Crystal 公式,无论它是 Crystal 语法还是 VB 语法,我们都能以最高的准确性轻松转换。(唯一的例外是 UFL - 某些函数或功能尚未在 SSRS 中得到支持。)

这是 Crystal Reports 中的一个公式,季度

if Month({Financials.Statement Date})=3 then 
    "Qtr1" 
else if Month({Financials.Statement Date})=6 then 
    "Qtr2" 
else if Month({Financials.Statement Date})=9 then 
    "Qtr3" 
else if Month({Financials.Statement Date})=12 then 
    "Qtr4 "

这是 SSRS 中的转换

        IIF ((Month(Fields!Statement_Date.Value) = 3), ("Qtr1"), IIF (( Month(Fields!Statement_Date.Value)
        = 6 ), ("Qtr2"), IIF (( Month(Fields!Statement_Date.Value) = 9 ), ("Qtr3") , ("Qtr4"))))

所有这些示例,以及我们网站上的示例,都是通过我们的高级自动转换生成的。

更复杂的公式也能完美转换。实际上,公式转换准确性是我们区别于其他公司的最大优势之一。如需更多公式转换示例,请访问以下网站。

http://www.crystalmigration.com/knowledge.html

结论

现在您可以看到为什么越来越多的客户来找我们进行 Crystal Reports 到 SSRS 的迁移,因为我们的转换准确性是其他公司无法比拟的。

手动转换 Crystal Reports 的时代已经一去不复返了。

为将报表转换为 SSRS 而花费过多的时代已经一去不复返了。

为什么等待?为什么花费更多?
立即联系我们,将您所有的 Crystal Reports 转换为 SSRS。

眼见为实。让我们通过示例转换来证明我们的实力。

联系我们

如果您有任何疑问,我们的技术支持团队(support@crystalmigration.com)随时准备为您提供帮助!

有关定价或销售问题,您可以联系我们的销售团队(sales@crystalmigration.com)。

您也可以申请与我们进行WebEx会议,以便我们讨论您的需求以及我们如何为您提供帮助。

© . All rights reserved.