我正在解决Alteryx。我正在尝试选择前N行,其中N =该分区的单元格值。业务问题是:
“我们需要从订单(TicketID)中知道那些具有 折扣商品类型,饮料和边的至少1种组合。”
SQL查询会将此表连接到其自身并进行分区以获取该行的TopNtoIncludeInItems
,但是,我似乎无法在Alteryx中找到实现此目的的方法。我已经尝试过该社区,但问题已得到解答。
换句话说,选择:
<pseudocode>
for each (TicketID)
for each(Type)
select top(TopNtoIncludeInItems for this.TicketID)
next
next
</pseudocode>
或者实际上只是选择绿色记录
答案 0 :(得分:1)
这是我的解决方法:
ComboCount
(或其他内容)为Int32,对于不存在的行,按TicketID和Type分组,并使用表达式[Row-1:ComboCount]+1
创建新字段{0或为空...计算每组;我们需要每个组的第一个 topN ,以确保该组实际有那么多,并且不会超出 TopN 。[ComboCount] <= [TopN]
的过滤器...排除了 TopN [Max_ComboCount] = [TopN]
上的筛选器... ...不包括任何ItemType小于 TopN