메뉴 여닫기
개인 메뉴 토글
로그인하지 않음
만약 지금 편집한다면 당신의 IP 주소가 공개될 수 있습니다.

BigQuery-LookerSutdio Audit Log SQL

데브카페
  • LookerStudio Pro 사용시 Audit Log To BigQuery Export 에서 Workspace 목록 추출
SELECT
  FORMAT_TIMESTAMP(('%Y-%m-%d %H:%M:%S'), TIMESTAMP_MICROS(log.time_usec), 'Asia/Seoul') AS inq_dttm,
  gwslog.event_name,
  gwslog.email,
  gwslog.event_type,
  gwslog.data_studio.asset_id,
  gwslog.data_studio.asset_name,
  gwslog.data_studio.parent_workspace_id,
  rs.asset_name latest_asset_name,
  gwslog.data_studio.owner_email,
  gwslog.data_studio.visibility,
  rs.owner_email latest_owner_email,
  rs.visibility latest_visibility,
  rs.parent_workspace_id latest_parent_workspace_id
FROM
  `[Project_ID].[DataSet].activity` gwslog 
LEFT JOIN ( -- 가장 최근에 변경된 보고서명을 가져오기 위한 서브쿼리 조인
  SELECT
    data_studio.asset_id,
    data_studio.asset_name,
    data_studio.visibility,
    data_studio.owner_email,
    data_studio.parent_workspace_id,
    ROW_NUMBER() OVER (PARTITION BY data_studio.asset_id ORDER BY time_usec DESC) AS rn
  FROM
    `[Project_ID].[DataSet].activity`
  WHERE
    record_type ='data_studio'
    AND data_studio.asset_type='WORKSPACE'
  QUALIFY
    rn=1 ) rs 
ON
  gwslog.data_studio.asset_id = rs.asset_id
WHERE
  gwslog.record_type = 'data_studio'
  AND event_name='CREATE' -- 생성보고서 기준으로 필터링 조건
  AND data_studio.asset_type='WORKSPACE' -- LookerStudio Pro에서 Workspace 생성 목록 필터링 조건 
  AND NOT EXISTS ( -- 현재 삭제된 Workspace는 제외
  SELECT
    x.data_studio.asset_id
  FROM
    `[Project_ID].[DataSet].activity` x
  WHERE
    1=1
    AND event_name='TRASH' -- LookerStudio Pro에서 삭제된 리스트 필터링 조건
    AND x.data_studio.asset_id = gwslog.data_studio.asset_id
    AND data_studio.asset_type='WORKSPACE'
    AND x.data_studio.asset_id = gwslog.data_studio.asset_id)

Comments