当我运行MDX查询时:
select {[Measures].[all_accounts]} ON COLUMNS,
{{[Country].[Country].[Country].&[italy]}*
{[TD].[TD].[date].&[2016-09-02T03:00:00.000]:[TD].[TD].[date].&[2016-09-02T03:08:00.000]},
{[Country].[Country].[Country].&[Germany]}*
{[TD].[TD].[date].&[2016-08-16T04:00:00.000]:[TD].[TD].[date].&[2016-08-16T04:03:00.000]}}
ON ROWS
FROM [cube]
我收到错误,因为意大利'不是在Country维度中找到的实体。 没有结果回来。
我希望能够在不必知道维度中的实体名称的情况下运行mdx,并仅返回存在的结果。在这个例子中'德国'我怎么能克服这个问题?
答案 0 :(得分:1)
您可以更改服务器icCube.xml的配置,将未找到的成员转换为空(这样做有风险)。
icCube.mdxEvalUnknownMemberError
如果您不想为整个服务器更改此设置,则可以对每个MDX查询使用注释。例如,以下查询不会为缺少的& [_ FR]成员返回任何内容:
//#prop( icCube.mdxEvalUnknownMemberError = false )
select {
[Geography].[Geo].[Country].&[FR_],
[Geography].[Geo].[Country].&[US]
} on 0 from [Sales]
答案 1 :(得分:0)
我担心这不是一个非常积极的答案,但是如果你在脚本中使用成员唯一的名称,例如<div class="out">
<div class="bar"></div>
<div class="circle"></div>
</div>
,那么如果该成员不在多维数据集中,你将会收到错误...我不知道认为有一种解决方法。
我必须补充一点这个限制&#39;从来没有给我带来任何问题。