Reporting services 从Fetch XML获取SSRS 2008中的每月列

Reporting services 从Fetch XML获取SSRS 2008中的每月列,reporting-services,fetchxml,Reporting Services,Fetchxml,我有一份年度报告,希望月份显示在1-12列中,即使是没有任何值的月份 今天,我有一份从5月开始的矩阵报告,因为该月是具有第一个值的月份。但我希望表格从一月开始,即使那个月没有值 我还想知道是否可以在同一个矩阵中有多行,但数据源不同(XMLFetches) 我再解释一下。实际上应该是一个相当简单的raport,我想显示每月销售多少,每个月是一列,行是产品。 我正在使用CRM 2011在线的fetchXML 月份一月二月三月四月五月六月七月 车轮0 0 10 65 75 Cars 0 10 0 10

我有一份年度报告,希望月份显示在1-12列中,即使是没有任何值的月份

今天,我有一份从5月开始的矩阵报告,因为该月是具有第一个值的月份。但我希望表格从一月开始,即使那个月没有值

我还想知道是否可以在同一个矩阵中有多行,但数据源不同(XMLFetches)

我再解释一下。实际上应该是一个相当简单的raport,我想显示每月销售多少,每个月是一列,行是产品。
我正在使用CRM 2011在线的fetchXML

月份一月二月三月四月五月六月七月

车轮0 0 10 65 75


Cars 0 10 0 10 0 100 175

不可能在报告的同一矩阵中组合不同的数据集,但是,可以在将数据集呈现给报告之前组合数据源以创建一个数据集。例如,您可以使用存储过程(或SSIS或powershell等)从数据库中读取数据,并将数据组合到数据库中的表、临时表、表变量中,然后从报告或提取XML中查询这些数据

要获得显示日历条目的报告(即使没有数据的条目也是如此),您需要从所需的日历开始,然后将其加入到实际数据中

如果您是从dynamics CRM执行此操作的,并且熟悉自己编辑FetchXML,则可以根据需要使用with连接来自多个实体的数据。关于堆栈溢出的另一篇文章详细介绍了该技术:

例如,如果您的报表只有月份,则可以创建一个包含三列的日历表:年、月和月编号。月份编号对于在报表中对月份进行排序很重要,因为您不能按字母顺序对月份进行排序。如果您只在报告中显示一个日历年,那么年份列可能不必要,但这是可以在许多报告中重复使用的内容,因此值得正确执行。如果你想了解更多关于它们的信息,请查阅“日历表”,关于如何创建它们,有很多意见,但也许可以从一个简单的开始,以适应这个想法。
如果将日历表加入到月份数据中,您将获得1月至4月的空值(因为您的数据从5月开始),并且您可能希望将这些空值替换为0或空字符串,具体取决于适当的情况。在数据库中使用isnull()或nvl()或任何适当的函数都是合适的

关于如何构建月排序的答案是,我使用参数来构建特定列的月-年值,然后使用该值与获取的月-年值进行比较

在专栏里 =总和(Cint(IIF(字段!开始月值=Cint(参数!年值&参数!一月值),字段!货币值,0)))


因此,取回的月-年值是通过一个计算字段生成的,例如201302,然后与所选的2013年进行比较,并添加特定列02=201302的月-年值。

如果您告诉我们更多关于您的报告结构和查询的信息,以及您如何解决此问题,会有所帮助:告诉我们您尝试了什么。请注意,您可以随时编辑您的问题。