9

私は、Crystal Reportsが開発コミュニティの一部に支持されなくなったことを理解しています。おそらく当然のことですが、私は約15年間使用していません。しかし、私がそうしたとき、私はそれを歌わせることができました。

おそらくそれがSSRSがとても残念だと思う理由です。ソフトウェアは不器用で、直感的ではなく、一次元です。私は先週それと戦ってきました、そして私は最後の手段としてここに投稿しています。

レポートを完全にSQLServerテーブルに作成する必要があり、その必要はありません。

例:テキストボックスで式を使用できないのはなぜですか。

 Fields!Foo1.Value/Fields.Foo2.Value

ここで、Foo1はDataset1にあり、Foo2はDataset2にあります。

これがソフトウェアの能力を超えている場合、それは問題ありません。そうだと思い始めました。

したがって、誰かがこの質問に答えることができるかもしれません。CrystalReportsとReporting Services以外に、より用途の広いレポート作成ソフトウェアを知っている人はいますか?

4

3 に答える 3

9

これで解決したと思いますが、同じ問題に直面している場合はlookup、表現に使用できます。
両方のデータセットに共通のフィールドがあるときに、他のデータセットの値を参照できます

=Lookup(value in dataset1,value in dataset2, common field in both datasets, dataset name from which we need to get data)
于 2012-05-10T07:21:45.770 に答える
6

Crystal も SSRS も、行ごとに 2 つの異なるデータセットの値を直接比較することはできません。

両方のツールで:

  • 両方のデータセットが同じリレーショナル データベースから取得された場合、値を比較する最も簡単な方法は、2 つのデータセットを 1 つのクエリに結合することです。
  • 両方のデータセットが、相互にリンクできる (たとえば、SQLServer のリンク サーバーまたは Oracle のデータベース リンクを使用して) 異なるリレーショナル データベースから取得されている場合、値を比較する最も簡単な方法は、2 つのデータセットを 1 つのクエリに結合してアクセスすることです。両方のリンクされたデータベース。
  • 両方のデータセットが直接リンクできないデータソースからのものである場合、2 つのデータセットはサブレポートを使用して Crystal/SSRS でリンクできます。(SSRS のサブレポートの詳細については、こちらを参照してください。)

SSRS と同様のレポート パラダイム (つまり、Crystal のバンド レポート アプローチの代わりに Web スタイルのレイアウト) を持ち、SSRS とほとんど同じ機能を含み、オープン ソースであり、データセットを一緒にリンクできる BIRT と呼ばれるレポート ツールがあります。直接共同データセットを作成します。ただし、Crystal や SSRS よりも直感的に使用することはできません。

于 2012-04-27T09:36:00.353 に答える
3

使い続ける - Reporting Services は驚くほど柔軟なレポート プラットフォームです。

フィールド名の後にデータセットを指定することで、必要なことを実行できますが、必要な Foo2 または Foo2 をどのように処理するかを指定する必要があります。

これを行う方法は、集計関数を使用することです。たとえば、Dataset2 に 1 行のデータしかない場合、最初の行を取得するとします。

=Fields!Foo1.Value / First(Fields!Foo2.Value, "Dataset2")

多くの行があり、Foo2 の合計で割りたい場合は、次のようにすることができます。

=Fields!Foo1.Value / Sum(Fields!Foo2.Value, "Dataset2")

要点は、現在 Dataset1 をステップ実行していることです。必要な Foo2 を返すために、Reporting Services に Dataset2 の処理方法を知らせる必要があります。

于 2012-04-27T00:18:54.353 に答える