Asp.net 使用SQL server reporting service在单个报表中使用两个数据集
我需要显示具有不同条件的同一组数据的报告Asp.net 使用SQL server reporting service在单个报表中使用两个数据集,asp.net,sql-server,dataset,ssrs-2008,reportingservices-2005,Asp.net,Sql Server,Dataset,Ssrs 2008,Reportingservices 2005,我需要显示具有不同条件的同一组数据的报告 我需要显示按地区、国家和用户类型分组注册的用户数,我使用了向下钻取功能来显示这一点,并且工作正常。此外,报告的数据是两个日期之间注册的用户数。除此之外,我还必须在一个单独的列中显示系统中的总用户数(两个日期之间的用户数),使用相同的向下搜索,即按地区、国家和用户类型划分的总用户数 所以我的结果将和最初一样愚蠢 Region - Country - New Reg - Total Reg - User Type 1 - UserType2 +
Region - Country - New Reg - Total Reg - User Type 1 - UserType2
+ Region1 2 10 1 5 1 5
+ Region2 3 7 2 4 1 3
Region - Country - New Reg - Total Reg - User Type 1 - UserType2
+ Region1 2 10 1 5 1 5
country1 1 2 1 2 - -
country2 1 8 1 8 - -
+ Region2 3 7 2 4 1 3
一旦该地区扩大,情况将是这样
Region - Country - New Reg - Total Reg - User Type 1 - UserType2
+ Region1 2 10 1 5 1 5
+ Region2 3 7 2 4 1 3
Region - Country - New Reg - Total Reg - User Type 1 - UserType2
+ Region1 2 10 1 5 1 5
country1 1 2 1 2 - -
country2 1 8 1 8 - -
+ Region2 3 7 2 4 1 3
有没有一种方法可以这样显示我的报告,我试过使用两个数据集,一个是有条件的数据集,另一个是无条件的数据集,但它不起作用,它总是为所有总reg列显示Regiosted用户总数,除非我弄错了,否则您试图创建一个具有不同分组级别的可扩展表?幸运的是,如果您知道在哪里查找,这可以在SSR中轻松完成。您示例中的总数在用户列中似乎不匹配,因此我可能误解了这个问题 首先,将查询设置为生成一个数据集,如下所示:
Region Country New Reg - Total Reg - User Type 1 - User Type 2
Region1 country1 1 2 1
Region1 country2 1 8 1
Region2 country3 2 4 1 1
Region2 country4 1 3 1
现在您已经了解了这一点,您需要设置一个包含字段“NewReg”、“TotalReg”、“UserType1”和“UserType2”的新表。然后右键单击表格行,进入“添加组>行组>父组”。在分组依据中选择“国家”,然后单击确定。然后,重复此过程并选择“区域”。不过,这次请勾选“添加组标题”框。这将在原始行上方插入另一行
现在,对于每个字段(“NewReg”、“TotalReg”等),单击上面的新行并再次选择该字段。这将自动向单元格中添加一个总和(字段名)值。这将把所有单独的行总计相加,并在运行报告时显示一个按区域分组的新行
这将为您提供正确聚合数据所需的表,因此您所需要做的就是管理按需显示/隐藏详细信息行
为此,请选择详细信息行(原始行)并右键单击“>行可见性”。将此设置为“隐藏”。现在,选择包含“区域”的单元格,并使用属性记录其ID(现在,假设它被称为“区域”)。单击“返回”到详细信息行,并查看“属性”窗口。在底部,您将看到“可见性”设置。在这里,将“InitialToggleState”设置为False,将“ToggleItem”设置为区域组单元格的名称(即“region”)
现在只需进行格式化等操作并进行整理。除非我弄错了,否则您正在尝试创建一个具有不同分组级别的可扩展表?幸运的是,如果您知道在哪里查找,这可以在SSR中轻松完成。您示例中的总数在用户列中似乎不匹配,因此我可能误解了这个问题 首先,将查询设置为生成一个数据集,如下所示:
Region Country New Reg - Total Reg - User Type 1 - User Type 2
Region1 country1 1 2 1
Region1 country2 1 8 1
Region2 country3 2 4 1 1
Region2 country4 1 3 1
现在您已经了解了这一点,您需要设置一个包含字段“NewReg”、“TotalReg”、“UserType1”和“UserType2”的新表。然后右键单击表格行,进入“添加组>行组>父组”。在分组依据中选择“国家”,然后单击确定。然后,重复此过程并选择“区域”。不过,这次请勾选“添加组标题”框。这将在原始行上方插入另一行
现在,对于每个字段(“NewReg”、“TotalReg”等),单击上面的新行并再次选择该字段。这将自动向单元格中添加一个总和(字段名)值。这将把所有单独的行总计相加,并在运行报告时显示一个按区域分组的新行
这将为您提供正确聚合数据所需的表,因此您所需要做的就是管理按需显示/隐藏详细信息行
为此,请选择详细信息行(原始行)并右键单击“>行可见性”。将此设置为“隐藏”。现在,选择包含“区域”的单元格,并使用属性记录其ID(现在,假设它被称为“区域”)。单击“返回”到详细信息行,并查看“属性”窗口。在底部,您将看到“可见性”设置。在这里,将“InitialToggleState”设置为False,将“ToggleItem”设置为区域组单元格的名称(即“region”)
现在剩下的就是格式化和整理了。我已经解决了这个问题,从数据库中获取所有记录,并使用下面的表达式过滤记录以收集新的注册表计数
=Sum(IIF(Fields!RegisteredOn.Value >Parameters!FromDate.Value and Fields!RegisteredOn.Value < Parameters!EndDate.Value , 1,0))
=Sum(IIF(字段!RegisteredOn.Value>参数!FromDate.Value和字段!RegisteredOn.Value
我已经解决了这个问题,从DB中获取所有记录,并使用下面的表达式过滤记录以收集新的注册表计数
=Sum(IIF(Fields!RegisteredOn.Value >Parameters!FromDate.Value and Fields!RegisteredOn.Value < Parameters!EndDate.Value , 1,0))
=Sum(IIF(字段!RegisteredOn.Value>参数!FromDate.Value和字段!RegisteredOn.Value
在这种情况下,我无法使用两个数据集,因此我从DB中获取所有记录并检查表达式语句的条件在这种情况下,我无法使用两个数据集,因此我从DB中获取所有记录并检查表达式语句的条件