【问题标题】:Default Order of Case Statement, for use in SSRS案例陈述的默认顺序,用于 SSRS
【发布时间】:2013-06-26 11:36:02
【问题描述】:

我正在 SSRS 中构建报告。我有来自数据库列的值,用于填充报告矩阵中的行标题。这些显示很好。问题是它们按字母顺序显示,我不知道如何让它们按我定义的顺序显示。

SQL 查询如下所示:

 CASE   
   WHEN Age >= 0 AND Age <3 THEN 'Newborn 0-3 Months'
   WHEN Age > 3 AND Age <= 12 THEN 'Infant 3-12 Months'
   When Age > 12 THEN 'Child'
   ELSE 'Invalid Age'
 END AS AgeGroup

哪个有效。但在我的报告中,它显示了列,因此“儿童”显示在“婴儿”之前,依此类推。

有什么方法可以定义顺序吗?提前致谢

【问题讨论】:

  • 您需要在查询中使用 order by 子句,能否发布完整的查询语法

标签: sql reporting-services


【解决方案1】:

您必须添加第二个 case 语句才能在排序中使用:

CASE   
   WHEN Age >= 0 AND Age <3 THEN 10
   WHEN Age > 3 AND Age <= 12 THEN 20
   When Age > 12 THEN 30
   ELSE 40 -- or 0, perhaps
END AS AgeGroupOrder

【讨论】:

  • 是的,这行得通。我不得不在我的 SSRS 报告中添加一个隐藏列,它强制列以“AgeGroupOrder”定义的顺序显示。非常感谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-04-10
  • 2010-10-30
  • 2016-05-13
  • 2016-02-21
  • 1970-01-01
相关资源
最近更新 更多