在列中查找具有條件的第一個元素嗨,我有一個包含2列的數據:group和score,我想計算第3列,該列名為first,它返回“不是分組的第一組得分10000000000。因此在此示例數據中,group a = 0,group b = 53。並且由於組c僅包含10000000000,因此沒有任何顯示。
有人可以幫我提供有關此列的jmp公式,但不能幫助我嗎? 太感謝了!
| 團體 | 分數 | 第一的 |
| 一個 | 10000000000 | 0 |
| 一個 | 0 | 0 |
| 一個 | 100 | 0 |
| 一個 | 10000000000 | 0 |
| 一個 | 8 | 0 |
| 一個 | 10000000000 | 0 |
| 一個 | 10000000000 | 0 |
| 一個 | 10000000000 | 0 |
| b | 53 | 53 |
| b | 10000000000 | 53 |
| b | 1個 | 53 |
| C | 10000000000 | 。 |
| C | 10000000000 | 。 |
| C | 10000000000 | 。 |
分析工具回复:在列中找到第一個有條件的元素這是寫公式的一種方法
curgroup = :group;
value = :score[Min(
Current Data Table() << get rows where(
:group == curgroup & :score != 10000000000
)
)];
回复:在列中找到第一個有條件的元素嗨,吉姆,謝謝你的回答。 我將其粘貼到公式中並替換了列名稱,但是它沒有產生正確的答案。 您能幫我檢查以下屏幕截圖嗎? 謝謝你。
回复:在列中找到第一個有條件的元素公式的屏幕轉儲不讓我看到您是否正確引用了列。也就是說,您是否在列名前面放置“:”,而不是在curgroup和value前面?
您收到什麼錯誤消息?
當您說它不能正常工作時,這是什麼意思?沒有得到正確的值,還是沒有給您任何結果?
我在示例數據表中附加了名為Jim's Formula的列,該列已將我的公式應用於數據表。這樣一來,您便可以擁有公式的有效版本,以與要創建的公式進行比較。
回复:在列中找到第一個有條件的元素謝謝吉姆! 我將您的公式直接粘貼到我的數據中,然後再次檢查-它可以在大約7000行的頂部工作,但是從那開始就全都是“。”,沒有顯示第一個不是10000000的數字。 當我輸入公式時,它確實運行了很長時間,因此我必須按esc鍵才能解凍jmp。是造成這種情況發生的原因嗎? 我總共有大約7000k行。回复:在列中找到第一個有條件的元素有很多行。 此公式可能需要較少的內存。 假定≠10000000000的第一個值始終小於10000000000。
If(Col Min(:score, :group) == 10000000000,
.,
Col Min(
:score[Col Min(Row(), :group, :score == 10000000000)],
:group
)
)
回复:在列中查找具有條件的第一個元素這是解決問題的不同方法。這種方法是一個腳本。應該比以前的單公式列方法更有效。它首先找到第一個值,將它們提取到一個新表中,然後使用更新平台將這些值合併回原始數據表。
names default to here(1);
dt=current data table();
// Create a column that finds the first values
dt<<NEW column=""></NEW>