☑ 很酷的新功能
可以幫助很多用戶!
刪除一個“bug”
很高興擁有
無人需要它
是什麼激發了這個願望清單請求?
GraphBuilder 中的摘要統計非常方便,它們會自動對數據過濾器的變化做出反應,並且計算值尊重 x 軸上的數據點分組、X/Y 組、換行、覆蓋和頁面。
不幸的是,摘要統計僅適用於點圖、線圖、條形圖和熱圖,但不適用於平行圖或更平滑的圖。
這就是為什麼有時不可能通過圖形生成器的自動方式獲得更平滑且對齊的點/線圖,就像在這個圖中一樣圖形生成器:平滑的匯總統計數據

為了解決這個問題,人們必須通過一個“手動”進行聚合變換列。
用戶添加轉換列而不是使用圖形生成器的摘要統計有更多原因。
- 通過摘要統計提供的聚合選項數量有限(將 CDF 添加到圖形生成器,等級也缺失)
- 用戶必須調整統計數據(將更頻繁地使用,一旦新的 JSL 功能:Col N 類別可用)。
變換列的問題:它們要少得多靈活的比匯總統計:
- 它們忽略 x/y 軸、X/Y 組、換行、覆蓋和頁面上數據點的分佈。
- 他們忽略本地數據過濾器
查看更多...Names Default to Here(1);
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
gb = dt << Graph Builder(
Transform Column( "Mean[weight]", Formula( Col Mean( :weight ) ) ),
Size( 480, 463 ),
Show Control Panel( 0 ),
Set α Level( 0.01 ),
Summary Statistic( "Median" ),
Graph Spacing( 4 ),
Variables(
X( :age ),
Y( :"Mean[weight]"n ),
Y( :weight, Position( 1 ) ),
Group Y( :sex ),
Overlay( :sex )
),
Elements(
Points( X, Y( 2 ), Legend( 1 ), Summary Statistic( "Mean" ) ),
Points( X, Y( 1 ), Legend( 3 ), Jitter( "None" ) )
),
Local Data Filter(
Add Filter(
columns( :name ),
Where(
:name == {"ALFRED", "ALICE", "AMY", "BARBARA", "CAROL",
"CHRIS", "CLAY", "DANNY", "DAVID", "EDWARD", "ELIZABETH",
"FREDERICK", "JACLYN", "JAMES", "JANE", "JEFFREY", "JOE",
"JOHN", "JUDY", "KIRK", "LAWRENCE", "LESLIE", "LILLIE",
"LINDA", "MARION", "MARK", "MARY", "MICHAEL", "PHILLIP",
"ROBERT", "SUSAN", "WILLIAM"}
),
Display( :name, N Items( 15 ), Find( Set Text( "" ) ) )
)
),
SendToReport(
Dispatch(
{},
"400",
ScaleBox,
{Legend Model(
3,
Base( 0, 0, 0, Item ID( "F", 1 ) ),
Base( 1, 0, 0, Item ID( "M", 1 ) ),
Properties(
0,
{Marker( "Triangle" ), Marker Size( 3 )},
Item ID( "F", 1 )
),
Properties(
1,
{Marker( "Triangle" ), Marker Size( 3 )},
Item ID( "M", 1 )
)
)}
)
)
) 實心點:通過匯總統計平均值 -> 不同年齡、性別的不同值 + 尊重本地數據過濾器
空心三角形:通過變換列表示平均值 -> 所有值都相同,LDF 被忽略

有人可能會爭論:三角形準確地顯示了變換列被告知要計算的內容。 不用擔心。
是的,當然......如果沒有匯總統計數據的話!
摘要統計數據執行相同的任務:“平均值(重量)” - 並顯示完全不同的值。
您希望看到什麼改進?
對於圖形生成器(和其他平台 - 如摘要!!!)中的轉換列,請添加一個選項以尊重本地數據過濾器(選項: LDF子集)。
“尊重數據點在 x/y 軸、X/Y 組、頁面等上的分佈”的問題。可以非常容易地修復 - 只需添加相應的列作為列聚合的參數。
但是,隨著圖表的每次更改,用戶都必須非常仔細地檢查 JSL 代碼中是否包含所有必需的列。
更簡單:一個選項告訴轉換列分割數據,類似於摘要統計所做的事情(X 軸上不同值的各個子集、X/Y 組、頁面...)。 我稱之為“圖表項目”。 (舒適模式 - 我確信有一個詞可以更準確地描述它:)
替代選項:
如果在 GraphBuilder 的轉換列中使用列聚合,它應該接受 allPlotGroups、X、X(1)、X(5)、Group X、GroupX(1)、Overlay、Page 等參數。
Col Number(:height, :sex, "Page") // if a column is used as page, please calculate individual values for the data points on different pages
Col Number(:height, :sex, "GroupY") // if a column is used as GroupY, please calculate individual values for the data points on different GroupsY
Col Number(:height, :sex, "X(1)") // please calculate individual values for different values of the column which is used as X(1)
Col Number(:height, "allPlotGroups") // please calculate individual values for different values of the column which is used as X, GroupX, GroupY, Wrap, Page
Col Number(:height, "GroupX", "GroupY", "Wrap", "Page") // similar to the previous one, but no subgroups for "same X value"
上下文菜單中的“舒適模式”和作為列聚合參數的“allPlotGroups”提供與摘要統計相同的功能。
最後一個例子是我在使用匯總統計時長期以來所希望的:
當繪製數據與時間的關係圖時,我可以使用批次號作為疊加,但如果批次被分成幾天,它將顯示為兩個批次。
因此,這裡的新功能將提供比 SummaryStatistics 更大的靈活性(!):靈活的方式指定數據的聚合方式:
- 只需按疊加分組(很多)
- 不要按 X(時間)分組 - 而是:隨著時間的推移進行平均(通過另一個 Transfrom 列)

為什麼這個想法很重要?
圖形生成器很酷。
摘要統計數據非常有用...但是摘要統計數據的功能是有限的。
當回到公式列時,會出現問題,顯示匯總統計數據是多麼舒適。
對於數據過濾器的問題,有一個解決方法:轉換列:排除行的錯誤
但它需要一些努力,並且對於具有多個數據過濾器的儀表板來說會變得更加複雜。
通過用於列聚合的新分組選項,轉換列將比摘要統計更強大。
--> 借助新功能,用戶可以像從摘要統計中習慣的那樣舒適、靈活地使用轉換列,而且沒有任何限制。