Qlik Sense에서 부울 true 값은 -1로 표시되고 false 값은 0으로 표시됩니다.
옵션 매개 변수가 사용되지 않은 경우 캘린더 연도부터 현재까지는 한 해의 1월 1일에서 마지막 스크립트 실행 날짜(포함)까지의 모든 날짜를 의미합니다.
즉, 추가 매개 변수 없이 트리거될 때 yeartodate() 함수는 타임스탬프를 평가하고 다시 로드가 발생한 날짜를 포함하여 캘린더 연도 내에 날짜가 발생했는지 여부에 따라 부울 결과를 반환하는 데 사용됩니다.
그러나 firstmonth 인수를 사용하여 연도의 시작 날짜를 대체하고 yearoffset 인수를 사용하여 이전 연도 또는 다음 연도와 비교할 수도 있습니다.
마지막으로, 기록 데이터 집합의 경우 yeartodate() 함수는 todaydate를 설정하는 매개 변수를 제공합니다. 이 매개 변수는 대신 타임스탬프를 todaydate 인수에 제공된 날짜까지 포함하여 캘린더 연도와 비교합니다.
인수
인수
설명
timestamp
평가할 타임스탬프입니다(예: '10/12/2012').
yearoffset
yearoffset을 지정하면 다른 연도의 동일한 기간에 대해 yeartodate가 True를 반환합니다. 음수 yearoffset은 이전 연도를 나타내고 양의 오프셋은 이후의 연도를 나타냅니다. 최근 날짜는 yearoffset = -1을 지정하여 얻습니다. 생략하면 0이 사용됩니다.
firstmonth
firstmonth를 1과 12 사이(생략할 경우 1)로 지정하면 연도의 시작일을 원하는 달의 첫 날로 옮길 수 있습니다. 예를 들어 5월 1일에 시작되는 회계년도를 사용하려는 경우 firstmonth = 5를 지정합니다. 값 1은 1월 1일에 시작하는 회계 연도를 나타내고 값 12는 12월 1일에 시작하는 회계 연도를 나타냅니다.
todaydate
todaydate(생략할 경우 마지막 스크립트 실행 시의 타임스탬프)를 지정하면 기간의 상한으로 사용된 날짜를 이동할 수 있습니다.
사용 시기
yeartodate() 함수는 부울 결과를 반환합니다. 일반적으로 이 유형의 함수는 if 표현식의 조건으로 사용됩니다. 이렇게 하면 평가 날짜가 응용 프로그램의 마지막 다시 로드 날짜를 포함하여 해당 연도에 발생했는지 여부에 따라 집계 또는 계산이 반환됩니다.
예를 들어 YearToDate() 함수를 사용하여 현재 연도에서 지금까지 제조된 모든 장비를 식별할 수 있습니다.
다음 예에서는 마지막 다시 로드 시간 = 11/18/2011을 가정합니다.
함수 예
예
결과
yeartodate( '11/18/2010')
반환 값: False
yeartodate( '02/01/2011')
반환 값: True
yeartodate( '11/18/2011')
반환 값: True
yeartodate( '11/19/2011')
반환 값: False
yeartodate( '11/19/2011', 0, 1, '12/31/2011')
반환 값: True
yeartodate( '11/18/2010', -1)
반환 값: True
yeartodate( '11/18/2011', -1)
반환 값: False
yeartodate( '04/30/2011', 0, 5)
반환 값: False
yeartodate( '05/01/2011', 0, 5)
반환 값: True
국가별 설정
달리 지정하지 않는 한 이 항목의 예에서는 다음 날짜 형식을 사용합니다. YYYY/MM/DD. 날짜 형식은 데이터 로드 스크립트의 SET DateFormat 문에 지정됩니다. 기본 날짜 형식은 지역 설정 및 기타 요인으로 인해 시스템에서 다를 수 있습니다. 아래 예의 형식을 요구 사항에 맞게 변경할 수 있습니다. 또는 이러한 예와 일치하도록 로드 스크립트의 형식을 변경할 수 있습니다.
앱의 기본 국가별 설정은 Qlik Sense가 설치된 컴퓨터 또는 서버의 국가별 시스템 설정을 기반으로 합니다. 액세스하는 Qlik Sense 서버가 스웨덴으로 설정된 경우 데이터 로드 편집기는 날짜, 시간 및 통화에 대해 스웨덴 지역 설정을 사용합니다. 이러한 국가별 형식 설정은 Qlik Sense 사용자 인터페이스에 표시되는 언어와 관련이 없습니다. Qlik Sense는 사용 중인 브라우저와 동일한 언어로 표시됩니다.
예 1 – 기본 예
개요
데이터 로드 편집기를 열고 아래의 로드 스크립트를 새 탭에 추가합니다.
로드 스크립트에는 다음이 포함됩니다.
Transactions라는 테이블에 로드되는 2020년과 2022년 사이의 트랜잭션 집합이 포함된 데이터 집합.
DateFormat 시스템 변수(MM/DD/YYYY) 서식으로 제공된 날짜 필드.
마지막 다시 로드 날짜까지 캘린더 연도에 발생한 트랜잭션을 확인하는 필드 year_to_date 만들기.
yeartodate() 함수의 yearoffset 인수로 -2를 사용하여 함수는 비교 캘린더 연도 세그먼트의 경계를 2년 전체만큼 시프트합니다. 초기에 연도 세그먼트는 2022년 1월 1일에서 4월 26일 사이에 해당합니다. 그런 다음 yearoffset 인수는 이 세그먼트를 2년 전으로 오프셋합니다. 날짜 경계는 2020년 1월 1일에서 4월 26일 사이가 됩니다.
따라서 2020년 1월 1일과 4월 26일 사이에 발생하는 모든 트랜잭션은 부울 결과 TRUE를 반환합니다. 이 세그먼트 이전 또는 이후에 나타나는 모든 트랜잭션이 FALSE를 반환합니다.
예 3 – firstmonth
개요
데이터 로드 편집기를 열고 아래의 로드 스크립트를 새 탭에 추가합니다.
로드 스크립트에는 다음이 포함됩니다.
첫 번째 예와 동일한 데이터 집합 및 시나리오.
마지막 다시 로드 날짜까지 캘린더 연도에 발생한 트랜잭션을 확인하는 필드 year_to_date 만들기.
이 경우 todaydate 인수 03/01/2022가 yeartodate() 함수에서 사용되므로 비교 캘린더 연도 세그먼트의 끝 경계를 2022년 3월 1일로 설정합니다. firstmonth 매개 변수(1 ~ 12)를 제공하는 것이 중요합니다. 그렇지 않으면 함수는 null 결과를 반환합니다.
따라서 todaydate 매개 변수인 2022년 1월 1일과 2022년 3월 1일 사이에 발생하는 모든 트랜잭션은 부울 결과 TRUE를 반환합니다. 2022년 1월 1일 이전 또는 2022년 3월 1일 이후에 발생한 모든 트랜잭션은 부울 결과 FALSE를 반환합니다.
예 5 – 차트 개체 예
개요
데이터 로드 편집기를 열고 아래의 로드 스크립트를 새 탭에 추가합니다.
이 로드 스크립트에는 첫 번째 예와 동일한 데이터 집합 및 시나리오가 포함되어 있습니다.
그러나 이 예에서는 변경되지 않은 데이터 집합이 응용 프로그램에 로드됩니다. 마지막 다시 로드 날짜까지 캘린더 연도에 발생한 트랜잭션을 확인하는 계산은 응용 프로그램의 차트 개체에서 측정값으로 만들어집니다.
yeartodate() 함수는 각 트랜잭션 ID의 날짜를 평가할 때 부울 값을 반환합니다. 다시 로드가 2022년 6월 16일에 발생했으므로 yeartodate 함수는 연도 기간을 2022년 1월 1일에서 2022년 6월 16일 사이로 분할합니다. 그러나 period_no 값 -1이 이 함수에 사용되었으므로 이러한 경계는 이전 연도로 시프트됩니다. 따라서 2022년 1월 1일에서 2022년 6월 16일 사이에 발생하는 모든 트랜잭션에 대해 yeartodate() 함수는 부울 값 TRUE를 반환하고 금액을 합산합니다.
이 페이지가 도움이 되었습니까?
이 페이지 또는 해당 콘텐츠에서 오타, 누락된 단계 또는 기술적 오류와 같은 문제를 발견하면 개선 방법을 알려 주십시오!