Crystal Reports эквивалент «WHERE»

Я знаком с SQL, но не с Crystal Reports. Я пытаюсь иметь дело с импортированным набором данных с 5 столбцами:

id deathDate giftDate giftAmount Dead 123 2008-01-06 2011-09-08 25.00 TRUE 456 2009-06-08 2011-10-13 10.00 TRUE 789 0 2011-12-04 50.00 FALSE ... 

Я пытаюсь сделать подзапрос, но не могу понять, что такое CR эквивалент WHERE в SQL. Я хотел бы сделать что-то по линии:

 SELECT count(id) from tab1 where dead=TRUE 

Какие-либо предложения?

    Как заметил Конрад и dotjoe, Кристаллический эквивалент предложения sql where – это Select Expert – вы должны найти его в меню «Отчет».

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

    • Щелкните правой кнопкой мыши параметр «Поля формул» в полевом проводнике и выберите «Создать …».
    • Введите подходящее имя поля формулы, например DeadCount .
    • В редакторе формул введите формулу следующего вида (предполагая, что Dead – это строка):

      If {tab1.Dead} = 'TRUE' then 1

    • Используйте кнопку x-2 (или Alt-C), чтобы проверить, что формула не имеет ошибок, затем нажмите кнопку «Сохранить и закрыть», чтобы выйти из редактора формул.

    • Перетащите новое поле формулы из проводника полей в любом месте отчета.
    • Щелкните правой кнопкой мыши на поле формулы, которое вы только что добавили в отчет, и выберите «Вставить»> «Сводка …» в меню.
    • В диалоговом окне «Вводная сводка» укажите операцию «Сводка» как «Сумма» и «Сводное местоположение» в виде «Общий итог» («Нижний колонтитул отчета»), затем нажмите «ОК». В Sum of @DeadCount колонтитуле отчета должно появиться Sum of @DeadCount поле, помеченное как Sum of @DeadCount . (Теперь вы должны удалить не суммированное поле формулы, из которого вы разместили его в области дизайна отчета.)

    Этот метод по существу аналогичен включению суммированного значения case в sql-запросе – что-то вроде: select sum(case when Dead = 'TRUE' then 1 end) as DeadCount from tab1

    Добавьте это в формулу выбора записи …

     {datasetname.Dead} = true //note: I'm not sure what data type that is but CR uses bool for bit and XSD bool 

    Затем добавьте поле сводки в нижний колонтитул отчета, который будет содержать счетчик (id).

    Или, если вам нужно отобразить набор данных и нужен только подзапрос, вы можете использовать что-то, называемое полем «Запуск всего». Здесь вы можете сделать счетчик (id) и добавить предложение where к необходимой формуле.