4

我需要使用带有区域名称的 SSRS 2008 修改现有报告,它可能包含 10 个不同的区域。该区域仅设置一列,其中可能包含 10 个不同的值。我相信这是一个tablix。目前,这些区域在代码中按字母顺序排序,但我必须对它们进行不同的排序,因此我根据所需的顺序在 CASE 语句中为每个区域分配了一个数字。然后,我按列本身 (tablix) 中的所需顺序对区域进行排序,并且区域在报告中按所需顺序排序,但不幸的是,分配的数字在报告中而不是区域名称中。而不是得到

BF CF CO CL 等…… 我在报告的标题中得到 1 2 3 4 等。

CASE , 
WHEN teamgroup.Name = 'BF' THEN 1
WHEN teamgroup.Name = 'CF' THEN 2
WHEN teamgroup.Name = 'CO' THEN 3
WHEN teamgroup.Name = 'CL' THEN 4
WHEN teamgroup.Name = 'CN' THEN 5
WHEN teamgroup.Name = 'GA' THEN 6
WHEN teamgroup.Name = 'IN' THEN 7
WHEN teamgroup.Name = 'KY' THEN 8
WHEN teamgroup.Name = 'MD' THEN 9
WHEN teamgroup.Name = 'NF' THEN 10
   END AS Region

我尝试将 teamgroup.name 显示为区域,然后使用 Region_sort 作为 CASE 语句的别名,但它不起作用。在 Tablix 属性中,我使用了排序方式:region_sort,顺序是 A 到 Z,但区域是按字母顺序排序的。任何帮助将不胜感激。

4

1 回答 1

5

您可以按照与显示内容不同的方式对 tablix 进行排序。

  1. 您应该按照正常情况设置 tablix,并将区域作为显示值,这是teamgroup.name.
  2. 根据表格的构成,使用 tablix 上的排序选项通常不起作用。最好和最可靠的方法是在分组属性窗口中右键单击详细信息行并编辑排序方式选项。
  3. 在这里您可以编辑排序表达式,我建议您使用一个switch函数将名称更改为数字,或者region_Sort如果有的话最好使用 SQL 列。
  4. 然后将顺序设置为 a 到 z。

如果您的 tablix 中有组,则需要为teamgroup.name区域/组而不是详细信息组执行此操作。

于 2013-03-13T11:35:00.560 回答