Sorting SSRS 2008-作为母公司的报告排序&;儿童和按字母顺序排列的儿童

Sorting SSRS 2008-作为母公司的报告排序&;儿童和按字母顺序排列的儿童,sorting,ssrs-2008,sql-server-2008,Sorting,Ssrs 2008,Sql Server 2008,我的报告中有一个“List”元素,其数据取自“Dataset1”。Dataset1的SQL查询是 选择序号、名称、树状结构路径 来自dbo.SampleTable 哪里 *按树排序结构路径* 输出: SNo. Name TreeStructurePath 0 Root . 1 Austin .A001 2 Wesley .A001.B001 3 Ronald .A001.B0

我的报告中有一个“List”元素,其数据取自“Dataset1”。Dataset1的SQL查询是

选择序号、名称、树状结构路径
来自dbo.SampleTable
哪里
*按树排序结构路径*

输出:

SNo.    Name         TreeStructurePath
0       Root         .
1       Austin       .A001
2       Wesley       .A001.B001
3       Ronald       .A001.B001.G003
4       Claire       .A001.B001.M005
5       Dolbie       .A001.C001
6       Belle        .D001
此数据按上述顺序显示,因为它是按“TreeStructurePath”字段排序的。但我的要求是遵循我报告中的输出

SNo.    Name         TreeStructurePath
0       Root         .
1       Austin       .A001
2       Dolbie       .A001.C001
3       Wesley       .A001.B001
4       Claire       .A001.B001.M005
5       Ronald       .A001.B001.G003
6       Belle        .D001
这是根。A001、D001是“.”的子组。B001和C001是A001的孩子。B001有两个子G005、M005。这些在SQL查询中排序。但在我的报告中,要求父组(根)应位于顶部,但其子组应按字母顺序排序(A001-B001[G003,M005],然后是C001;D001)。可能吗?如果是,如何在SSRS 2008 reoport中实现这一点

我不在乎“TreeStructurePath”是否按字母顺序排列。我要按字母顺序排列“姓名”,即

Root
   ----A001 (Root child - Austin)
    --------C001 (A's child - Dolbie)
    --------B001 (A's child - Wesley)
                ------------M003 (B's child - Claire)
                ------------G005 (B's child - Ronald)
   ----D001 (Root child - Belle)
(忽略缩进) 我正在使用“TreeStructurePath”将孩子列在父母之下。如果我不使用,孩子们会被列在某个地方,但不会低于他们的父母。希望你明白我的要求

注:如果不是“列表”项,请建议“Tablix”(包含3个字段)的解决方案


提前感谢。

在报表查询中,您可以按照以下方式解析树结构路径的每个分组,以便在报表表或数据结果中排序

   SELECT SNo ,Name, TreeStructurePath, 
            SUBSTRING(TreeStructurePath, 2, 4) AS Tree1,
            SUBSTRING(TreeStructurePath, 7, 4) AS Tree2, 
            SUBSTRING(TreeStructurePath, 12, 4) AS Tree3
      FROM dbo.SampleTable
           WHERE ....
       Order by Tree1 ASC, Tree2 ASC, Tree3 DESC