10 Replies Latest reply on Jul 17, 2018 10:50 PM by Yusuke Miyamura

    画面更新に関する質問

    yoshiyuki yokoyama

      画面更新に関して質問をさせて頂きます。

      類似の質問が登録されていましたが、回答なしでしたので新規に質問させて頂きます。

       

      Tableauで作成した画面をリロードする度に、半透明の白いマスクと読込み中アイコンが表示されます。

      これらを非表示にする方法はありますか?。

       

      1秒間隔で更新されるセンサのON/OFF情報(データベースに格納されている)を、

      1~10秒周期で画面更新してモニタリングしたいのですが、リロード時に上記エフェクトがあり見づらくなってしまいます。

      ※イメージとしては、株価や為替のサイトのように何のエフェクトもなく、数秒周期でリロード。

       

      ご教示宜しくお願い致します。

        • 1. Re: 画面更新に関する質問
          Shinichiro Murakami

          これも投げちゃえ。

           

          Keiko Iizuka さん。

          • 2. Re: 画面更新に関する質問
            lei.chen.0

            投げちゃえ 

            • 3. Re: 画面更新に関する質問
              Yeok Song Ng

              基本的にTableauはデータ分析ソフトのでデータモニタリングソ機能はあまり上達ではないと思います。

              Auto Refreshing Live connected dashboard in Browser(through server)

              • 4. Re: 画面更新に関する質問
                Akihiro Azuma

                かなり力技 かつ Tableau ServerとWeb Serverが同一ドメインという制限付きですが、

                下記サイトにあるような方法(Javascriptでごりごり実装)で対応できるかと思われます。

                 

                <参考>

                https://qiita.com/Yorinton/items/4f59d44ad4214f929b08

                http://www.koikikukan.com/archives/2015/03/03-005555.php

                 

                具体的実装内容としては、エフェクトを出している要素のスタイルに

                「display: none」を指定してやります。

                 

                バージョンによるかもしれませんが、当方の環境(2018.1.1)では

                <div id="initializing_thin_client" class="wcBody">...</div>

                をdisplay: noneにしてやれば解決出来ました。

                 

                冒頭に述べた通り、かなりの力技(バージョンアップで動かなくなるかもしれない)なので

                お勧めはできません。

                 

                また、ドメインが異なる場合は話がそれなりに難しくなります。。。

                <参考>

                https://teratail.com/questions/27530

                 

                他にやりようが無い & どうしてもエフェクトを消さないといけない場合のみ

                ご検討頂く手法とご理解頂ければと思います。

                • 5. Re: 画面更新に関する質問
                  yoshiyuki yokoyama

                  Yeok song Ng さんへ

                   

                  回答ありがとうございます。

                   

                  1~2ヶ月ほど使用していますが、蓄積情報を可視化するのには適していますが、高頻度で更新される情報をモニタリングするのは苦手なようですね。

                   

                  リンク先の手法については参考にさせて頂きます。

                  • 6. Re: 画面更新に関する質問
                    yoshiyuki yokoyama

                    Akihiro Azumaさんへ

                     

                    回答ありがとうございます。

                     

                    まずはご連絡いただいた方法で試してみます。

                    結果でましたら、また報告させていただきます。

                    • 7. Re: 画面更新に関する質問
                      Yusuke Miyamura

                      横から質問してすみません。

                      質問者と同様の問題でスレッドを見させていただきました。

                       

                      有用な情報ありがとうございます。

                       

                      そこで質問なんですが、当方TableauServer10.5を使用しているのですが

                      そのような変更箇所はどのように探されたのでしょうか。

                       

                      またもしよろしければ簡単なサンプルをいただけないでしょうか。

                       

                      よろしくお願いします。

                      • 8. Re: 画面更新に関する質問
                        Akihiro Azuma

                        Miyamura さん

                         

                        各プラウザの開発者ツールを利用して頂けば

                        簡単に確認できますよ。

                         

                        STEP1:開発者ツールを開く

                        ・IE、Firefox → F12

                        ・Chorme → Shift + Ctrl + i

                        ※その他のプラウザもググればヒットするかと思います

                         

                        STEP2:要素選択でプログレスインジゲータ(くるくる回転しているやつ)を選択

                        上記の三つのプラウザであれば、開発者ツール画面の左上にあります

                         

                        STEP3:選択された要素を確認

                         

                        Tableauのお話というより、Web開発のフロントエンドの範疇ですが、

                        「開発者ツール 使い方」等で検索していただければ

                        上記以外にも非常に便利な機能が出てきますので是非ご活用下さい。

                        • 9. Re: 画面更新に関する質問
                          Yusuke Miyamura

                          返信ありがとうございます!!

                          丁寧にありがとうございます。要素を探してみてCSSファイルを上書きしてみます!

                           

                          ただ関係ないですが、更新するたびにVizqlserverがメモリをひたすら食い続けるので更新マークどころじゃなくなってきました汗

                          • 10. Re: 画面更新に関する質問
                            Yusuke Miyamura

                            何度もすみません。

                            お詳しそうなのでもう少しお聞きしたいです。

                             

                            おっしゃられた通り変更すべき要素は特定できたのですが、うまくjavascriptを組めませんでした。

                            以下のように組んでみたのですが、何かアドバイスかヒントをいただけないのでしょうか。横から申し訳ありません。

                             

                            <!DOCTYPE html>

                            <html>

                             

                            <head>

                            <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

                            <title>Basic Embed</title>

                               

                              

                                           <script src=http://”myserver” /javascripts/api/tableau-2.min.js"></script>

                                           <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>

                            <script>

                                

                                

                            $("iframe").on("load",function(){

                            $("iframe").contents().find("initializing_thin_client").css("display","none"); 

                                                });

                                               

                                               

                            function initViz() {

                            var containerDiv = document.getElementById("vizContainer"),

                                            url=http://”myserver”/views/~~~~~~~~~~~~~~~~~?:embed=y",

                                            options = {

                                                hideTabs: true,

                                                onFirstInteractive: function () {

                                                    console.log("Run this code when the viz has finished loading.");

                                                }

                                            };

                             

                            var viz = new tableau.Viz(containerDiv, url, options);

                            // Create a viz object and embed it in the container div.

                             

                            }

                             

                            </script>

                            </head>

                             

                            <body onload="initViz();">

                            <div id="vizContainer" style="width:800px; height:700px;"></div>   

                            </body>

                             

                            </html>