[已解决] 如何在lookup表进行时间范围内取数

  [复制链接]
查看146271 | 回复139 | 2020-8-5 08:21:53 | 显示全部楼层 |阅读模式
lookup表为如下格式
品号  价格   开始日期     结束日期
300877 2    2018-08-01   2018-09-01

事实表为
品号        日期         价格(添加计算列)
300877     2018-08-03         ?? dax??

---------------------------------------------------------------------------------------------------------
请问老师如何在lookup表中的时间范围内进行取值?
非常感谢。

9628011511071.png
回复

使用道具 举报

鸥飞007 | 2020-8-5 08:28:53 | 显示全部楼层
事实表[价格] =
CALCULATE (
VALUES ( lookup表[价格] ),
FILTER(
  lookup表,
  事实表[品号]=lookup表[品号] && 事实表[日期]>= lookup表[开始日期] && 事实表[日期]<= lookup表[结束日期]
   )
  )
回复

使用道具 举报

tianmaf4 | 2020-8-5 08:34:53 | 显示全部楼层
price = calculate(values(lookup[到位价]),
         filter(lookup,
          lookup[品号]=fact[品号]
          &&
          look[开始日期]=fact[日期]
        )
     )


日期开闭根据需要修改,这个方法要求查找表不能有存在同一品号的日期重叠。
回复

使用道具 举报

wyd969 | 2020-8-5 08:38:53 | 显示全部楼层
非常感谢版主。
回复

使用道具 举报

cym218 | 2020-8-5 08:43:54 | 显示全部楼层
价格(添加计算列)=
CALCULATE (
  VALUES ( 'lookup表'[到位价] ),
  FILTER (
  'lookup表',
  '事实表'[品号] = 'lookup表'[品号]
    && '事实表'[日期] >= 'lookup表'[开始日期]
    && '事实表'[日期] = 'lookup表'[开始日期]
    && '事实表'[日期] <= 'lookup表'[结束日期]
  ),
  'lookup表'[到位价]
)
回复

使用道具 举报

Salooloo | 2021-7-3 13:27:40 来自手机 | 显示全部楼层
小白一个 顶一下
回复

使用道具 举报

XYFHID | 2021-10-19 16:35:20 | 显示全部楼层
前排,哇咔咔
回复

使用道具 举报

正义 | 2021-11-2 08:35:41 来自手机 | 显示全部楼层
支持,一直很喜欢老师的课程
回复

使用道具 举报

ldex | 2021-11-6 15:31:40 来自手机 | 显示全部楼层
我是个凑数的。。。
回复

使用道具 举报

SPZLH | 2021-11-13 06:47:06 来自手机 | 显示全部楼层
不错 支持一个了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则