【问题标题】:The report parameter has a DefaultValue or a ValidValue that depends on the report parameter . Forward dependencies are not valid报告参数具有取决于报告参数的 DefaultValue 或 ValidValue。前向依赖无效
【发布时间】:2020-05-12 14:08:20
【问题描述】:

ALTER PROCEDURE [dbo].[R$20_covid_application] 
    @Guarantors int,
    @CustNo int, 
    @Months tinyint = null 
WITH EXECUTE AS SELF
AS
BEGIN
    SET NOCOUNT ON;

    SELECT 
        L.CUSTNO
        ,CUST_NAME1
        ,CUST_NAME2
        ,CUST_NAME3
        ,CUST_NAME4
        ,L.BRANCH
        ,REFER_NO
        ,RIGHT('000000' + CONVERT(VARCHAR, L.CUSTNO), 6) + ' - ' + CAST(LOAN_PRODUCT AS CHAR(4))  + ' - ' + RIGHT('00' + CONVERT(VARCHAR, LOAN_ACC_SEQ_NO), 2) ACC_STR
        ,[CHECK_PRIN]
        ,[L_PRIN]
        ,[L_INT]
        ,[L_INTLQ]
        ,[L_EXP]
        ,[L_ACCR]
        ,[INV_BILL_CHARG_AMT]
        ,[P_PRIN]
        ,[P_INT]
        ,[P_OTH]
        ,[P_EXP]
        ,[P_PRV_S_INT]
        ,[P_ACCRUED]
        ,[P_OFF_ACCR]
        ,[MATURITY_DATE]
        ,[AFM]
        ,[TEL_1]
        ,[TEL_2]
        ,[CUST_ADDRESS]
        ,[SIGN]
        , CITY = CASE L.BRANCH 
                    WHEN 101 THEN '212'
                    WHEN 102 THEN '12321'
                    WHEN 103 THEN '123123Α'
                    WHEN 104 THEN 'ΚΑΛ12312ΚΑ'
                    WHEN 105 THEN '313Σ'
                    WHEN 106 THEN '132'
                    WHEN 107 THEN '12312'
                    WHEN 108 THEN '23123123'
                    WHEN 109 THEN '23123'
                    WHEN 110 THEN '123213123'
                    ELSE 'Unknown city mate' 
                 END
    FROM 
        LB.LM.LOAN AS L 
    JOIN 
        LB.LM.CUSTOMER_MF AS C ON L.CUSTNO = C.CUSTNO
    LEFT JOIN
        [asdf6].[fsdfsdf].[MASTER_Guarantors] AS G ON L.CUSTNO = G.CUST
    WHERE 
        ToClose = 0 
        AND L.CUSTNO = @CustNo 
        AND G.[SIGN] = @Guarantors
END

所以这是我的存储过程的 SQL,到目前为止运行良好。问题是我有一个 3 参数报告,由于依赖于自身,它确实有效。我希望报告做的是有一个多值参数(下拉),它将包含特定贷款客户编号的所有担保人。在我发布的图片中,您可以在报告中看到错误和我想要的输出。 (例如客户 1 有 2、3、4 作为担保人)。

部分名称已更改

【问题讨论】:

  • 没有发布图片。我们需要看看参数的顺序是什么,它们的名称,以及存在哪些参数依赖关系。
  • 我更改了订单以查看它是否有效,但到目前为止还没有!!!订单是 custno 月担保人

标签: sql-server reporting-services


【解决方案1】:

如果您调用R420_covid_application 来填充Guarantors 参数的可用值,那么这就是问题所在。您不能在首先生成参数值的数据集查询中引用参数值。

很难从您的描述中分辨出来,并且您没有解释您的依赖关系,但听起来您需要..

  1. 一个客户参数(例如@CustomerID),该参数将从SELECT * FROM myCustomers之类的数据集查询中填充

  2. 一个保证人参数(例如@Guarantor),它将从类似于SELECT * from myGuarantors JOIN blah blah.... WHERE CustomerID = @CustomerID的数据集查询中填充

这样,客户数据集不依赖于任何东西,当用户选择一个值时,@CustomerID 的值就会被设置。然后,将根据@CustomerID 的值填充和过滤第二个数据集。

如果这没有帮助,您将需要编辑您的问题并描述您希望用户在每个参数中看到的内容以及从一个参数到下一个参数的依赖关系。给出一些样本数据和预期结果。

【讨论】:

  • 每个贷款客户都有自己的贷款担保人。所以我想要的是用户填写客户参数。用客户 ID 并自动。用指定客户的担保人填充担保人参数(一个多值)。我调用的存储过程从不同的数据库和模式中获取数据,以便我可以使用客户 ID 名称填充我的报告。地址摊销贷款数量等。
  • ... 这基本上是我的回答所暗示的。如果您确定递归参数没有任何问题,请打开 rdl 文件并更改其中的参数顺序,在设计器的参数面板中更改它们不会更改顺序,您必须这样做rdl文件直接。先复制一份,以防万一搞砸了。
  • 我对你的回答有点困惑。由于我无法加入我的存储过程和带有担保人的表,我将不得不让我的 SP 填充一个将与担保人表连接的临时表。
  • 您是否尝试过先重新排序rdl文件中的参数?
  • 当然!!这是我做的第一件事。我试图创建一个新数据集并调用 SP。我将所有聚合更改为我的报告到 dataset1,所以现在没有冲突。但结果并不如预期。我不能选择担保人,也没有不同的价值观。 (例如在一张桌子上,客户的贷款出现了 2 次​​span>
猜你喜欢
  • 1970-01-01
  • 2015-04-04
  • 1970-01-01
  • 2021-03-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多