Фильтровать с помощью подотчета в BO SAP Web Intelligence

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

    SELECT  EMPLOYEE_NUMBER
    FROM    Employee
    WHERE   Employee.EMPLOYEE_NUMBER NOT IN (
        SELECT  EMPLOYEE_NUMBER
        FROM    EmployeeAbsence
        WHERE   EmployeeAbsence.ABSENCE_END_DATE >= ADD_MONTHS(SYSDATE, -12)
    ) 

Я пытался сделать это с помощью подзапросов в BO Web Intelligence, но безуспешно.


person NiMuSi    schedule 05.12.2019    source источник
comment
Вы не получаете желаемых результатов? Или вы не знаете, с чего начать?   -  person Isaac    schedule 10.12.2019
comment
Я сделал это сейчас, создав два запроса; один возвращает сотрудников, отсутствовавших в прошлом году, а другой возвращает всех сотрудников. Я присоединяю номера сотрудников из двух запросов в финальном отчете с номером сотрудника Все сотрудники, начинающим основной. Фильтрация того, где отсутствует номер сотрудника, возвращает нужные мне результаты.   -  person NiMuSi    schedule 12.12.2019


Ответы (1)


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

введите здесь описание изображения

Если они не находятся в одной вселенной, вам понадобятся два запроса. Сначала создайте запрос того, что вы хотите исключить. В моем примере это магазины, в которых есть линия верхней одежды.

введите здесь описание изображения

Затем создайте запрос, в котором название магазина отсутствует в списке названий магазинов, в которых есть линия верхней одежды.

введите здесь описание изображения

Если вы хотите увидеть создание подзапроса в действии, посмотрите это короткое видео.

person Isaac    schedule 12.12.2019