SSRS数据集字段刷新未更新Tablix

22
我已更新附加数据集的SP,而tablix正在使用它。刷新工作正常,当我查看字段选项卡时,我可以在共享数据集中看到我的新字段。我的问题是tablix本身不能让我访问新字段。某处存在断开,并且我无法弄清楚如何使tablix看到数据集中可用的更新字段。我经常遇到这个问题,并希望能在这里得到好答案,以便将来使用。我已经谷歌过并查看了建议的问题,但没有找到与此问题直接相关的问题。

我还注意到报告项目位于TFS源代码控制中,因为我读到它有一些负面影响。我已标记整个项目进行编辑,并且还转到文件夹结构并确保所有内容都未设置为只读。

我正在使用VS 2010中的SSRS 2008。


对于未来遇到此问题的任何人,您需要进入数据集的查询编辑器并执行一次以引入新字段。更多详细信息请参见:https://www.inkeysolutions.com/blogs/ssrs-shared-dataset-not-detecting-new-fields-a-simple-fix/ - Pratik Bhavsar
19个回答

18

2
刷新字段对我没有起作用,由于某些原因,它仍然没有使我能够通过 UI 添加它们。 - trevorgk
2
在打开 .rdl 文件时,使用快捷键 Ctrl + Alt + D 可以在 VS2015 中打开报表数据。 - Pontus Magnusson
1
点击报告本身,然后转到菜单上的“视图”,在最底部有“报表数据”。从这里,您可以选择数据集并转到其属性,刷新附加数据集字段的报告。真是太烦人了。这绝对是世界上最烦人的设置。我花了整整20分钟才找到它。谢谢。 - FAtBalloon

18

如果刷新仍然无效,您还可以删除.data文件。

  1. 进入包含.rdl文件的文件夹中。
  2. 在旁边应该有一个同名文件,其具有相同的.rdl.data扩展名。删除此文件。

它似乎强制刷新,可能是因为它必须重新创建该文件。

这里有一种不那么侵入性的方法,但可能并不总是有效:

  1. 报告数据 窗口中,右键单击数据集,然后单击 数据集属性

enter image description here

  1. 单击 刷新字段 ,位于 数据集属性 窗口右下角附近:

enter image description here


4
你说得没错,刷新字段并不总是有效的,但对于我们这些程序员而言,并不介意采用“侵入式”的方式,删除.rdl.data文件肯定是一个赢家。感谢你提供这个方法。 - Michael Plautz
2
我在这上面浪费了几个小时,直到我读了这篇文章。我一直在做“刷新字段”,但数据并没有被刷新。删除.rdl.data文件解决了问题。@Tony谢谢你。 - Sumesh Kuttan

6
更改存储过程代码后,未更改返回的字段名称和数量,只能通过在报表预览选项卡中单击“刷新”按钮来看到报告似乎调用了新格式的存储过程。

enter image description here


2

好的,这可能是一个旧的线程,但我偶尔还是会遇到同样的问题。解决这个问题最简单的方法是在生成报表数据集的存储过程开头添加以下代码行:

SET FMTONLY OFF;

愉快的编码 :)


2

进入您的解决方案文件夹,其中存储了rdl文件,并删除报告的.rdl.data文件。下次运行报告时,将创建新的rdl.data文件,并且它将具有来自更新的SP的所有新字段。


1
我遇到了一个非常类似的问题:
  • 向现有的SQL表函数添加了一个新字段
  • (费了一些力气)将新字段添加到SSRS中的现有数据集中
  • 花了一些时间试图在设计模式下将新字段添加到表格(tablix?)中,但没有成功。

这对我没有用,所以最终我在文本编辑器中打开了特定的报告文件 [filename].rdl,惊喜地发现它是XML格式。手动添加缺失的字段很容易,然后Visual Studio提示我刷新报告。

 <DataSets>
  <DataSet Name="DataSet1">
   ...
   <Fields>
    <!-- add new field at this level -->
    <Field Name="[newfield]">
      <DataField>Email</DataField>
      <rd:TypeName>System.String</rd:TypeName>
    </Field>
   </Fields>
  </DataSet>
 </DataSets>

4
很遗憾我们甚至不得不做这样的事情 :( - Tony

1
我在VS 2012中遇到了完全相同的问题。用作查询的存储过程将不允许刷新字段。当按下按钮时,什么也不会发生。
我找到的唯一解决方案是将查询类型翻转为文本,并在SP的exec调用中提供参数值。
为什么我们必须忍受这些明显的停机错误?

1

我曾经遇到相同的问题,通过在属性中重命名我的数据集,创建一个原始名称的新数据集,然后点击刷新按钮来解决它。


1

我正在使用Visual Studio 2015,以上的答案都没有对我起作用。如果您从存储过程中获取数据,则需要打开.xsd文件并右键单击数据模型。选择配置,正确的值应该出现在窗口的右侧。然后从“报表数据”选项卡刷新数据集。


1

虽然这是一个旧帖子,但我在使用VS 2015和SSMS 2016时遇到了这个问题。我确信这是VS的问题。然而,当我回到SSMS并尝试执行存储过程时,我发现传递某些参数值会导致查询失败。有趣的是,我能够ALTER存储过程而不遇到任何错误。(也许是因为某些参数组合不会导致失败?)

无论如何,在一天结束时,我的sproc中有错误代码导致SSRS中的字段无法刷新。当我回去纠正代码问题时,所有东西都按预期在VS中工作。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接