사용자 정의 매크로 사용 지침

사용자 정의 매크로를 생성하거나 사용할 때 다음 지침을 염두에 두십시오.

*
*
ENABLE_SELECT_SORT_BY = TRUE 속성으로 데이터 소스를 구성한 경우 반환된 레코드를 해당 대상 수준의 대상 키 필드를 기준으로 정렬하려면 ORDER BY 절을 사용하여 원시 SQL 사용자 정의 매크로를 작성해야 합니다. 그렇지 않다면, 정렬 순서가 예상과 다를 경우 스냅샷 프로세스의 파생 필드에 사용자 정의 매크로를 사용하면 오류가 생성됩니다.
*
*
사용자 정의 매크로에서 기본 로직에 임시 테이블을 사용하면 로직에 오류가 발생하지 않도록 임시 테이블이 데이터베이스에 강제 적용됩니다.
그러나 사용자 정의 매크로가 최상위 SELECT에 사용되면 데이터베이스에 임시 테이블을 강제 적용하는 데 사용할 Campaign에 대한 기록이 없으므로 로직에 오류가 발생하게 됩니다.
따라서 원시 SQL을 사용하는 사용자 정의 매크로를 생성할 때 임시 테이블 토큰을 사용하는 버전 하나와 임시 테이블 토큰을 사용하지 않는 버전 하나, 이렇게 두 가지 버전의 동일한 사용자 정의 매크로를 생성해야 합니다.
임시 테이블이 없는 사용자 정의 매크로는 트리의 맨 위(예: 첫 번째 SELECT)에 사용할 수 있습니다. 임시 테이블이 있는 사용자 정의 매크로는 사용할 임시 테이블이 있으면 트리의 모든 위치에 사용할 수 있습니다.
*
예를 들어 값을 반환하는 원시 SQL 기반의 사용자 정의 매크로를 사용하고 사용자 정의 매크로의 기반이 되는 테이블에서 사용자 정의 매크로와 다른 필드(예: 스냅샷 프로세스에서)를 출력할 경우, Campaign에서는 해당 테이블에 대해 셀프 조인을 수행합니다. 테이블이 비정규화된 경우 데카르트 곱으로 끝납니다. 즉, 예상보다 많은 레코드가 표시됩니다.
*
실행 시 UA_CustomMacros 시스템 테이블에서 해당 정의를 찾아서 사용자 정의 매크로가 분석된 다음, 사용/실행됩니다.
*
Campaign에서는 이전 릴리스의 저장된 쿼리를 지원합니다. 그러나 고유하지 않은 저장된 쿼리에 대한 참조는 다음과 같은 기존 구문을 사용해야 합니다.
storedquery(<쿼리 이름>)
*
*
*
*
*
TestCM( {STRING_CONCAT(UserVar.Test1, UserVar.Test2) } )

다음 표에서는 Campaign에서 쿼리 및 파생 필드의 사용자 정의 매크로를 처리하는 방법을 자세히 설명합니다.

쿼리 및 파생 필드의 사용자 정의 매크로(선택, 세그먼트 및 대상 프로세스)

개별 쿼리로 실행되며, ID 리스트는 다른 결과와 병합됩니다.

사용자 정의 매크로에 원시 SQL과 다른 사용자 정의 매크로가 포함된 경우, 사용자 정의 매크로가 분석 및 실행된 다음 원시 SQL이 실행됩니다.

반환된 값은 표현식에 사용하거나 비교할 때 사용합니다.

이 방법으로 값이 사용되지 않으면 Campaign에서는 0이 아닌 값을 ID 선택을 위해 TRUE로 처리하고 0 값과 문자열을 FALSE로 처리합니다.

표현식이 분석되고 구문 검사가 수행됩니다. 테이블당 하나의 쿼리가 지원되고 ID가 일치/병합됩니다.

원시 SQL 쿼리(선택, 세그먼트 및 대상 프로세스)

사용자 정의 매크로가 분석된 다음 쿼리가 실행됩니다.

표현식이 분석되지만 구문 검사는 수행되지 않습니다. 표현식이 잘못된 경우에 실행되면 데이터베이스 서버에서 이를 감지합니다.



IBM Unica Campaign
 
8.5.0
For more information, see our support and community site: Customer Central