gpt4 book ai didi

sql-server - SQL Server Reporting Services 2008 中的列和行分组

转载 作者:行者123 更新时间:2023-12-03 02:49:50 25 4
gpt4 key购买 nike

alt text

这是我需要填充为报告的期望结果,其中 xx 是人数。

我有一个表,其中包含以下字段:

----------
table1
----------
id
state
year(as Quarter)
gender

我需要根据 id 确定计数并填充为报告。年份类似于 20081、20082..20084(按季度)。

我使用此查询创建了一个数据集:

SELECT STATE,GENDER,YEAR,COUNT(*)
FROM TABLE 1
GROUP BY STATE,GENDER,YEAR

通过这个查询,我可以填充结果

ex: ca, m , 20081,3
ny, f , 20091,4

从上面的查询中,我可以填充计数并使用分组(行)状态(在 ssrs 中)。

我需要按(列)分组。根据我得到的性别和年份。

  1. 如何获取列性别并使其具有“男性”和“女性”列?
  2. 我是否需要创建多个数据集(例如传递)

    其中性别 = 'M' 或性别 = 'F'

    这样我就可以有两个数据集,一个用于男性,一个用于女性?否则,有什么方法可以像数据透视一样从性别字段进行分组吗?

  3. 我是否应该单独填充结果,例如为 Male 2008、Female 2009 创建多个数据集,还是有什么方法可以使用 SSRS 矩阵表和列分组对单个数据集进行分组?

  4. 我应该在查询级别解决这个问题,还是 SSRS 中有任何功能可以解决这个问题?

如有任何帮助,我们将不胜感激。

最佳答案

您的 SQL 查询看起来不错,但我会用 left 语句删除四分之一:

select state, gender, left(year,4) as [Year], count(ID) as N
from table1
group by state, gender, left([year],4)

然后你就有了一个矩阵的经典案例。使用报告向导创建一个新报告,选择“矩阵”,然后拖动字段:

行:状态

列:年份、性别

详细信息:N

这应该为您提供所需的矩阵。然后将文本框的表达式替换为

中的性别
=Fields!gender.Value

=IIF(Fields!gender.Value="M", "Male", "Female")

祝你好运。

关于sql-server - SQL Server Reporting Services 2008 中的列和行分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3694405/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com