图表大家好,
在图表中,我希望能够根据百分比标准仅显示前 3 个元素->仅显示每季度百分比最高的 3 个项目:

您将发现附加的数据库。
自动化和脚本数据探索与可视化回复:图形以下是我创建此图表的方法

我按季度和降序百分比对数据表进行了排序。
然后我创建了一个名为“Rank”的新列并将公式设置为:
Col Cumulative Sum( 1, :QUARTER )
然后,按照说明创建图表,添加本地数据过滤器并选择过滤器仅使用 1-3 的排名值,这很简单

回复:图形与 Jim 的解决方案非常相似,但带有一个临时的转换列:
Graph Builder(
Transform Column(
"Transform[POURCENTAGE]",
Formula( Col Rank( :POURCENTAGE, :QUARTER ) )
),
Size( 731, 464 ),
Show Control Panel( 0 ),
Variables(
X( :QUARTER ),
X(
:ITEM,
Position( 1 ),
Order By( :POURCENTAGE, Descending, Order Statistic( "Mean" ) )
),
Y( :POURCENTAGE ),
Color( :ITEM )
),
Elements(
Bar(
X( 1 ),
X( 2 ),
Y,
Legend( 14 ),
Summary Statistic( "Sum" ),
Label( "Label by Value" )
)
),
Local Data Filter(
Add Filter(
columns( :"Transform[POURCENTAGE]"n ),
Where( :"Transform[POURCENTAGE]"n <= 3 )
)
)
);
回复:图形@mmarchandFSLR你的代码生成的图表与我的完全不同。
我的图表

数据表中的“排名”列显示基于百分比的排名

您的图表基于相同的数据,但结果却大相径庭

我认为问题在于您的排名是按升序排列的。
回复:图形@txnelson ,我完全搞砸了,忘了 Col Rank 会选择最低的作为第一!稍微修改了一下,它就正常工作了。谢谢你发现这个问题。操之过急容易出错。
Graph Builder(
Transform Column(
"Transform[POURCENTAGE]",
Formula( Col Rank( 0 - :POURCENTAGE, :QUARTER ) )
),
Size( 731, 464 ),
Show Control Panel( 0 ),
Variables(
X( :QUARTER ),
X(
:ITEM,
Position( 1 ),
Order By( :POURCENTAGE, Descending, Order Statistic( "Mean" ) )
),
Y( :POURCENTAGE ),
Color( :ITEM )
),
Elements(
Bar(
X( 1 ),
X( 2 ),
Y,
Legend( 14 ),
Summary Statistic( "Sum" ),
Label( "Label by Value" )
)
),
Local Data Filter(
Add Filter(
columns( :"Transform[POURCENTAGE]"n ),
Where( :"Transform[POURCENTAGE]"n <= 3 )
)
)
);
