【Power BI】같은 꺾은선 그래프상에서 전년도 비교를 한다

집계가 아니라 전년도 비교 · 전월 비교를 내고 싶다.



꺾은 선 그래프로 전년 비교하고 싶을 때가 있지요.
작년의 추세와 어떻게 다른가? 라는 것을 겹쳐서 표시하고 싶다.
하지만 모처럼 PowerBI 사용하고 있는 것.
그래프를 두 개 따로 낸다는 똑똑하지 않아요.

하지만 조사해도 좀처럼 나오지 않는다.
메이저를 사용해 집계하는 방법은 알았어.
PreviousYear, DateADD,
내가 하고 싶은 것은 집계하지 않는 방법이야.
10분 간격의 세세한 데이터를, 카테고리라든지, 센터라든지, 여러가지 필터 사용할 수 있는 상태로 보고 싶다.


▲당사에서 독자 분석하고 있는 커뮤니티 채널의 시청률 데이터. 금년도와 전년도를 거듭해 내고 싶다. 뭐라면 힌트 기능으로 올해·작년에 각각 무슨 프로그램 하고 있었는지 마우스 오버 하는 것만으로 알고 싶다.

그래, 줄을 만들자.



네, 똑똑하지 않아요.
하지만 그것밖에 생각하지 않는 것입니다.
예를 들어 2020년 8월 7일 23:50의 시청률 데이터가 있으면, 2019년 8월 7일의 시청률도 데이터로 가져 가자는 것.


하지만 이렇게 하면 겹쳐서 표시할 수도 있습니다.
이번에 사용하는 DAX 함수는 이쪽
前年度時刻 = CONVERT(EDATE('テーブル名'[時間],-12)&" "&TIMEVALUE('テーブル名'[時間]),DATETIME)
前年度データ = LOOKUPVALUE('テーブル名'[対象データのカラム名],
                'テーブル名'[条件列のカラム名],'テーブル名'[条件列のカラム名],
                'テーブル名'[時間],'テーブル名'[前年度時刻],
              0)

그리고는, 그래프의 「값」 「제2의 값」에 금년도 데이터와 전년도 데이터를 읽어내면 OK입니다.

해설



전년도 시간 추가


前年度時刻 = CONVERT(EDATE('テーブル名'[時間],-12)&" "&TIMEVALUE('テーブル名'[時間]),DATETIME)

열을 추가하고 억지로 데이터를 가져 가자는 것은 앞서 말했듯이.
전년도 시간을 계산하려면 EDATE 함수를 사용하여 시간을 12개월로 거슬러 올라갑니다.
다만, EDATE 함수는 DATE 형을 돌려주므로, TIME 부분이 빠져 버립니다.
따라서 TIMEVALUE에서 시간 부분을 꺼내 &로 연결하고 있습니다.
이대로 문자열 형식이므로 마지막으로 CONVERT에서 DATETIME 형식으로 변환하고 있습니다.
(지분은 일시에 중복 있는 데이터를 사용했기 때문에 화났습니다만, 일시가 독특한 쪽은 어쩌면 DATEADD 함수라든지 갈 수 있을지도?)
덧붙여서, 전월 비교하고 싶을 때는, EDATE의 2번째의 인수의 -12라고 되어 있는 곳이 달이므로, -1로 바꾸어 가면 됩니다.

전년도 데이터 열 추가


前年度データ = LOOKUPVALUE('テーブル名'[対象データのカラム名],
                'テーブル名'[条件列のカラム名],検索条件,
                'テーブル名'[時間],'テーブル名'[前年度時刻],
              0)

LOOKUPVALUE 함수는 검색 조건과 일치하는 데이터를 찾아 옵니다.
먼저 대상 데이터를 지정하고 쉼표로 구분한 다음 조건 열의 열 이름과 검색 조건을 씁니다(검색 조건은 여러 개 OK).
이번 지분은 시각 뿐만이 아니라, 다른 데이터에서도 조건 붙였으므로 이렇게 썼습니다만, 조건이 시각만이라고 하는 분은 2행째는 불필요합니다.
덧붙여 시각 이외 조건을 변화시키지 않을 때는(그 행과 같은 조건으로 시각만 전년도로 한 데이터를 가져오고 싶은 경우), 2행째를
'テーブル名'[条件列のカラム名],'テーブル名'[条件列のカラム名],

로 바꾸면 잘 작동합니다.

매번 말하고 있습니다만, 힌트 기능은 즐겁네요.
우선 마우스 오버했을 때에 전년도와 금년도의 데이터를 낼 수 있도록(듯이) 해 보았습니다만, 사실은 좀 더 집중하고 싶은 곳입니다.
그럼 멋진 PowerBI 생활을!

좋은 웹페이지 즐겨찾기