2017-01-05 5 views
1

저는 지난 해 회사가 각각의 판매를 기록한 판매 데이터가 포함 된 Tableau의 데이터 세트를 보유하고 있습니다. 각 고객마다 고유 한 ID가 있으며 많은 고객이 반환합니다. Tableau에서 True를 제공하는 계산 된 필드를 만드는 방법을 알아 내려고 노력 중입니다. 주어진 시간 내에 (예를 들어 주어진 관찰 후 6 주 이내에) 주어진 환자 ID가 데이터 집합에 다시 나타나는지 여부에 대한 틀린 대답.앞으로 일정 기간 내에 Tableau에서 ID의 관측을 찾습니다.

나는 LOOKUP으로 실행 해 보았지만 효과적으로 증가 시간을 지정할 수 없었다.

답변

1

이렇게하면 어떻게 접근 할 수 있습니다. 시작과 끝이라는 두 개의 날짜 매개 변수를 만듭니다.

그런 다음 날짜에 대한 필터 계산을 만듭니다.

[date] >= [param_date_start] 
and 
[date] <= [param_date_end] 

필터 선반에 TRUE로 설정합니다.

고객 ID에 대한 다른 매개 변수를 작성하면 다음과 같이 고객 ID의 존재 여부를 테스트 할 수 있습니다. CUSTOMER_ID가 선택한 크기 및 날짜 범위에 대한 param_customer_id 동일 적어도 하나 개의 레코드가있는 경우

max([customer_id] = [param_customer_id]) 

이 true를 돌려줍니다.

이 동일한 접근 방식을 사용하여 계산 된 세트를 정의 할 수 있습니다. 특정 날짜 범위에서 고객이 구입 한 모든 제품 세트 또는 특정 서비스를받은 모든 환자 세트를 정의 할 수 있습니다. 세트를 정의 할 때 조건 탭에서이 공식을 사용하십시오.

+0

개념이 본질적으로 올바른 방향 이었지만 원래 계산에서 집계 및 비 집계 인수가 섞여 있기 때문에 답을 수정했습니다. –

+0

6 주 동안 이산적인 경우 내가 선택하고있는 것이지만 좀 더 역동적 인 무언가를 찾고 있는데 각 사례에 대해 특정 관찰보다 6 주 앞당겨 환자 ID의 반복이 있는지 확인한 다음 각 진행 관찰을 위해 같은. 이전에 R에서이 작업을 수행하고 플랫 파일로 데이터를로드했지만 SQL 구현에 사용하기 위해 자동으로 수행하는 무언가를 만들고 싶습니다. 지금 SCRIPT_BOOL을 (를) 사용하려고합니다. –

+0

이것은 내가 지금까지 가지고있는 것이지만 출력은 내가 내보내려고하는 것이 아니다. '코드 SCRIPT_BOOL (" 는 ('dplyr ')를 요구할 필요 ('lubridate ') 날짜"- as.POSIXct (as.character (.arg2) 형식 ='%의 m/% D/% Y ') 계정 <- (I (1) : 길이 (계정))에 대한 .arg1 - 계정 [(계좌 계좌 == [I])] 오른쪽 <- 날짜 [내가] + 주 (6) { 새로운 < accounts [i] <- ifelse (length (newer)> 0, TRUE) - 왼쪽 [- 날짜 [i] + 일 (3) , FALSE)} accounts ", COUNT ([계정 ID]), COUNT ([완료 날짜])) –