有一张表格,其中包含按产品(SKU)和商店显示的销售量(数量)和收入(rur)。表中的产品汇总为品牌(这是一个非常简单的示例)。 目标是针对品牌上下文计算数据透视表的每个单元格,提取累计总金额中50%单位销售边界的计算价格(这不是简单的价格中位数!)。
我故意对示例中的行进行排序,以便以升序对估算价格(收入“ rur”除以单位“ qty”)进行排序
此外,按价格订购的单位销售被视为累计总数,并转换为总额的百分比
此后,我们寻找最大装运百分比不超过要求的边界(50%),然后将价格返回到汇总表的单元格
在视觉上,看起来像这样
表中的结果看起来像这样(实际上,我们不应该在更大的表上计算50%以及10%和90%的边界,但是我在这里简化)
在模型中,我创建了一个计算列
price:= [rur] / [qty]
以及提供必要解决方案的措施
price.50%qty=
MAXX (
FILTER (
ADDCOLUMNS (
ADDCOLUMNS (
'tbl',
"cs.qty", SUMX ( FILTER ( 'tbl', tbl[price] <= EARLIER ( tbl[price] ) ), tbl[qty] )
),
"cs.qty.%", [cs.qty] / SUM ( tbl[qty] )
),
[cs.qty.%] <= 0.5
),
[price]
)
它可以在一个只有1个单元的小型表上工作,但是一旦建立了20个品牌的表10个月(200个单元),结果就无法等待。我知道EARLIER并不是最佳选择,但我不知道如何优化功能