Порт Microsoft SQL SELECT CASE для Crystal Reports 11 - PullRequest
1 голос
/ 24 ноября 2010

У меня есть Microsoft SQL Query:

SELECT case 
          when ReHired Is Null Then HireDate 
          else ReHired 
       end CheckDate
 FROM   
       Employees

Это, конечно, создает столбец - CheckDate - с использованием либо HireDate, либо Re-HiredDate.

Как мне это перенестита же функциональность для Crystal Reports?

Ответы [ 3 ]

2 голосов
/ 24 ноября 2010

Я знал, прежде чем спросить, что поля выражений SQL в CR выглядят и звучат так, как я хотел, но я попробовал несколько вещей и не смог заставить его работать.

Наконец, однако, мне удалосьчтобы .. Просто создайте поле выражения SQL, вставьте выражение выбора - СЛУЧАЙ, КОГДА ПОЛУЧЕНО ПОЛУЧЕНО, НЕДОСТУПНО, ПОТОМ.формулы и выражения.Очень просто, очень мощно, именно то, что я хотел.

Надеюсь, это поможет кому-то еще в будущем.

0 голосов
/ 20 декабря 2010

формирует ваш «базовый» запрос как представление на сервере sql, а затем разрешает кристаллу фильтровать его или как таблицу, возвращающую параметризованную хранимую процедуру или функцию на сервере sql, и кристалл передает параметры. В обоих случаях включение вашего «рассчитанного» поля в набор результатов

0 голосов
/ 24 ноября 2010

В CR создайте формулу с именем CheckDate со следующим содержанием:

if isnull({Employees.ReHired})
then {Employees.HireDate}
else {Employees.ReHired}

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

if {Employees.ReHired}=<your db default value for ReHired column>
...