配方應用IF(月(A151)=月(A150),NA(),COUNTIF(W151:W181,1)*100/(COUNTIF(W151:W181,1)+COUNTIF(W151:W181,0))) 。這是 Excel 中用於建立新列的公式,其中 A 列有日期,W 列僅包含 0 和 1 作為值。如果我們有 A 和 W 列值,如何在 JMP 中應用相同的公式。
進階統計建模回覆:公式應用這就是我認為我的範例所做的 - 並且它似乎在我附加的文件中起作用。我想了解它是如何不起作用的,但您的評論沒有提供任何有用的信息。與您最初的請求類似,您應該提供更多詳細信息,以便我們了解您的需求以及為何建議無法實現這一目標。
回覆:公式應用這是我處理這個問題的方法。
Loc() 函數傳回一個矩陣,其中包含矩陣中與 Loc() 函數中第二個參數相符的所有值。所以
給出一個矩陣
[1,0,1,1,.,5]
然後
Loc( [1,0,1,1,.,5], 1 )
將返回矩陣
[ 1, 1, 1 ]
因此,計算矩陣中的行數即可找到 CountIF ,這很簡單
Length( Loc( [1,0,1,1,.,5], 1 ) )
這將傳回值 3
這是完整的公式
If( Month( :A ) == Lag( Month( :A ) ),
.,
wMatrix = :W[Index( Row(), Row() + 29 )];
(Length( Loc( wMatrix, 1 ) ) * 100) / (Length( Loc( wMatrix, 1 ) ) + Length( Loc( wMatrix, 0 ) ));
)
通常,在 JMP 中,人們會嘗試避免基於資料表中的特定行數進行計算。目前的討論就是一個很好的例子。為了使上述公式正確運行,數據表要求在月份更改後恰好找到 30 行來進行計算。我們都知道,不同的月份有不同的天數。對上述公式的以下變更顯示如何根據查找當月的所有資料進行計算,無論該月有多少天
If( Month( :A ) == Lag( Month( :A ) ),
.,
wMatrix = :W[Current Data Table() << get rows where(
Year( :A ) == Year( :A[Row()] ) & Month( :A ) == Month( :A[Row()] )
)];
(Length( Loc( wMatrix, 1 ) ) * 100) / (Length( Loc( wMatrix, 1 ) ) + Length( Loc( wMatrix, 0 ) ));
)
回覆:公式應用您能否提供包含所有所需列+預期結果列的範例表格作為 JMP 表。比嘗試將沒有任何資料的 Excel 公式轉換為 JMP 公式更容易理解問題。你可能只需要類似的東西
列累計和(:W, :A) 或列總和(:W, :A)
回覆:公式應用非常感謝您的回覆。我應用了這個公式,但這給出了累積總和,但在我的情況下,每當月份發生變化時,我都需要獲取接下來 30 天的 0 和 1 的計數
回覆:公式應用你好-
我剛開始回复,就注意到了另一條帖子。這可能是另一個選擇…

筆記:
月份函數將傳回任何日期/時間戳記編碼數字的月份部分,與 Excel Month() 函數相同。
IF 將檢查目前行是否不在月份邊界上 - 這將傳回 JMP“Missing”,其行為可能與 Excel NA() 略有不同。
由於這些值的編碼為 1 和 0,因此只需對接下來的 30 行取平均值,而不是 {Count 1/(count 0 + count 1)}。
當在面向電子表格的公式和 JMP 資料表之間轉換時,其公式的作用類似於 Excel 相對引用(滯後、移動平均)...
* 仔細檢查頂部和底部的行為,以確保操作符合預期*。將 Excel 中「上一行」的相對參考複製到第一行會傳回 #Ref! 錯誤,JMP Lag(1) 函數會在第一行傳回缺失值。另外,當剩餘行數小於 30 時,請查看 JMP 滾動平均值的具體情況…(可能沒問題——只要你多加留意)。可以在 JMP 公式中加入一個額外的條件語句來解決這個問題…if (row()==1,這是針對第一行的特殊情況,否則使用滯後函數)。
描述沒有給出表格設計的基本原理,但如果目的是找到當前月份內 1 個值的部分,並且假設每個月有 30 行按順序排序......還有另一種方法可以適應# rows/month <>30 和行排序...選擇日期/時間戳列 A - 右鍵單擊>>“月份年份”。 …
然後建立一個新的公式列來找出該月/年的「平均」W Col Mean( :was_W, :"Month Year[was_A]"n ) * 100,如果需要,可以使用類似的條件來尋找邊界行
回覆:公式應用你的要求有點不清楚,但我想我已經接近你想要的了 - 請參閱附件。我創建了一列隨機日期,然後對它們進行排序。 W 列是由 0 和 1 值組成的隨機向量。公式計算月份變化後接下來 30 天內 1 值的分數。如果這不是您想要的,您可以更清楚地解釋它或發布一個簡單的範例。請記住,JMP 不是電子表格,因此 CountIF 等 Excel 公式並不總是能很好地翻譯。