Stored procedures 未将SSRS存储过程CASE语句返回到数据集
我有一个使用存储过程作为数据集的报表。我的存储过程中有一个简单的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
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
语句。如果是这种情况,则需要重新创建数据集。需要明确的是,不仅要从报表中删除数据集,还要删除数据集本身