JMPレポートが毎日更新され、キーを押さなくても自動的に公開されるのが好きです。 したがって、私が何を意味するかを示すために、ほとんどの人が興味を持つはずのケーススタディを使用します。 2020年から、パンデミックの進展を見て、特定の国で将来の封鎖が発生するかどうかを予測したいと思いました。
まず、信頼性の高い優れたデータソースを探す必要がありました。 公開されているさまざまなデータベースを調査した後、私はジョンズホプキンスコロナウイルスリソースセンター。 次のステップは、3つの異なるデータソースをにインポートすることでしたJMP毎日の症例、毎日の死亡、毎日の回復を分析します。 ファイルメニューで[インターネットを開く]を選択したので、データを簡単かつ簡単にインポートできました。 以下は確認されたCOVID-19症例の例です。

これをスクリプトにするには、以下に示すように、この手動インポート手順を3つのデータセットに変換する必要がありました。 確認されたCOVID-19症例のデータセットの例を次に示します。
Open(
"https://raw.githubusercontent.com/CSSEGISandData/COVID-19/master/csse_covid_19_data/csse_covid_19_time_series/time_series_covid19_confirmed_global.csv",
HTML Table( 1, Column Names( 1 ), Data Starts( 2 ) ));
私が使用した主な構文は、テーブルとスクリプト、およびインターネットからのデータを開く「Open()」関数です。 このステートメントは、テーブルに自動的に書き込まれるステートメントよりもはるかに単純です。
次に、データがJMPにインポートされます。

これで、データを分析できるようにするための次のステップに進む準備が整いました。
- 日付を一般的な参照列名を持つ1つの列にスタックします(データは毎日更新されるため)。 スタックオプションは、このタスクを手動で実行できるようにするテーブルメニューの素晴らしいプラットフォームです。

- 累積ケース、累積死亡、および累積回復の列の名前を変更します。
- 3つのデータセットに参加します:毎日の症例、毎日の死亡、毎日の回復。
- 日付形式を数値と連続に変更し、日付形式を設定します。
- 各列のDif式関数を使用して、負の値のない毎日の新しいケース、毎日の新しい死亡、および毎日の新しい回復の式を使用して、3つの新しい列を作成します。
負の値は、データセット(以下を参照)で場所が切り替えられたときに表示されましたが、もちろん意味がありません。 したがって、負の値を0に置き換えるために3つの新しい列を作成する必要がありました(各列の最大数式関数を使用して)。

これで、最終的なデータセットを分析する準備が整いました。

この段階でこれを自動化するために、データ準備のさまざまな手順がすべてスクリプト化されています。 そしてありがとうアクションレコーディングログで、これはで新しいですJMP 16 、私の人生はとても楽になりました。 これで、アクションレコーディング自体からさまざまなスクリプトデータ操作ステップを簡単に抽出して、最終的なスクリプトに挿入できます。

すべてのデータのインポートと準備の手順のスクリプトができたので、次の例のように、GraphBuilderを使用して便利な方法でデータを視覚化および分析できます。

グラフの上半分には、世界的な累積症例数、死亡数、および回復率が含まれています。 下半分には、世界中で毎日新しい症例、死亡、回復が見られます。 特定の国でフィルタリングできるローカルデータフィルターを追加しました。 最終的なスクリプトにグラフスクリプトを追加しました。
最後のステップとして、これをJMPLiveまたはJMPPublicに公開したいと思います。 以下はJMPパブリックに関するWebレポートを公開、JMP Liveのパブリックバージョン:
JMP 16での公開は大幅に変更されたため、スクリプトを使用してJMP16からJMPパブリックに公開する方法を次に示します。 まず、デスクトップJMPを使用したJMPライブ接続を作成する必要があります。JMP 16で、[ファイル]-> [公開]-> [接続の管理]に移動します。 新しい接続を追加します。 次に、URLとAPIキーを指定します。 APIキーを取得するには、JMPパブリックまたはJMPライブアカウント設定からAPIキーを生成します。
JSLで、その接続を使用してJMPLiveに公開します。これは、分析をJMP Publicに公開するためのスクリプトの例です(graph1は公開されるレポートです)。 誰もがレポートを利用できるように公開しました)。
webreport = New Web Report();
webreport << Add Report( graph1, title( "Graph1 Title" ) );
use_data = "true";
jmplive = New JMP Live( Connection( "JMP Public" ), Prompt( If Needed ));
jmpliveresult = jmplive << Publish ( webreport, Public (1));
report = jmpliveresult << As Scriptable;
このレポートは毎日新しいデータで更新されるため、既存のレポートを置き換える必要があります。
jmpliveresult = jmplive << Replace( webreport, ID( "website ID" ) );
WebサイトIDは、public.jmp.com / packages /(以下を参照)の後のコードです。これにより、更新されたコンテンツで新しいレポートを作成しなくても、既存のレポートのコンテンツを置き換えることができます。

ここまでは順調ですね! これを毎日公開するには、Windowsタスクスケジューラを使用します。 タスクスケジューラで、基本タスクを選択し、タスクの名前を作成してから、タスクをトリガーして、毎日午前8時にレポートを公開するようにします。

最後のステップは、どのプログラムを開き、どのアクションを実行するかをタスクスケジューラに指示することです。 そのため、使用するJMP16.exeパスとJSLスクリプトを定義しました。

Etvoilà、これで私のレポートはキーを押さずに毎日公開および更新されます。 見つけるだろうJMPパブリックで公開されたレポート。