所以我在microsoft sql server report builder中工作,这基本上就是我在代码中尝试做的事情:
(在报告变量下)
vChargeStatusID =查询(字段!CREDIT_CARD_TRANSACTION_ID.Value,参数!CREDIT_CARD_TRANSACTION_ID.Value,字段!CHARGE_STATUS_ID.Value,“DataSet1”)
(作为过滤器的表达式)
查找(变量!vChargeStatusID.Value,Fields!CHARGE_STATUS_FK.Value,Fields!CONTRACT_NUMBER.Value,“DataSet1”)
我尝试使用变量和变量的表达式来尝试创建另一个计算字段,但没有运气。我一直收到错误,我无法使用嵌套查找函数。
基本上我要做的是,首先,找到两个相同的东西来检索一个数字。然后我需要取这个数字并将其与其他东西相匹配以最终返回合同号。
我无法弄清楚这一点。
任何帮助都会很棒。
答案 0 :(得分:3)
因此,实现此目的的一种非常简单的方法是在报表上放置一个字段(TextBox1.value
),该字段将保留您的第一个查找值。
例如,您首次查找将从客户订单(DataSet2
)返回供应商ID(DataSet1
)。
TextBox1.expression = Lookup(Fields!CustOrderID.Value,Fields!CustOrder_ID2.Value,Fields!VendorID.Value,"DataSet2")
但现在您需要从供应商主表(DataSet3
)中找到供应商名称。您可以使用ReportItems!TextBox1.value
作为查找的第一个值,再次查看Vendor Master表。这样你就不会出现范围问题。
TextBox2.expression = Lookup(ReportItems!Textbox1.value,Fields!VendorID.Value,Fields!VendorName.Value,"DataSet3")
答案 1 :(得分:0)
所有的功劳都归功于我的老板了解了这一点!
第一步:创建另一个数据集, embedded 。然后,此数据集具有一个过滤器,该过滤器接受一个字段,在本例中为 CREDIT_CARD_TRANSACTION_ID ,并且对参数 pCreditCardTransactionID 进行评估。这样可以确保第二个数据集只向我显示合同编号,这是我从查找功能中最后需要的东西。
第二步:创建内部参数,将默认值设置为第二个数据集 ContractNumberLookup CONTRACT_NUMBER 字段强>)。
第三步:在表格上创建一个过滤器。原始数据集中的 CONTRACT_NUMBER 设置为等于内部参数。
多田! 我希望这有帮助。如果需要澄清,请告诉我!