Stored procedures 未将SSRS存储过程CASE语句返回到数据集

Stored procedures 未将SSRS存储过程CASE语句返回到数据集,stored-procedures,reporting-services,ssrs-2008,Stored Procedures,Reporting Services,Ssrs 2008,我有一个使用存储过程作为数据集的报表。我的存储过程中有一个简单的case语句,它根据记录中的结果处理一组标题 CASE WHEN CWLI.CAPTION='Hypo Tax – Medical' THEN 'Medical Tax' WHEN CWLI.CAPTION='Hypo Tax Social' THEN 'Social Tax' ELSE CWLI.CAPTION END AS CAPTION, CASE WHEN CWD.CAPTION='Hypo Tax – Medic

我有一个使用存储过程作为数据集的报表。我的存储过程中有一个简单的case语句,它根据记录中的结果处理一组标题

CASE 
WHEN CWLI.CAPTION='Hypo Tax – Medical'
THEN 'Medical Tax' 
WHEN CWLI.CAPTION='Hypo Tax Social' 
THEN 'Social Tax'
ELSE CWLI.CAPTION
END AS CAPTION,

CASE 
WHEN CWD.CAPTION='Hypo Tax – Medical'
THEN 'Medical Tax' 
WHEN CWD.CAPTION='Hypo Tax Social' 
THEN 'Social Tax'
ELSE CWD.CAPTION
END AS CWDCAPTION,
我在SSMS中执行存储过程时看到了预期的结果,如下所示:

然而,在我的报告中,我仍然看到了“低税社会”

我已经结束了投标。我删除了数据集并将其添加为新的数据集。我还更改了我的配置文件
RSReportDesigner.config
,将CacheDataForPreview更改为
false
,并删除了我的.data文件

出了什么问题

我搜索了rdl.data文件,没有返回任何内容。虽然我更改了RSReportDesigner.config文件Add Key=“CacheDataForPreview”Value=“false”,但我仍然希望找到剩余的.data文件。尽管如此,我还是回滚了此更改以添加Key=“CacheDataForPreview”Value=“true”

我删除了我的数据源、数据集并从VSS中重新创建。然后我创建了一个外部工具来删除这些文件。当我使用我的工具时,我得到了这个信息

找不到C:\Users\Pennie\Documents\Visual Studio 2008\Projects\Client*.rdl.data

我仍然在SSMS中看到正确的结果(新的病例说明),在我的报告中看到旧的说明。 我真的很想在存储过程中处理这个问题,但我有一个可交付成果。 我可以在我的tablix表达式中操纵标题吗?目前 表达式正在从两个字段中查找值。其中一个字段位于我的应用程序的公司级别(这些字段可能为空)。领域!值,另一个在系统级(这些字段永远不会为空)字段!CWDCAPTION.Value

这是我当前的表达式,没有附加的情况

=Iif(Fields!CAPTION.Value="",Fields!CWDCAPTION.Value,Fields!CAPTION.Value)
当我尝试在这个表达式中添加一个额外的Iif时。我只返回真或假

再次感谢。 彭尼

这节课教了我很多关于缓存和.数据的知识。。。但问题是,那个白痴开发人员(我)在我的报告中调用了我的测试SP。。我的测试SP不包含case语句。但愿我有更激动人心的消息,但事实很容易证明;-)

我准备好了。
Pennie

听起来像是在最初创建数据集之后添加了
CASE
语句。如果是这种情况,则需要重新创建数据集。需要明确的是,不仅要从报表中删除数据集,还要删除数据集本身