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太大而变得过大。
答
该问题已通过使用公用表表达式使用相同的查询解决,并解决了问题,但是,TEXT格式的报表参数是。 非常感谢您的输入:)
将参数设置为TEXT将引发错误:数据集的查询执行失败。 nvarchar附近的语法不正确。必须声明标量变量“@CombinedAccountNumber”请注意,所有字段都将保存为数据库中的nvarchar。请让我知道我应该做什么? –
哪里有nVarChar?你的参数是SQL吗?我认为这是在SSRS中,但你已经设置为使用INTEGER而不是文本。 –
我的意思是表(DB)中的所有字段都保存为nvarchar,但报告参数@CombinedAccountNumber被设置为INT。我试着把它改成TEXT,都是抛出错误。我想这可能是因为表中的nvarchar字段和报表参数数据类型不匹配?还有什么我应该尝试? TIA –