そこで、SASルーチンで「リバースエンジニアリング」を行って、SQLとPentahoに導入しています。
私はそれを直視しようとしましたが、多くの冗長なプロセスに気づいたので、SQLで何かをする前に、すべての冗長性を識別して処理するためにマインドマップにすべてをマッピングし始めました。
私はこれらの線につまずきます:
use table1
read all into A
use table2
read all into B
fieldA = nrow(B);
fieldB = B[,n:fieldA];
fieldC = 2.33*sqrt(A`*fieldB*A);
そして、このプロセス、特に「fieldB」とsqrt内の方程式をどのようにマッピングするかについてはわかりません。
誰かが私に手を貸してくれませんか?
(編集)さて、ジョーは本当に一般的なことで私を助けてくれました...私の2つのまだ残っている疑問は次のとおりです:
1- "fieldB = B [、n:fieldA];" これは何の略ですか?つまり、nが静的である場合はどうなるかということですが、プロセスの別の部分で...
use table1;
read all into A;
use table2;
read all into B;
fieldA = ncol(B);
fieldB = ncol(A);
ncurvas = fieldA/fieldB;
N = J(ncurvas+1,1,fieldB);
N[1] = 1;
NCUM = cusum(N)-1;
fieldC = B[,(NCUM[&t]+1):NCUM[&t+1]];
fieldCになるまで、私はすべて元気です。cusumが何をするのか、そしてすべてを理解していますが、fieldCで何が起こるのか本当にわかりません。&t = 1でチェックアウトすると、B [1,1]で始まるBからの18x18行列が表示されましたが、10などの別の数値を試すと、Bのcol163で始まりました。
2-これが、少なくとも今のところ理解していない行列変換/乗算と関係があるかどうかはわかりませんが、なぜ「2.33 * sqrt(A` * fieldB * A)」(元のfieldC )単一の値を返しますか?行列を返すべきではありませんか?