netsuite
저장된 검색의 수식 열 사용
수색…
소개
Netsuite 수식의 Oracle SQL CASE 문
CASE 문을 사용하면 조건부로 열의 표현식을 다른 열 ( "OR에 대한 나의 왕국")에있는 값을 기반으로 표시 할 수 있습니다. 이 예에서 트랜잭션의 상태가 Pending Fulfillment
또는 Partially Fulfilled
경우 결과가 얻어집니다.
CASE DECODE( {status}, 'Pending Fulfillment', 1, 'Partially Fulfilled', 1, 0 )
WHEN 1 THEN
식 -1
END
정규식을 사용하여 계층 적 레코드 이름 구문 분석
정규식을 사용하여 계층적일 수있는 레코드 이름을 구문 분석하십시오. 이 표현식은 이름에서 마지막 콜론을 찾습니다. 콜론 다음에 오는 것을 반환하거나없는 경우에는 전체 이름을 반환합니다.
regexp_substr( {name} , '[^:]*$' )
여러 필드를 연결하여 복잡한 문자열 만들기
이 예제는 상위 레코드의 이름,이 레코드의 이름 및이 레코드의 메모에서 문자열을 작성합니다.
{createdfrom} || ' ' || {name} || ' ' || {memo}
DIV 요소를 삽입하여 열에 대한 CSS (스타일 시트)를 사용자 정의하십시오.
'<div style="font-size:11pt">' ||
표현 || '</div>'
부패 및 주입 공격으로부터 문자열 공식 보호
문자열 수식 필드에서 HTML과 같이 브라우저에 표시되는 하위 문자열이 일부 값에 포함될 수 있습니다. 이것이 의도적 인 경우가 아니면 부패로부터 가치를 보호하는 것이 중요합니다. 이는 분사 공격을 피하는 데 유용합니다. 누군가가 웹 주문서의 코멘트 필드에 HTML을 입력하는 것을 막습니다. 나중에 웹 서비스 담당자의 책상에서 해석됩니다.
htf.escape_sc(
표현식 )
URL을 통과 할 때 손상으로부터 필드 값 보호
utl_url.escape(
표현식 )
SQL CASE 문에서`mainline`의 값을 테스트하십시오.
저장된 검색 공식에서 mainline
의 가능한 값은 HTML 컨텍스트에서 유용하도록 설계되었습니다. mainline
이 참일 때, {mainline}
의 값은 1 문자 스트링 *
(별표)입니다. mainline
이 false 인 경우 {mainline}
의 값은 6 자 문자열입니다
(비 분리 공간, 문자 엔티티 참조로 인코딩 된 HTML). 이러한 문자열 값은 SQL 컨텍스트의 문자열 리터럴과 비교할 수 있습니다.
CASE
WHEN {mainline} = '*' THEN
expression-when-true
WHEN {mainline} = ' ' THEN
표현식 - 거짓 일 때
END
복잡하고 현실감있는 예제
다음 예제는 여기에서 다루는 몇 가지 기술을 결합한 것입니다. 사용자 정의 형식의 열에 하이퍼 링크를 넣습니다.이 열은 클릭 할 때 행과 연관된 판매 주문 레코드를 엽니 다. 하이퍼 링크는 클릭 할 때 새 창이나 탭에서 레코드를 열고, 마우스를 올리면 툴팁을 표시합니다. URL에 사용 된 internalid
필드는 URL 인코딩으로부터 보호됩니다. 고객 이름은 사용 가능한 경우 HTML 인코딩으로부터 보호되는 동일한 열에 표시됩니다.
'<div style="font-size:11pt">'
||
CASE {mainline}
WHEN '*' THEN '<br>' || htf.escape_sc( regexp_substr( {name} , '[^:]*$' ) ) || '<br>'
END
||
'<a alt="" title="Open the order associated with this line." '
||
'href="javascript:void(0);" onClick="window.open('''
||
'https://system.na1.netsuite.com/app/accounting/transactions/transaction.nl?id='
||
utl_url.escape( {internalid} )
||
''' , ''_blank'' )">'
||
{number}
||
'</a>'
||
'</div>'
필드에 제공된 값의 유무에 관계없이 레코드 수 계산 (누락 값 및 누락 값 계산)
Oracle SQL의 NVL2()
함수를 사용하면 필드에 데이터가 있으면 값 하나를, 필드에 데이터가 없으면 다른 값을 포함하는 표시 열을 만들 수 있습니다. 예를 들어, 엔티티 검색에서 기본 전자 메일 주소의 존재를 텍스트 표시 열로 바꿉니다.
NVL2( {email} , 'YES' , 'NO' )
이렇게하면 이메일 주소의 유무에 따라 소계로 기록을 계산할 수 있습니다.
Field: Internal ID
Summary Type: Count
Field: Formula (Text)
Summary Type: Group
Formula: NVL2( {email} , 'YES' , 'NO' )