Центр отчетов BIDS Параметры отчета - PullRequest
0 голосов
/ 17 декабря 2011

Я работаю с набором отчетов, которые были разработаны и преобразованы в Visual Studio 2008 BIDS.

У меня есть один отчет, который выполняет следующее, в нем не используется параметр @DistID в SQLкод.У меня есть настройка параметра DistID.

Когда отчет просматривается, отчет загружается очень хорошо, когда пользователь вводит число в поле параметра DistID, он перезагружает отчет только с этим единственным DistID

SELECT  o.Orderid, 
        o.Distid, 
        it.invoicetypedesc, 
        SUM(ol.Volume * ol.Quantity) AS Volume, 
        SUM(ol.Amount) AS Amount, 
        SUM(retailPrice * quantity) AS Retail, 
        o.TaxAmt, 
        o.ShipAmt, 
        o.PostAmount, 
        o.Status, 
        w.WarehouseDesc
FROM Orders o 
inner join Orderlines ol on o.orderid = ol.orderid
Inner Join Warehouse w on o.warehouseid = w.warehouseid
inner join invoicetype it on o.invoicetype = it.invoicetype
WHERE o.OrderDate  between @fromdate and
                           @todate + ' 11:59:59 PM' and 
      o.EnteredBy in (@EnteredBy) AND 
      o.InvoiceType IN (@InvoiceType)
Group by o.OrderID, 
         o.DistID,
         it.InvoiceTypedesc,
         o.taxamt,
         o.shipamt,
         o.postamount,
         o.status,
         w.WarehouseDesc

Существуют другие параметры установки @fromDate @toDate и т. Д., Которые также отлично работают.

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

select ol.itemid, 
        i.description, 
        it.invoicetypedesc, 
        sum(ol.quantity) as quantity, 
        sum(ol.amount) as amount, 
        ol.volume, 
        sum(ol.volume * ol.quantity) as totvolume, 
        o.warehouseid, 
        w.warehousedesc, 
        o.invoicetype, 
        ol.retailprice, 
        ol.wholesaleprice, 
        inv.sku 
from orders o 
inner join orderlines ol on o.orderid = ol.orderid 
left join items i on ol.itemid = i.inventoryid
left join inventory inv on ol.itemid = inv.inventoryID
inner join invoicetype it on o.invoicetype = it.invoicetype
inner join warehouse w on o.warehouseid = w.warehouseid
where o.orderdate between @fromdate and @todate + ' 11:59:59 PM' and 
      ol.quantity > 0 and 
      o.EnteredBy in (@EnteredBy)
group by ol.itemid, 
         i.description,
         it.invoicetypedesc,
         ol.volume,
         o.warehouseid,
         w.warehousedesc,
         o.invoicetype,
         ol.retailprice,
         ol.wholesaleprice,
         inv.sku

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

Я искал в обоих отчетах какие-либо различия, которые отсутствуют, и не могу найтилюбой.Другая странность - когда я добавляю другой параметр в отчет DistID, чтобы разбить его далее по OrderID, который также не будет работать.

Я ничего не нашел в разделе «Фильтры, переменные или код» отчета.Я не уверен, что мне здесь не хватает.

1 Ответ

0 голосов
/ 17 декабря 2011

Здесь, кажется, есть больше чем один вопрос. Я собираюсь сосредоточиться на (подразумеваемом) первом вопросе: почему второй отчет не выбирает один ItemID так же, как первый отчет выбирает один DistID?

Я думаю, что основной причиной является то, что в первом отчете происходит больше, чем было заявлено - учитывая его описание до сих пор, когда пользователь вводит число в поле параметра DistID, отчет не должен перезагрузить только с этим одним DistID. Поэтому звучит так, как будто в объекте отчета «таблица / таблица» используется дополнительный фильтр, используемый для отображения выходных данных, или, возможно, видимость строк подробностей была обусловлена ​​значением параметра.

Если это так, вы могли бы повторить функциональность первого отчета во втором, дублируя тот метод, который использовался для отображения одного идентификатора. Однако, учитывая трудности обслуживания, которые вызвал этот метод (т. Е. Этот вопрос), я настоятельно рекомендую вам добавить его в критерии выбора запроса.

...