如何在條件語句中取得一行的 Col Sum?大家好,
我有一列需要過濾掉一些值以獲得列的總和(使用 Col Sum)。是否可以依條件得到col sum?例如,每個 0 代碼將被排除在計算之外:
| 程式碼 | 數量 | 總數 | 總計 %(列總(數量)/總計數) |
| 0 | 50 | 250 | - |
| 0 | 25 | 250 | - |
| 1 | 60 | 250 | 205/250×100= 82% |
| 6 | 67 | 250 | 205/250×100= 82% |
| 3 | 78 | 250 | 205/250×100= 82% |
我嘗試使用 If 語句,但使用 Col Sum 公式時仍包含 0 值的程式碼
自動化和腳本編寫回覆:如何在條件語句中取得一行的 Col Sum?嗨@UserID16644
JMP 中的條件公式有點棘手。
正如@jthi所提到的,你需要 2 個 IF。
您也可以新增公式列,如下所示;
- 如果代碼不為 0,則新增第 1 個 IF = 列總和

-新增第二個 IF = 僅當代碼不為 0 時才顯示結果

結果:

JSL 腳本(參考工作流程建構器/日誌)
Names Default To Here( 1 );
//Change column info: Total % (Col Sum Qty/Total Count)
Data Table( "dt1" ):Column 4 << Set Name( "Total % (Col Sum Qty/Total Count)" )
<< Set Formula(
If( !:Code == 0,
Col Sum( If( !:Code == 0, :Qty, . ) ) / :Total Count
)
);
//Change column format: Total % (Col Sum Qty/Total Count)
Data Table( "dt1" ):"Total % (Col Sum Qty/Total Count)"n <<
Format( "Percent", 12, 2 );
回覆:如何在條件語句中取得一行的 Col Sum?您需要兩個 if 語句,一個用於避免將值寫入 Code = 0 行,另一個用於執行計算
If(Code != 0,
Col Sum(If(:Code == 0, ., :Qty))
,
.
);

回覆:如何在條件語句中取得一行的 Col Sum?也許我錯過了你要問的內容,但這可能會用一個簡單的 Col Sum() 來完成你想要的事情:
Col Sum( (:Code > 0) * :Qty, :Code > 0 )
":Code > 0" 變成0 或1,取決於它是否為零,乘以Qty 即可得到您要尋找的數字,然後將:Code > 0 的情況與Code == 0 的情況分開進行分組。