...

Вопрос по отчетам

Тема в разделе "Вопросы по функционалу", создана пользователем eskerov, 19 июн 2018.

  1. eskerov

    eskerov New Member

    Добрый день, есть отчет с несколькими параметрами, в результате должен построиться отчет с разными вариациями выбранных параметров, так как их > 6, простым перечислением всех вариантов не обойтись, так как это долго. Самый простой вариант сформировать строку и потом её поставить в WHERE, но у меня с этим возникла проблема, не отрабатывает как нужно. Подскажите, может у кого есть рабочий вариант такого механизма.
     
  2. akarimov

    akarimov Member

    Стандартный вариант ELMA с условными операторами в теле запроса не устраивает? Пример из стандартного отчета
    Код:
    WHERE
    {IF {$BlockedUsers} = FALSE}
        [User].Status = 0
    {ELSE}
        [User].Status in (0, 1)
    {END IF}
    Тогда можно тру SQL путем пойти, через case операторы в where секции(не рекомендую) пример из ораклового запроса, в ms наверняка аналогично
    Код:
    --если параметр не задан (равен нулю в нашем варианте) - сравнивать с собой =выбрать все записи независимо от значения этого поля, иначе - сравнивать с параметром
    where im.imbuyr=case when '&imbuyr'=0 then im.imbuyr else to_number('&imbuyr') end
     
  3. eskerov

    eskerov New Member

    Это работает в случае если выбран один параметр, а что делать, если их два выбрано одновременно, или три?
     

    Вложения:

  4. Segey

    Segey New Member

    {if {$BlockedUsers} = false}
    where
    [User].Status = 0
    {else}
    where
    [User].Status = 0 AND [User].Id > 20
    {end if}
    Можно попробовать так, но если параметров много наверно будет уже сложнее :)
     

Поделиться: