如何添加报表服务中没有匹配的列(SSRS)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何添加报表服务中没有匹配的列(SSRS)相关的知识,希望对你有一定的参考价值。

我正在尝试创建报告,视图会考虑每月范围。该报告有不同的观点(每日,每周,每月)。我有一个程序带来了记录,但我在尝试使用我没有记录的日期来构建报告时遇到问题。

例如,如果我在12月19日以每日视图运行报告,我将只看到第19列的列。即使没有记录,我也希望看到列到31日(月末)。

Current view of the days in the report

我附上了目前看起来如何的图片。我还试图使用包含该月份所有日期的变量表进行全加入。我也使用类似的方法与每周视图,但与周范围。它仍然无法使用此视图,我希望它能够工作。

Daily variable table Weekely table

在每周报告中,它发生了类似的事情:如果我今天运行报告,则该月的最后一周将不会显示在报告上(因为没有记录),我希望它能够显示。

我希望它足够清楚。

答案

正如Sean在他的评论中建议的那样,您可以使用日历类型表,然后可以使用该表的左连接表单到您的数据表来显示所有行,包括一个没有数据的行等。

对于日历表,您还可以使用以下代码选择日期范围:

DECLARE @Date1 DATE= '20171201';
DECLARE @Date2 DATE= '20171215';

SELECT 
    DATEADD(DAY, number, @Date1) AS [Date],
    DATEPART(DW, DATEADD(DAY, number, @Date1)) DayOfWeek,
    DATEPART(DY, DATEADD(DAY, number, @Date1)) DayOfYear,
    DATEPART(day, DATEDIFF(day, 0, DATEADD(DAY, number, @Date1)) / 7 * 7) / 7 + 1 AS WeekOfMonth,
    DATEPART(WEEK, DATEADD(DAY, number, @Date1)) WeekOfYear
FROM master..spt_values
WHERE type = 'P'
      AND DATEADD(DAY, number, @Date1) <= @Date2;

导致:

enter image description here

希望这有帮助吗?

祝好运。

以上是关于如何添加报表服务中没有匹配的列(SSRS)的主要内容,如果未能解决你的问题,请参考以下文章

SSRS如果参数与列值不匹配,如何隐藏Tablix?

如何让Visual Studio 2008编辑SSRS 2005报表项目没有安装SQL Business Intelligence Development Studio 2005?

ssrs 学习连接

ssrs 学习连接

SSRS-报表生成器-行为列

在SSRS中,如何添加一行来聚合与过滤器不匹配的所有行?