2017-11-08 26 views
1

필터 상자가 아닌 슬라이스를 사용하여 대시 보드에 필터를 적용하고 싶습니다.필터 상자 이외의 조각에서 대시 보드 필터 적용

내 나무 조각이 서로 다른 경로를 대표 지점과 수준이 있습니다

나무처럼 구성되어 내 데이터 세트에 대해서는

, 내가 이렇게 보이는 슬라이스로 D3 시각화 갤러리에서 들여 나무를 적응 , 그리고 내 값을 포함하는 끝 노드. enter image description here

이제이 슬라이스를 사용하여 대시 보드를 필터링하고 싶습니다. 특히 사용자가 내 최종 노드 중 하나를 클릭하면 이전 값을 제거하고 대신 해당 노드의 값을 적용하려고합니다.

노드의 경로와 값을 문자열로 표시하고 일반 필터 상자에서와 같이 사용하려고했습니다. 그러나 종종 빈약 한 사용자 경험을 위해 정말 긴 문자열로 끝나는 경우가 종종 있습니다.

필터 설정을 변경하는 데 사용할 수있는 방법을 찾을 수 있는지 확인하기 위해 필터 상자 구현을 살펴 보았습니다. 그러나 이것은 꽤 복잡한 프로세스로 보이며, 필자의 슬라이스에서 Filter Box를 다시 구현하는 것은 나에게 잘못된 접근 방식을 보이는 것처럼 보입니다.

대시 보드 필터를 변경하고 적용하는 일반적인 방법이 있습니까?

답변

0

"테이블"시각화는 현재 대시 보드 필터 이벤트를 내보내도록 (선택적으로) 설정되어있는 "필터 상자"이외의 다른 시각화입니다. 여기가 구현 있어요 방법은 다음과 같습니다

https://github.com/apache/incubator-superset/blob/master/superset/assets/visualizations/table.js#L130

시각화를위한 인터페이스는 slicepayload PARAMS를 수신하는 기능입니다. slice 개체는 위 예제 에서처럼 addFilerremoveFilter을 노출합니다.

슬라이스 개체를 사용하여 적절한 필터링 이벤트를 발생 시키려면 시각화를 설정해야합니다.

+0

고마워, 내 문제를 해결할 수있었습니다. 필터링 할 열은 사용자 지정 필터 슬라이스의 'Group By'절에 있어야합니다. 그룹화 기준에 컬럼이 없으면 아무런 메시지없이 필터 적용이 실패합니다. – thijsfranck