본문 바로가기

데이터 시각화/superset

Apache Superset(아파치 슈퍼셋) - Dashboard 다른 어플리케이션에 embedding 하기(2) - URL_PARAM

2021.11.20 - [open source BI/superset] - Apache Superset(아파치 슈퍼셋) - Dashboard 공유하기, 다른 어플리케이션에 embedding 하기

 

Apache Superset(아파치 슈퍼셋) - Dashboard 공유하기, 다른 어플리케이션에 embedding 하기

Superset으로 생성한 Dashboard를 다른 사람에게 공유하거나 다른 어플리케이션에 embedded 할 때 유용한 정보에 대해 소개하려고 한다. 기본적으로 Dashboard는 Published 되어야 다른 사용자에게 공유가 가

tedparkdev.tistory.com

 

이전 글에 이어 이번엔 URL_PARAM으로 다른 어플리케이션에서 Superset으로 파라미터를 전달해보려고 한다.

우선 url_param을 사용하려면 jinja template을 사용하도록 셋팅되어 있어야 한다.

jinja template 설정 방법은 아래글을 참고 

2021.11.20 - [open source BI/superset] - Apache Superset(아파치 슈퍼셋) - jinja template 사용

 

Apache Superset(아파치 슈퍼셋) - jinja template 사용

Superset에서는 jinja template을 사용하여 쿼리를 작성할 수 있다. jinja template은 default가 사용하지 않음으로 처리되어 있기 때문에 superset_config.py 파일에서 사용하도록 ("ENABLE_TEMPLATE_PROCESSING"..

tedparkdev.tistory.com

 

아래 그림과 같이 Chart에서 Dataset의 SQL을 편집한다.

name이라는 url parameter가 넘어오는 경우 username 이 넘어온 변수에 해당하는 데이터만 조회하도록 변경하였다.

 

 

간단하게 vue.js로 아래 그림과 같은 웹페이지를 만들었다.

<template>
<!--텍스트 필드 삽입-->
  <iframe
      :src="'http://localhost:8088/superset/dashboard/example/?name=' + paramName + '&standalone=2'"
      frameborder="0"
      width="100%"
      height="100%"
      allowtransparency>
  </iframe>
</template>

<script>
    export default {
        name: 'exampleDashboard',
        components: {},
        data() {
            return {
            	paramName : '',
            };
        },
        computed: {},
        watch: {},
        created() {
        },
        mounted(){
        },
        methods: {

        }
    };
</script>

 

 

 

 

이제 제대로 동작하는지 확인하기 위해 name text field에 admin을 입력해보자.

query를 확인해보니 제대로 적용된 것을 확인할 수 있다.

 

반응형