redash에서 javascript가 작동하지 않습니다 ...

하고 싶은 일


  • 쿼리 결과 (테이블)에서 원하는 데이터 검색
  • get의 파라미터로 건네주는 방법은 redash가 무겁기 때문에 금지


  • 시도한 것


  • 검색된 항목이 있는지 찾습니다
  • 쿼리 결과를 검색하는 방법 찾기
  • 자바 스크립트로 열심히 검색

  • 결과


  • 검색 기능이있는 것은 없습니다 ...
  • python에서 get_query_result가 될 것이므로 불가능하지 않을 것 같습니다
  • 어쩐지 간단해

  • javascript 구현



    우선 피벗 테이블에서 테이블 목록 표시
    add widget => text box

    search.html
    <script type="text/javascript">
      function searchTable() {
        var tableName = document.fm.tableName.value;
        var results = document.getElementsByClassName("pvtTable")[0].getElementsByTagName("tbody")[0].getElementsByTagName("tr");
        var _tableName;
        for (var i = 0; i < results.length; i++) {
          _tableName = results[i].getElementsByTagName("th")[0].innerHTML;
          if (_tableName == tableName) {
            document.getElementById('resultTableName').innerHTML = _tableName;
            document.getElementById('resultTime').innerHTML = results[i].getElementsByTagName("td")[0].innerHTML;
            break;
          };
        }
      }
    </script>
    <form name="fm">
      テーブル名 <input type="text" name="tableName">
      <input type="button" value="検索" onclick="searchTable()">
    </form>
    <table>
      <tr>
        <th id="resultTableName"></th>
        <td id="resultTime"></td>
      </tr>
    </table>
    

    왠지 움직이지 않는다...



    왠지 움직이지 않고 원인을 찾아 보면 다음 페이지를 발견
    htps : // ぢs 쿳 s. 레다 sh. 이오 / t / 이-칸 t - 우세 - ゔ ぁ sc 리 pt
    자바 스크립트를 사용할 수 없습니다 ...

    해결



    시험에 onclick 안에 모두 넣어 보면 움직였다

    search.html
    <form name="fm">
      テーブル名 <input type="text" name="tableName">
      <input type="button" value="検索" onclick="
      var tableName = document.fm.tableName.value;
      var results = document.getElementsByClassName('pvtTable')[0].getElementsByTagName('tbody')[0].getElementsByTagName('tr');
      var _tableName;
      for (var i = 0; i < results.length; i++) {
        _tableName = results[i].getElementsByTagName('th')[0].innerHTML;
        if (_tableName == tableName) {
          document.getElementById('resultTableName').innerHTML = _tableName;
          document.getElementById('resultTime').innerHTML = results[i].getElementsByTagName('td')[0].innerHTML;
          break;
        };
      }">
    </form>
    <table>
      <tr>
        <th class="pvtRowLabel" rowspan="1" id="resultTableName"></th>
        <td class="pvtRowLabel" rowspan="1" id="resultTime"></td>
      </tr>
    </table>
    

    외형이 엄청 다사이가 일단 이것으로 대응

    좋은 웹페이지 즐겨찾기