我已将两个DataSet命名为LedgerDetails& LedgerDetailsOB。
LedgerDetailsOB包含以下字段
Account_Code | Open_Bal | C_D
LedgerDetails包含:
Account_Code | Date | Description | Amount
现在我与DataSource中的Account_Code建立了关系,如果它可行但不起作用。
我将参数传递给Account_Code 到报告中,并使用参数从存储过程中获取数据。它的工作正确......
现在我希望LedgerDetailsOB中的第一个数据显示出来,当它完成时,来自LedgerDetails的数据将从同一个表中的下一行继续。
我做的事情是: 第一行是Tablix的标题,第二行是LedgerDetailsOB的数据 做了第3行并试图从LedgerDetails添加数据,但它肯定会否认......
我搜索并发现LOOKUP函数写为表达式所以我做了同样的事情。
在表达式之后,我试图在Tablix的第3行中运行:
=LOOKUP(Fields!Account_code.Value,Fields!Account_code.Value,Fields!Trans_Date.Value, "LedgerDetails")
上面的表达式在表达式框中没有显示错误行(红线)。
之后,我清理项目并重建它,以便我收到以下错误。
文本框'Account_code'的值表达式是指 字段'Account_code'。报表项表达式只能引用 当前数据集范围内的字段,或者如果在聚合内部, 指定的数据集范围。必须使用字段名称中的字母 正确的情况。
注意:这是我正在处理的子报告/子报告..仅供参考..
感谢名单。
答案 0 :(得分:0)
Tablix只能引用一个数据源。简单的解决方案是“平坦化”#34;您使用以下字段将数据合并到单个DataSet
中:
Account_Code | Date | Description | Amount | Open_Bal | C_D
然后,您可以按帐户代码和日期对行进行分组,并且无法进行查找。
答案 1 :(得分:0)
使用以下SQL创建视图:
SELECT
OB.account_code,
OB.open_bal,
OB.C_D,
DT.date,
DT.description,
DT.amount
FROM
LedgerDetails AS DT,
LedgerDetailsOB AS OB
WHERE
OB.account_code = DT.account_code