环境:BIEE 11.1.1.7...
背景:
项目途中,有开发反映分析新增某维表A字段C后报错“没有与查询请求***兼容的维表”
该主题是新增主题,且最近底层逻辑有变动;
分析:
没有与查询请求***
这个错误很熟悉呀,一般都是模型设置的错误。
打开RPD,检查该维表和事实表的逻辑连接、物理层连接,均设置无误,连接关系正常。
那这个错误不应该呀,很诡异,难道是缓存?
清理本机缓存,服务器缓存,再次刷新该报表,添加报错维度A字段C,错误依旧;
没有与查询请求***兼容的维表?维表?
查看RPD维度设置,查看维度级别、关键字,均设置无误,
那就奇怪了。。。
新增该主题分析,单独拖字段C,报错,拖该维度A下其它字段,一样报错,看来确实是维度出了问题。
再次查看逻辑层连接和物理层连接。该报错维度A和维度B在物理层都映射为表T,但维度B在前端分析展示正常;
比较维度A和维度B,发现维度A的物理层关键字多了一个,为本次RPD底层逻辑改动前遗留问题,原来为E+F列的组合关键字,改动后为E为关键字,但本次修改后原来的关键字未删除,是由于这个原因造成该错误的么?
感觉已经离答案很近了,发布,部署,测试之,报错依旧。。。⊙﹏⊙‖∣
继续检查维表A,单逻辑表源,双击打开逻辑表源,⊙﹏⊙‖∣竟然2个表,竟然没有连接关系。。。
天哪,这是如何做到的!⊙﹏⊙‖∣怀疑是因为以前的逻辑,原来该维度是两个表的mapping,逻辑调整后,删除了物理层连接,但未清理逻辑层逻辑表源所致;
删除多余的逻辑表源,发布,部署,测试,OK。
感触:
BIEE的报错已经很清晰了,请仔细仔细再仔细。
模型调整需细心,细心再细心。
其实还可以用万恶的初始化大法,推到一切重新来过,比如干掉维度A的所有相关,重新来过肯定可以修复该问题。