SSRS-报告参数对于其类型输入参数无效,没有默认值/可用值

问题描述:

我正在尝试创建SSRS报告,我将在其中输入CombinedAccountNumber - 它充当报告中的输入参数,没有默认值/可用值。我在报告中提供了数据类型INT,但在数据类型中它是nvarchar。SSRS-报告参数对于其类型输入参数无效,没有默认值/可用值

当我运行报告时,它会抛出错误:为报告参数CombinedAccountNumber提供的值对其类型无效。 任何人都可以请帮助我出错了,我需要修复查询或在SSRS报告中添加参数时?

这里是我使用的数据集部分查询: -

SELECT 
     [QAACTO] 
     ,[QAACTA] 
     ,[QACKDG] 
     ,substring([QACPHA],2,4) as 'Alternate Phone Area' 
     ,substring([QACPHP],2,4) as 'Alt Phone Prefix' 
     ,[QACPHN] as 'Alt Phone Number' 
     FROM [MOCK124].[dbo].[FPQA] 
     where 
     ((REPLACE(LTRIM(REPLACE([QAACTO],'0', ' ')),' ', '0')) 
     + 
     (REPLACE(LTRIM(REPLACE([QAACTA],'0',' ')),' ','0')) 
     + 
     ([QACKDG])) = @CombinedAccountNumber 

WHERE子句正在转换的字段的字符串。你不是合并领域而不是添加它们吗?

where 
     ((REPLACE(LTRIM(REPLACE([QAACTO],'0', ' ')),' ', '0')) 
     + 
     (REPLACE(LTRIM(REPLACE([QAACTA],'0',' ')),' ','0')) 
     + 
     ([QACKDG])) = @CombinedAccountNumber 

将其转换或设置为TEXT。我认为文本参数会更好,因为您的数字可能会因INT太大而变得过大。

+0

将参数设置为TEXT将引发错误:数据集的查询执行失败。 nvarchar附近的语法不正确。必须声明标量变量“@CombinedAccountNumber”请注意,所有字段都将保存为数据库中的nvarchar。请让我知道我应该做什么? –

+0

哪里有nVarChar?你的参数是SQL吗?我认为这是在SSRS中,但你已经设置为使用INTEGER而不是文本。 –

+0

我的意思是表(DB)中的所有字段都保存为nvarchar,但报告参数@CombinedAccountNumber被设置为INT。我试着把它改成TEXT,都是抛出错误。我想这可能是因为表中的nvarchar字段和报表参数数据类型不匹配?还有什么我应该尝试? TIA –

该问题已通过使用公用表表达式使用相同的查询解决,并解决了问题,但是,TEXT格式的报表参数是。 非常感谢您的输入:)