DAX 多时段价格匹配

Power Pivot 海飞诗诗 ⋅ 于 2020-12-22 15:06:52 ⋅ 最后回复由 海飞诗诗 2021-01-06 14:46:18 ⋅ 1513 阅读

file
let
源 = 明细表,
匹配 = Table.NestedJoin(源, {"商品"}, 价格表, {"商品"}, "价格表", JoinKind.LeftOuter),
筛选 = Table.AddColumn(匹配, "自定义", each Table.Max(Table.SelectRows([价格表], (x)=> x[日期]<=[日期]),"日期")),
展开 = Table.ExpandRecordColumn(筛选, "自定义", {"价格"}, {"价格"}),
删除的列 = Table.RemoveColumns(展开,{"价格表"})
in
删除的列
以上为Power Query的处理结果,求DAX解法
注:如A商品 2020/11/3 无对应价格表的价格,则取价格表 A商品 2020/11/3往前最大日期的价格

feifei

成为第一个点赞的人吧 :bowtie:
回复数量: 2
  • libo5563
    2021-01-03 18:22:54

    度量值 1 :=
    IF (
    ISFILTERED ( '销售表'[日期] ) && ISFILTERED ( '销售表'[产品] ),
    MAXX (
    TOPN (
    1,
    FILTER (
    '价格表',
    '价格表'[商品] = VALUES ( '销售表'[产品] )
    && '价格表'[日期] <= VALUES ( '销售表'[日期] )
    ),
    '价格表'[日期], DESC
    ),
    '价格表'[价格]
    )
    )

  • 海飞诗诗 当时年少春衫薄,骑马倚斜桥,满楼红袖招。
    2021-01-06 14:46:18

    感谢大佬,不过跟模拟结果对不上是什么原因呢?

    file

暂无评论~~
  • 请务必阅读并严格遵守《社区管理规范与使用说明》
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`, 更多语法请见这里 Markdown 语法
  • 支持表情,使用方法请见 发送表情,可用的 Emoji 见 :metal: :point_right: Emoji 列表 :star: :sparkles:
  • 上传图片, 支持拖拽和剪切板粘贴上传, 格式限制 - jpg, png, gif
  • 不支持上传附件,请尽可能用文字和图片将问题描述清楚,如实在需要上传附件,可上传到 共享网盘 后分享链接
  • 发布框支持本地存储功能,会在内容变更时保存,「提交」按钮点击时清空
  请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!
Ctrl+Enter