【问题标题】:Time bands in a column in Report Builder 3.0Report Builder 3.0 中列中的时间段
【发布时间】:2017-08-02 15:29:53
【问题描述】:

取 Datetime 并给出它所属的半小时带,不考虑日期,只对时间感兴趣。

据我所知,SSRS 中没有时间段,我需要半小时的时间段,即一天 48 个块。

我想在条形图中绘制我的数据,条形宽度的间隔沿 x 轴,高度是 y 轴上的出现次数。我需要半小时的间隔(直方图的宽度),我不想运行一些 IIF/CASE 语句,我宁愿将我必须的 DateTime 转换为每行数据的一个带,什么是最好的方法输出,所以我沿着 X 轴得到半小时的间隔。

【问题讨论】:

  • 请通读stackoverflow.com/help/how-to-ask 以获取有关如何提问的提示。此时,您在有关数据结构和来源的问题中严重缺乏信息。尝试在 SSRS 中构建条形图,告诉我们你做了什么以及你目前卡在哪里。

标签: reporting-services


【解决方案1】:

我不想运行一些 IIF/CASE 语句

我假设你的意思是你不想要 48 层的IIF/CASE。这是一个 SSRS 表达式,它只使用单个 IIF 来绑定日期时间:

=DateAdd(DateInterval.Minute, 0-
IIF(Minute(Fields!DATETIMEFIELD.Value) <= 29, Minute(Fields!DATETIMEFIELD.Value), Minute(Fields!DATETIMEFIELD.Value) -30),
DateAdd(DateInterval.Second, 0-Second(Fields!DATETIMEFIELD.Value) ,Fields!DATETIMEFIELD.Value))

这会从时间中删除秒数,并删除到达前半小时所需的分钟数。如果您愿意,您可以在 SQL 查询中使用具有不同语法的相同逻辑作为列。

将此计算值用于 SSRS 图表的所有相关部分。

【讨论】:

  • 这是我目前拥有的 =IIf(Fields!TimeBandHour.Value
  • 如果时间是 11.45,它给出 11.30-12.45,不太正确。 time Band 小时,就是 dateTimeValue 的小时和分钟,
猜你喜欢
  • 1970-01-01
  • 2023-03-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多