0

У меня есть matix в моем отчете (VS2005), я бы хотел, чтобы матрица отображала по умолчанию 12 строк, даже если данные не доступны. я не понял, как это сделать, поэтому я создаю группу прямоугольников под сеткой, и каждая строка этих прямоугольников имеет видимость, измененную на основе количества строк в матрице.Report Matrix filler

проблема заключается в том, что эти прямоугольники существуют, когда невидимы, и поэтому создают вторую страницу отчета, которая пуста, потому что матрица их нажала.

поэтому мой вопрос, как я удалить эти прямоугольники, которые невидимы или как я сказать матрицу иметь минимальное количество строк из 12.

ответ

1

Вы можете добавить наполнитель, используя левое внешнее соединение к столу с требуемыми размерами.

В этом примере не все месяцы имеют продажи, но таблица месяца содержит все месяцы. данные таблицы

month 
------------ 
month_id -- 1-12 
month_name -- Jan - Dec 

Sales 
------------ 
month_id --not every month has sale 
product 
amount 

select 
    month_name 
    ,product 
    ,sum(isnull(amount,0)) 
from 
    month 
    left outer join sales 
     on sales.month_id = month.month_id 
group by 
    month_name 
    ,product