BookmarkSubscribeRSS Feed
tomokomasuda
Fluorite | Level 6

元データは1つのSASデータセットまたは、Access to 経由のRDB上にあります。

このデータ全体の最新の状態をCAS上にアップし、Viyaのレポートを参照したいと考えています。

データは大量にあり、全体をアップロードしなおすとかなりの時間がかかるため、insert/updateされた差分のみをcas上に更新したいのですが、こういった機能を実装したい場合どのような形で実装されていますでしょうか。

 

TSに確認したところ、以下の回答をいただきましたが、差分テーブルをcas上に作りかつ、insertしかできないとのことで、お客様からは他社製品なら機能があるのに、SASにはないのかと言われております。

みなさまがどのような形で実装されているか教えていただけますと幸いです。

 

◆TSからの回答

1.メモリ上にロード済みのソーステーブルへ、差分テーブルを追加する方法で実現可能
  ※ Viya、V9ともに、1つのソーステーブルから差分のみをメモリへロードする機能はない。
2.上記操作の実装は、以下の機能で可能
 ・「SAS/ACCESS」製品、およびCASUTILステートメントを使用したプログラム
 または
 ・「SAS Data Preparation」の「追加」

 

◆VA on 9.4の場合、以下の機能あり

http://support.sas.com/documentation/cdl_alternate/ja/vaug/69957/PDF/default/vaug.pdf
P79 In-Memory テーブルの追加

2 REPLIES 2
alexal
SAS Employee

@tomokomasuda ,


The answer from SAS Technical Support is correct. We do not have such functionality out of the box and this needs to be implemented through a custom program.

tomokomasuda
Fluorite | Level 6

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

どういったプログラムを作成することで、ユーザ利用に影響なくデータを更新できるか検討しております。

 

プログラムで取り込みする場合、例えば、ユーザがViyaレポートで参照しているcas上のデータをAとして、

更新後のデータを一旦Bとして作成・casにロードし、最後にAをdropして、BをAにリネームするということは可能でしょうか。

 

追加(insert)だけでなく、元データが更新(update)や削除(delete)もある場合にどういった仕組みにするのが良いでしょうか。