BI 도구로 여러 날짜 정보를 단일 그래프로 처리하는 방법

3232 단어 TableauQlikView
이 문장은 DATUM STUDIO Advent Calendar 2016의 16일째입니다.

취지



BI 도구를 활용할 때 시트 수와 그래프 수를 최대한 줄이는 것은 일상 업무를 압축하는 데 필요한 요구 사항입니다.
이 중 하나의 레코드에 여러 날짜 정보가 저장된 데이터, 예를 들어 주문 날짜, 배송 날짜, 반품 날짜 등이 있는 데이터가 있습니다.
이것을 그대로 한 장의 그래프에 붙이면, 가로축으로 사용할 수 있는 것은 수주일이 되기 때문에, 예를 들면 수주일에 출하나 반품의 데이터도 끌려 버리게 됩니다.

예를 들어 위의 데이터에서 order_date의 축에서 order의 수량은 일치하지만,
send_date의 축에서는 send의 수량이 일치하는 형태가 되어, 한 장의 그래프로는 할 수 없습니다.

해결 방법



거기서 이용할 수 있는 것이, 표준 캘린더(Canonical Calendar)라고 하는 데이터의 작성이 됩니다.
예를 들면 아래와 같은 데이터 형식이 존재한다고 합니다.


이에 대해, 아래와 같은 SQL을 따로 발행해, 이것을 multiple_dates 와 INNER JOIN 를 시킵니다.

커스텀 SQL
SELECT
    受注日付 AS 標準日付
    ユニークキー
    '受注' AS CODE
FROM
    FactTable

UNION

SELECT
    出荷日付 AS 標準日付
    ユニークキー
    '出荷'  AS CODE
FROM
    FactTable

SELECT
    返品日付 AS 標準日付
    ユニークキー
    '返品' AS CODE
FROM
    FactTable;

이것은, 일자 정보의 수만큼 데이터를 반복하는 SQL로,
마지막 CODE는 날짜가 어떤 날짜 정보를 따르는지를 결정합니다.
구체적으로는 아래와 같은 SQL 구조가 됩니다.



이어서, 계산 필드를 작성하는 것으로, 수량이 복수 있는 경우에는 하나로 정리합니다.
필드 이름 예: 수량_표준 날짜 기준

수량_표준 날짜 기준
IF CODE = '受注' THEN 受注数量  
ELSEIF CODE = '出荷' THEN 出荷数量 
ELSEIF CODE = '返品' THEN 返品数量 

그런 다음 축에 표준 날짜를 추가하고,
위에서 만든 계산 필드를 추가하여,
한 장의 그래프에서 여러 수량을 각 날짜에 따라 집계 할 수 있습니다.



참고 자료



Canonical Calendar

좋은 웹페이지 즐겨찾기