现在装载事实表的数据,需要在维度表中做查询.
事实表:
Date, FID, Value
维度表:
FID, DateFrom, DateTo在插入事实表里,需要在维度表中查找
1.相同的FID,这个用LookUp
2.Date介于DateFrom与DateTo之间,这个不知道用什么组件?哪位朋友知道?谢谢!!!

解决方案 »

  1.   

    维度表的同一个FID会有不同的DateFrom与DateTo,我要找到DATE对应的那一行记录
      

  2.   

    汗,dim字段哪有这么干的建一个日期表,看情况比如从1990年到2022年把所有日期都初始化掉,然后dim就不动了。事实表只管插入,按照时间段查询应该在mdx中指定时间段。如果你要输出一个fid的最大最小日期,可以从date字段派生一个计算列直接 cast(date as int),在cube中对这个字段做两个measure,不要用默认的sum聚合,一个聚合设定max一个聚合设定为min,这样就可以实现DateFrom和DateTo 了。你这样光靠ssis更新,数据量大了就不行了。如果你非要这样做,建议不要用转换组件直接在ssis的sql任务里面写sql语句
    select fid,min(date),max(date) from tb group by fid
    然后去更新维度表。
      

  3.   

    这是个渐变维度的结构啊.
    维度一但变化就插入新行.
    FID, DateFrom,DateTo
    1,   1000-1-1, 1999-1-1
    1,   1999-1-2,2009-1-1
    1,   2009-1-2,9999-12-31我在插入新的事实表数据时,必须要根据当前的日期来绑定是哪一个时候的维度纪录,这很正常啊.
      

  4.   

    我问的问题是关于SSIS的...
    好像它的转换组件都只能直接做JOIN,
    我是想知道如何能实现A.date>=B.DateFrom AND A.date<=B.DateTo的查询操作
      

  5.   

    再申明一遍,我问的是SSIS的问题,关于查找控件.如何能实现两表间的查询A.date>=B.DateFrom AND A.date <=B.DateTo