2017-04-11 4 views
0

私が取り組んでいるプロジェクトの最善の方法をお手伝いしたいと考えています。リアルタイムMS BI環境のR

私の雇用主はSSRS、SSIS、SQLServerなどのMS BIスタックを使用しており、開発者はダッシュボード形式でリアルタイム管理レポートを表示するためにC#とASP.NetにWebポータルを構築しました。リアルタイムで私はそれを意味する。基礎となるデータが変更されると、日中何度も行われるように、情報もダッシュボードに表示されます。

私はよりグラフィカルでインタラクティブで反応性の高いコンポーネントと機械学習分析を含むUbuntu仮想サーバ上で動作するRとShiny Dashboardを備えたプロトタイプのダッシュボードを開発しました。

誰もがダッシュボード、特にグラフィックス(うんざりしています)に非常に感銘を受けています。管理者は、アナリティクスとグラフィカルコンポーネントを既存のポータルに組み込み、UbuntuとShinyの依存を取り除きたいと考えています。しかし、それはプロトタイプだったので、SQLサーバで作成されたファイルを使用し、csvとしてUbuntuと共有するフォルダに夜間にエクスポートしました。このフォルダから、Shiny/Rはファイルを読み込み、視覚化を行い、要求に応じてモデルを実行します。これまでは、光沢のあるサーバーを指すiframeを作成しましたが、管理者はこのアプローチに満足していません。リアルタイムのポータルにRモデルとグラフィックスを統合したいと考えています。

私はSQL Server 2016バンドルのRサービスを知っており、これを使い始めましたが、リアルタイムのRアナリティクスとグラフィックスを既存のMS/.NETスタックにどのように組み込みますか?

乾杯 アンドリュー

+0

最も簡単なのは、powerBI Rスクリプトでグラフィックスを再作成することですが、対話性はありません – HubertL

+0

[Windows、Mac OS X、およびその他のオペレーティングシステムは現在シャイニーサーバープラットフォームとしてサポートされていません](https:// www。 rstudio.com/products/shiny/download-server/) – HubertL

+0

[RのOLAPキューブからのデータの使用](https://docs.microsoft.com/en-us/sql/advanced-analytics/r-services/using- data-from-olap-cubes-in-r) – HubertL

答えて

0

新しいデータのポーリングにそれがチェック機能が異なる値を返しますたびにトリガピカピカのreactivePoll機能、のために良いユースケースを有していても良いようですね。

checkFuncを書く必要があります。これは、SQL Serverのデータを迅速にチェックして、データが変更されているかどうかを確認するものです。次に、checkFuncが基になる値が変更されたことを示すときに、アプリケーションのデータを返すvalueFuncを書く必要があります。最後に、intervalMillis引数でcheckFuncを実行する頻度を決定する必要があります。

これにより、別のプラットフォームで再構築することなく、Shinyを使用してほぼリアルタイムの解析に移行できます。しかし、管理者がUbuntuサーバーから遠ざかることを強く求めている場合、これはうまくいかないでしょう。

plotly.jsを使用してプロットグラフィックスを書き直し、.NETトリガーを使用して、リアルタイムパイプラインの一部としてサーバー上のRスクリプトを再実行して、plotly.jsのjsonデータを生成することができますプロットはありますが、同様の影響を受けてreactivePollを使用するだけでも...管理者はこの要求に正当な理由がありますか?アナリティックと価値がRとShinyによって生成されているときに、丸いペグを四角い穴に合わせようとすると、多くの作業のように聞こえるでしょうか?

+0

私はこの話https://www.rstudio.com/resources/videos/airbnb/を覚えているようです。私は彼らが必要な頻度で必要なデータをCSVファイルにエクスポートする予定のタスクを設定し、 'reactiveFileReader'を使ってCSVからの変更を取得すると考えています。それは本当にリアルタイムではありませんでしたが、かなり近づくことができました。 – Benjamin

+1

ええ、 'reactivePoll'は' reactiveFileReader'と似ていますが、データベースソースやウェブソースの場合を除きます。 "最後に更新されました"のようなSQL Serverテーブルで何かをすばやく確認し、その安価な関数が別の結果を返した場合にのみデータをダウンロードしたり、クエリを実行することができます。ミリ秒単位で作業しているならば、 'intervalMillis'はかなりリアルタイムです;) –

+0

提案してくれてありがとうございます。 UbuntuとShinyを離れたい理由は、私が請負業者であることと、ユーザ体験をより視覚的でインタラクティブにする方法を見つけ出しただけでなく、いくつかの分析ツールを提供しているからです。サーバーとRを維持管理するために、自宅でスキルを設定してください(私は、自分が提供しているスタッフを訓練することに消極的です)。 –

関連する問題