0

我已经看到这个问题发布了几次,但似乎没有解决我所看到的问题。我有一个分页的 SSRS 报告,需要从下拉日历中输入日期。例如,输入 2020 年 1 月 21 日后,UI 会显示选择为 2020 年 1 月 21 日的日期,例如此处。我需要它是 21/01/2020。一些注意事项:

* 报表服务器和客户端浏览器的所有位置设置都设置为英语(英国),并且在报表服务器和客户端的 Windows 设置中,所有日期格式设置都设置为 dd/mm/yyyy机器。所有客户端浏览器语言设置在 IE 和 Chrome 中都是英式 - 英国
* 变量是 DateTime 数据类型
* 这是在 Power BI 主机服务器上显示的分页 SSRS 报告
* 这会影响此服务器上的所有报告
* 报告中不一定返回日期字段,因此此处不适用转换数据。
* PBI 版本 15,SQL Server 2016

我已经看到有关将字段表达为正确格式的回复,例如,=CDate(Fields!BirthDate.Value)或者=FormatDateTime(Fields!BirthDate.Value, DateFormat.ShortDate)这似乎没有改变任何东西(当它没有出错时)。

我完全不知道日期的美国化是从哪里来的。有什么想法吗?

4

1 回答 1

0

不幸的是,报表服务器的位置设置和用户浏览器的位置设置(默认情况下)不会对报表格式做任何事情,因为报表有自己的Language属性,默认情况下设置为en-US. 所以除非你修改这个属性,否则你总是会得到美国格式。您可以在报表的“属性”面板上访问此属性。

现在您可以将其设置为,en-UK但更好的解决方案是通过使用将其设置为用户的国际化 [s|z]ation 设置=User!Language。现在您可以将d其用作用户区域短日期格式的单元格Format属性。

使用用户区域格式的便捷格式有:

  • d = 短日期格式
  • N2 = 2 位小数的数字
  • N0 = 没有小数位的数字
  • P0 = 没有小数位的百分比
于 2020-01-24T00:04:17.660 回答