oracle 在MDX中筛选出零(0)值

3wabscal  于 2023-06-29  发布在  Oracle
关注(0)|答案(1)|浏览(147)

我希望从MDX检索中筛选出零值(0)。我正在使用下面的MDX查询Oracle的Essbase。有人能帮我处理一下我的MDX吗?网上没有例子,根据我的经验,Oracle和其他产品之间的MDX语法和函数是不一样的。
我尝试在第一行使用<SELECT NON EMPTY [Measures].[Value] ON COLUMNS,>,但得到以下两个错误:

  • 错误-1260046-未知的成员度量。查询中使用了值。
  • ERROR - 1241101 -意外的Essbase错误1260046。

下面的MDX正在工作,我只想过滤掉值为0的值。

SELECT {[USD]} on columns,
NON EMPTY Crossjoin(Crossjoin(Crossjoin(Crossjoin(Crossjoin(Crossjoin(Crossjoin(
{[EBIT]},
{[TOTAL_COUNTRY_OF_SALE]}),
Filter(Descendants([USA], USA.Levels(0)),NOT USA.CurrentMember.Shared_Flag)),
{[FORECAST]}),
{[Q1_REPORTING_CYCLE]}),
{[Sample_Product]}),
{[2022]}),
{[JAN]})
on rows
FROM [APPLICATION].[CUBE]
oyt4ldly

oyt4ldly1#

你能试着把这个大规模的交叉连接 Package 在一个FILTER中吗?

SELECT {[USD]} on columns,
NON EMPTY 
FILTER(
  Crossjoin(Crossjoin(Crossjoin(Crossjoin(Crossjoin(Crossjoin(Crossjoin(
  {[EBIT]},
  {[TOTAL_COUNTRY_OF_SALE]}),
  Filter(Descendants([USA], USA.Levels(0)),NOT USA.CurrentMember.Shared_Flag)),
  {[FORECAST]}),
  {[Q1_REPORTING_CYCLE]}),
  {[Sample_Product]}),
  {[2022]}),
  {[JAN]})
,[USD] <> 0
)
on rows
FROM [APPLICATION].[CUBE]

相关问题