1

だから私はマイクロソフトSQLサーバーレポートビルダーで作業しています.ここでは本質的に私がコードでやろうとしていることです:

(レポート変数の下)

vChargeStatusID = Lookup(Fields!CREDIT_CARD_TRANSACTION_ID.Value, Parameters!CREDIT_CARD_TRANSACTION_ID.Value, Fields!CHARGE_STATUS_ID.Value, "DataSet1")

(フィルターの式として)

Lookup(Variables!vChargeStatusID.Value, Fields!CHARGE_STATUS_FK.Value, Fields!CONTRACT_NUMBER.Value, "DataSet1")

変数と変数の式を使用して、別の計算フィールドを作成しようとしましたが、うまくいきませんでした。ネストされたルックアップ関数を使用できないというエラーが表示され続けます。

基本的に私がやろうとしていることは、最初に、互いに等しい 2 つのものを見つけて数値を取得することです。次に、その番号を別のものと照合して、最終的に契約番号を返す必要があります。

私はこれを理解することはできません。

どんな助けでも素晴らしいでしょう。

4

2 に答える 2

4

したがって、これを実現するための非常に簡単な方法はTextBox1.value、最初のルックアップ値を保持するフィールド ( ) をレポートに配置することです。

たとえば、最初の検索ではDataSet2、顧客の注文 ( ) からベンダー ID ( ) が返されますDataSet1

TextBox1.expression = Lookup(Fields!CustOrderID.Value,Fields!CustOrder_ID2.Value,Fields!VendorID.Value,"DataSet2")

しかし、ベンダー マスター テーブル ( ) からベンダー名を見つける必要がありますDataSet3ReportItems!TextBox1.valueルックアップの最初の値としてを使用して、Vendor Master テーブルをもう一度ルックアップできます。そうすれば、スコープの問題は発生しません。

TextBox2.expression = Lookup(ReportItems!Textbox1.value,Fields!VendorID.Value,Fields!VendorName.Value,"DataSet3")
于 2014-04-24T16:37:46.987 に答える
0

すべての信用はこれを理解した私の上司に行きます!

ステップ1 :埋め込まれている別のデータセットを作成します。このデータセットには、フィールド(この場合はCREDIT_CARD_TRANSACTION_ID )を取得するフィルターがあり、パラメーターpCreditCardTransactionIDに対して真であると評価されます。これにより、2番目のデータセットに契約番号のみが表示されるようになります。これは、ルックアップ関数から必要な最後のものです。

ステップ2:デフォルト値が2番目のデータセット(ContractNumberLookup )のフィールドCONTRACT_NUMBERに設定される内部パラメーターを作成します。

ステップ3:テーブルにフィルターを作成します。元のデータセットのCONTRACT_NUMBERは、内部パラメーターと等しくなるように設定されています。

多田!これがお役に立てば幸いです。説明が必要な場合は、お知らせください。

于 2013-03-07T17:50:31.680 に答える