How to Overcome MDX Query Error When It Can't Find Specific Entity

≯℡__Kan透↙ 提交于 2021-01-27 18:52:54

问题


When i run MDX query like:

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]

i get an error because 'italy' is not an entity found in Country dimension. and no result is coming back.

i want to be able to run the mdx without necessarily knowing the entities names in the dimension and get back a result only for those that exists. in this example 'Germany'. how can i overcome this problem?


回答1:


You can change the configuration of the server, icCube.xml, to convert not found members to null (it's risky).

icCube.mdxEvalUnknownMemberError

If you do not want to change this setting for the whole server you can use an annotation with each MDX query. For example, the following query will not return anything for the missing &[_FR] member:

//#prop( icCube.mdxEvalUnknownMemberError = false )
select { 
  [Geography].[Geo].[Country].&[FR_], 
  [Geography].[Geo].[Country].&[US] 
} on 0 from [Sales]



回答2:


Not a very positive answer I'm afraid but if you use member unique names such as [Country].[Country].[Country].&[italy] in a script then you will get an error if that member is not in the cube ... I don't believe there is a workaround.

I have to add that this 'limitation' has never caused me a problem.



来源:https://stackoverflow.com/questions/39555378/how-to-overcome-mdx-query-error-when-it-cant-find-specific-entity

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!