SSRS按日期的价值

时间:2012-03-10 23:28:04

标签: sorting date reporting-services

好的,我在这里看到过类似的问题,但没有完全相同。我正在基于从DW读取数据的多维数据集创建报表。许多报告往往沿着“按周价值的价值”或“按月减值”的方式。一切似乎都没问题,但周和月(列)没有正确排序。第10周在第9周之前,2月在1月之前,等等。我非常沮丧bc我无法使这些东西正常工作。

除此之外,我的客户需要能够使用Reportbuilder 3.0针对多维数据集编写自己的报告。所以,我不愿意依赖手动编辑查询。 SURELY有一些明显的方法可以做到这一点。在我的DimDate中,我有一个星期名称是varchar,一个星期是日期等。月份相同。

我在这里遗漏了一些明显的东西。

谢谢!

1 个答案:

答案 0 :(得分:0)

排序顺序是有道理的(varchars是字符串{“第10周”,“第9周”}和{“2月”,“1月”}),因为它们是在你们各自的对中出现的。给出,假设字符串值的ASCII类型排序。

有多种方法可以将字符串作为列标题进行升序排序(假设字符串字段上有ASCII类型排序):

  • 确保周数的长度为两位数,例如“第9周”将成为“第09周”。这将确保周列按升序排序(或降序排列,这种情况一直如此)。
  • 在月份名称前添加月份编号,例如“1月1日”,“2月2日” - >您仍然需要两位数的月份数字,否则您将得到与周数相同的问题。
  • 使用格式化日期而不是字符串,因为日期将被正确排序。

或者,如果问题是在多维数据集中的维度中引起的,则可以确保任何顺序子句都在键上,而不是名称字段。