SSRS表“伪列组”缺少数据-使用共享点作为源

时间:2019-08-29 19:58:51

标签: sharepoint reporting-services ssrs-tablix

需要根据我的字段的星期数创建列组 数据集,但我想显示最近4周,即使没有数据 周。数据源是Sharepoint,所以我无法(AFAIK)生成 通过SQL“虚拟”数据。另外,我也有两个行组,但是我会  不认为他们会受到影响。

所以我的数据只是Category,子类别和createDate,我创建了一个包含2个rowGroups(Category,SubCat)和表达式的表,以获取subCat类别的百分比,总计类别的百分比为:

CountRows("subCat") / CountRows("Category")  AND CountRows("Category") / CountRows("MyDataSet")

我的想法是创建一个虚拟数据集,如下所示,我可以用它来创建所需的行/列

declare @runDt DATE = DATEAdd(DAY,-4,GETDATE()), @CurWkNo INT

SELECT @CurWkNo =  DATEPART(wk, @runDt)

SELECT 'WK' + CAST(@CurWkNo AS varchar) AS WkLabel, @CurWkNo as wkNo
UNION
SELECT 'WK' + CAST(@CurWkNo - 1 AS VARCHAR) AS WkLabel, @CurWkNo -1 as wkNo
UNION
SELECT 'WK' + CAST(@CurWkNo - 2 AS VARCHAR) AS WkLabel, @CurWkNo -1 as wkNo
UNION
SELECT 'WK' + CAST(@CurWkNo - 3 AS VARCHAR) AS WkLabel, @CurWkNo -1 as wkNo

这会产生以下效果,这很好。

WkLabel wkNo
WK32    34
WK33    34
WK34    34
WK35    35

**但据我所知,我无法编写查询/创建数据集,因为我的dataSource是一个共享点列表。

目前,我正沿着没有真正的小组的方向走,但是          每周在数据集中创建一个字段,并使用           计数以下表达式

Sum(Iif("subCat") / CountRows("Category")
  =SUM(IIf(DatePart(Fields!CreateDate.Value = ParameterContainingWeekNumber1, 
  1, 0), "subCat") / SUM(IIf(Fields!CreateDate.Value = 
  ParameterContainingWeekNumber1, 1, 0), "Category")

我已经创建了保存4周编号1-4的参数,因此可以在上面使用它们。

有人问这是否是正确的方法吗?或者,如果有一种更好的方法可以将这些字段作为一个整体生成?

0 个答案:

没有答案