2

私が読んだことから、これは不可能かもしれませんが、尋ねる価値があると思いました.SSRS 2012レポートをエクスポートしようとしていますが、同時にExcel関数を維持しようとしています.

SSRS レポートにテキスト ボックスがあり、エクスポートが常に行/列 D33 に表示されると、数字は 20 になります。私が使用した式は="=DD3*"&Cint(Fields!LABC_Hours.Value) です。エクスポートすると、これは =D33*5 として出力されますが、すべきことは計算 =20*5 です。これ?

前もって感謝します。

4

2 に答える 2

2

短い答えはノーです。

調査でお気づきかもしれませんが、SSRS 2005 ではこれに対するサポートが制限されていましたが、それ以降のバージョンではサポートされていませんでした。

SSRS 2008 の重大な変更点 を参照してください。

Reporting Services の以前のバージョンでは、RDL の式を Microsoft Excel の数式に変換するためのサポートが制限されていました。このリリースでは、レポートを Excel にエクスポートするときに、RDL 式は Excel 式に変換されません。

言うまでもなく、これはよくあるリクエストです。次のConnect項目を参照してください。

SSRS 2008 は数式を Excel にエクスポートします

ReportItemsこれらすべてについての記憶をリフレッシュしているときに、次のようなコレクションを直接参照する式を使用するかどうかを示唆するいくつかのメモを見ました。

=ReportItems!val1.Value + ReportItems!val2.Value

その後、これは機能しますが、SSRS 2008 で簡単なテストを実行しましたが、違いはありませんでした。

悲しいことに、あなたは運が悪いだけだというのが一般的なコンセンサスだと思います。

于 2013-06-20T13:17:39.613 に答える
1

誰かがまだこれに興味を持っている場合、私はそのための解決策を開発しました。それは醜いと見なすことができますが、SSRS の経験から多くの苦痛を逃れました。

アイデアの詳細な説明が必要な場合 (解決策がそれほど明白ではないため、とにかく必要だと思います): https://github.com/GrafGenerator/ssrs-formularize

要するに、これは SSRS から ExcelRE を隠し (Formularizer はフードの下で ExcelRE を使用する)、必要に応じて数式処理をトリガーすることを目的としたカスタム レンダリング拡張機能です。アイデアは、いくつかのレポート アイテムを「アンカー」でマークし、他のレポート アイテムでテキスト式を特別な単純な DSL に記述し、Excel ドキュメントが生成された後にアンカー付きのセルにリンクすることです。

重要:レポート アイテムのアクション URL にアンカーと式が追加されました。これは、表示拡張機能が機能を壊さずに動作しているときにアクセスできる唯一のレポート アイテム フィールドのように思われるためです (ここでほとんどすべてを送信して、正しい方法でクックすることができます)。

つまり、レポート アイテムに「アンカーがある」または「式がある」という言葉は、レポート アイテム アクションが URL と式に設定されていることを意味します。=code.EncodeFormula("current item identitier (anchor)", "current item formula")

サンプル手順は次のとおりです (表付き)。

  1. SSRS インスタンスごとに 1 回実行: バイナリをコンパイルし、リポジトリの指示に従って SSRS にインストールします。
  2. 厳密:レポートにカスタム関数を追加します: https://github.com/GrafGenerator/ssrs-formularize/blob/master/encode-function.vb
  3. Strict:カスタム プロパティをレポートに追加します - キーは「formularize」、値は任意です
  4. 表の行には、レポート アイテム (テキスト ボックス) txtA、txtB、および txtC があります。

    4.1 txtA にはアンカーがありますcomp_value

    4.2 txtB にはアンカーがありますoutput_value

    4.3 txtC には式がありIF({cell 'comp_value' row} > 0, {cell 'output_value' row}, "N/A")ます。

  5. Excelファイルの結果はIF(A1 > 0, B1, "N/A")、最初の行の式、2番目の行の行番号2、3番目の行などです。

  6. columnおよびallスコープも同様です。その他の例は、プロジェクトの github ページにあります。

これが誰かの役に立てば幸いです。気軽に質問して、問題を github リポジトリに投稿してください。

于 2019-05-07T05:32:28.037 に答える