我对OLAP分析工作区管理器中的计算度量变得疯狂,其定义类似于下一个OLAP表达式语法:
NVL(CUBE.MEASURE1 [DIM1 =' A'],0)+ NVL(CUBE.MEASURE2 [DIM2 =' B'],0)
其中: CUBE.MEASURE1和CUBE.MEASURE2不是计算的度量,它们是存储的度量。 DIM1和DIM2是CUBE的边缘,A和B值都存在于它们的尺寸中。
在我的大多数查询中,当sum的两个成员都检索数据时,计算的度量将检索正确的结果。但在其他情况下,计算出的度量检索为空!!!
在这些情况下,当CUBE.MEASURE2 [DIM2 =' B']检索到NO结果时,计算的度量将检索null。但是我希望如果两个QDR表达中都没有检索到任何结果,NVL函数会将其替换为0.
我正在阅读它,QDR表达式检索没有结果的情况,默认情况下它会抛出错误而不是null NA值。我发现存在2个可以管理这种情况的ORACLE DML选项:
LIMITSTRICT = NO
(http://docs.oracle.com/cd/B28359_01/olap.111/b28126/dml_options043.htm#OLADM384)
OKNULLSTATUS = YES
(http://docs.oracle.com/cd/B28359_01/olap.111/b28126/dml_options077.htm#OLADM418)
我试图在AW中创建一个DML函数来设置两个选项,首先是NO,第二个是YES,用OLAP_DML_EXPRESSION(' MyFUNCTION',NUMBER)语句调用这个函数,但是它没有工作
拜托,我需要解决这个问题,我怎么能抓住这些情况?我必须创建一个DML程序来解决它吗?我在哪里可以设置此选项(LIMITSTRICT,OKNULLSTATUS),而不是在每个度量计算中设置它们?