異なる行に対する累積サマリー列の作成<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />こんにちは、
ご質問から理解できるように、私はJSLのスクリプト作成/定式化/自動化の初心者です... 2013年2014年2015年の「年」と呼ばれる列を含む収益データセットがあります。毎年累計が必要ですが、(Graph Builderを使用して)累計の列を作成すると、すべての日と年が加算され、合計3年間の合計累計が表示されます。Cum Sumは毎年始まります。分割や細分化によって解決することもできますが、毎日収益比較のレポートを送信する必要があるので、本当に厄介です。そして、このデータは1時間ごとに変わるので、追加されたデータで既存のjmpを更新してから毎年のCum Sum列を作成するのは素晴らしいことです。誰かが喜んで助けてもらえますか。ありがとうございました!
異なる行に累積サマリー列を作成するJMP 11には、ほとんどのプラットフォームに累積合計項目がある変換メニューがあります。次の形式の式で列を作成します。
(OrMZ(Row()== 1、:sex!= Lag(:sex)))の場合、 0、遅れ() )
+もし(欠けている場合(:height)、 0、 :高さ )
ソートされているグループ化変数にも依存しますが、欠損値は無視されます。
異なる行に累積サマリー列を作成するマイケルありがとう!
異なる行に累積サマリー列を作成するデータ全体を送ってもいいですか。あなたが管理してくれて、私に多くの時間を節約できれば、私は本当に感謝します。
異なる行に累積サマリー列を作成する私がチェックできると思うことができるのは、次の値だけです。最初の行のYearは、値0.00です。それが欠けているか、前のものと異なる場合は、結果は意味があります。さもなければ、少なくともあなたが以前に送ったデータでそれを再現することはできません。
ありがとう、
マイケル
異なる行に累積サマリー列を作成するIf(Row()== 1 | Lag(:Year)!=:Year、:NetRoomRevenueWithOutVat、Lag(:CumSumByYear)+:NetRoomRevenueWithOutVat)
異なる行に累積サマリー列を作成するSaitさん、
CumSumByYear列に使用している式を送信してもらえますか。
ありがとう、
マイケル
異なる行に累積サマリー列を作成する
異なる行に累積サマリー列を作成するそれは奇妙だ。:NetRoomRevenueWIthOutVatに0.00の値を入れようとすると、:CumSumByYearの値は前の行の値と同じになります。

異なる行に累積サマリー列を作成するMichael、ありがとうございます。現在は両方の年で動作していますが、数式が0.00の値になるたびに(収益がない日がある)、CumBySumYearはゼロから計算を開始しますこれは不合理な結果をもたらします。
異なる行に累積サマリー列を作成するSaitさん、
違いは、最初の例ではグループ化変数に文字変数を使用したことです。この例では数値変数を使用していますが、これで問題ありません。しかし、それは式でもう少し処理が必要です。その理由は、数値の場合、最初の行のLag()が欠損値を返し、欠損値を現在の行と比較しても欠損値が返されるためです。次に、2行目では、1行目の欠損値が2行目の値に加算されているため、欠損値が生じます。
これが、数値グループ化変数の場合に有効であると思われる更新された公式です。
(Row()== 1 | Lag(:Year)!=:Yearの場合
:NetRoomRevenueWithOutVat、
Lag(:CumSumByYear)+:NetRoomRevenueWithOutVat
)
それがあなたのために働くかどうか私に知らせてください。
ベスト、
マイケル
異なる行に累積サマリー列を作成するマイケル様、
これはデータの一部です。欠損値を確認しました。列年は0です。
メインのデータテーブルをサブテクトしたので、列にはすべて値が含まれていますが、今回は2014年は真の値で非論理的です
異なる行に累積サマリー列を作成するSaitさん、
year = 2014に対応する行に欠損値がありますか?他の年の行には値がありますか?
あなたはあなたのデータのサンプルを送ることができるでしょうか?それは問題をより容易に識別するのを助けるかもしれません。
ありがとう、
マイケル
異なる行に累積サマリー列を作成するマイケル様、
ご協力ありがとうございましたが、どういうわけかうまくいきません。データテーブルを開いてYearでソートすることで問題ありません。また、列は作成されますが、2014年のデータはありません。
列に入っている式を手伝っていただけませんか。
どうもありがとう
言って
異なる行に累積サマリー列を作成するデータテーブルがグループ化変数(この場合はyear)でソートされていることを確認した場合は、次のような式の列を使用できます(例としてBig Classサンプルデータテーブルを使用)。
dt = Open( "$ SAMPLE_DATA / Big Class.jmp");
dt <<並べ替え(by(:sex)、順序(昇順)、表の置き換え);
dt <<新しい列( "CumSumBySex"、
連続した、
数値、
式の設定(If(:sex!= Lag(:sex)、:height、Lag(:CumSumBySex)+:height))
;
それが役立つことを願っています、
マイケル