기본 콘텐츠로 건너뛰기

입력 필드

이 페이지에서

입력 필드

QlikView에서는 스크립트 실행 없이 변경할 수 있는 입력 필드라는 특수한 유형의 필드가 지원됩니다.

입력 필드는 QlikView의 다른 필드와 비슷하지만 스크립트에서 읽은 필드의 값을 나중에 스크립트를 다시 실행하지 않고 변경할 수 있다는 차이점이 있습니다. 입력 필드는 다른 모든 유형의 시트 개체에서 다른 필드와 마찬가지로 사용할 수 있습니다.

입력 필드를 사용하면 스크립트가 나중에 편집한 새 데이터를 포함하도록 각 필드 값을 위한 자리 표시자를 만듭니다. 스크립트에서 LOAD 또는 SELECT 문에 나오기 전에 inputfield 문에 필드를 지정하면 어떤 필드라도 입력 필드로 전환할 수 있습니다.

입력 필드의 값은 목록 상자 셀, 테이블 상자 셀 및 테이블 차트 표현식 셀에서 변경할 수 있습니다. 입력 필드를 포함하는 목록 상자와 테이블 열만 편집할 수 있습니다. 편집 가능한 셀을 마우스로 가리키면 입력 아이콘이 표시됩니다. 아이콘을 클릭하면 셀이 입력 편집 모드로 설정됩니다. 입력 편집 모드를 유지하는 동안 위쪽/아래쪽 화살표 키를 사용하여 셀 사이를 이동할 수 있습니다. 새 값을 입력할 때마다 전체 QlikView 문서가 자동으로 다시 계산됩니다.

테이블 차트 표현식의 셀에는 특수 입력 필드 집계 함수가 포함될 수 있으며 입력을 위해 계속 열 수 있습니다. 그래야 변경 내용이 "균일하게 퍼뜨리기" 또는 "비율에 맞게 퍼뜨리기"와 같은 사전 정의 알고리즘에 따라 기본 필드 값에 다시 배포됩니다.

또한 상대적 변경을 지정할 수도 있습니다.

참고: 상대적 변경은 분포 모드를 표현식의 한 부분으로 사용하는 경우 작동합니다.

다음 구문이 적용됩니다(n은 숫자입니다).

입력 구문
구문 설명
%+n 현재 값을 n%만큼 증가시킵니다.
%-n 현재 값을 n%만큼 감소시킵니다.
+=n 현재 값을 n만큼 증가시킵니다.
-=n 현재 값을 n만큼 감소시킵니다.
*=n 현재 값을 n으로 곱합니다.
/=n 현재 값을 n으로 나눕니다.

Example:  

%+10은 현재 값을 10%만큼 증가시킵니다.

+=56은 현재 값을 56만큼 증가시킵니다.

*=2는 값을 2로 곱합니다.

/=2는 값을 2로 나눕니다.

/=0은 값을 변경하지 않습니다.

값을 프로그래밍 방법으로 추출하고 설정하기 위한 자동화 API도 있습니다.

제한

  • 계산 필드 및 모든 키 필드는 입력 필드로 사용할 수 없습니다. 이 경우 입력 필드 기능이 자동으로 비활성화됩니다.
  • 입력 필드는 일반 필드에 비해 데이터를 저장하는 효율이 매우 낮으므로 많은 양의 데이터를 저장하는 데는 적합하지 않습니다.
  • 입력 필드와 논리 필드 사이의 키는 고유해야 하며 중복 값을 포함할 수 없습니다.

입력 필드 예

이 예에서는 데이터에 입력 필드를 추가하고 대화식으로 값을 업데이트하는 방법을 보여줍니다.

  1. 로드 스크립트에서 다음 데이터를 로드합니다.

    Inputfield Value;

     

    Table1:

    LOAD * INLINE

    [

    Key, Attribute, Value

    Bob, Jan, 100

    Bob, Feb, 200

    Bob, Mar, 300

    Kate, Jan, 400

    Kate, Feb, 500

    Kate, Mar, 600

    ];

  2. 데이터를 로드한 경우 테이블 상자를 만들고 세 필드를 모두 추가합니다.
  3. 일반표 차트를 만들고 Key를 차원으로 추가합니다. 다음 표현식을 추가합니다.

    • Sum(Value)
    • InputSum(Value)

    두 표현식 모두 동일한 값을 표시하지만 Sum(Value)가 아닌 일반표의 InputSum(Value)만 업데이트 할 수 있습니다.

이제 테이블 상자에서 Value를 대화식으로 변경할 수 있습니다. 일반표에 있는 표현식의 집계 값이 그에 따라 업데이트됩니다.

일반표에서 InputSum(Value) 표현식의 값을 업데이트할 수도 있습니다. 테이블 상자에서 기본 값이 업데이트됩니다. 변경 사항은 모든 값에 동일하게 배포되지만 InputSum() 함수에서 배포 모드를 변경할 수 있습니다.