【问题标题】:MDX Help SSRS Query Designer MDX Calculated Member & MDX Operator Filter ExpressionMDX 帮助 SSRS 查询设计器 MDX 计算成员和 MDX 运算符过滤器表达式
【发布时间】:2017-02-05 21:59:53
【问题描述】:

我的 SSAS 表格模型在 SSRS 查询设计器中有 2 个问题。我创建了一个计算出的成员列,基本上说,如果这个其他列 =“上次发票日期”,则将“上次发票日期”作为值,否则,将不同列的值放入“FiscalMonthLastDay”:

IIF([Invoice Date].[Relative Date].CurrentMember.MEMBER_CAPTION ="Last Invoice Date", "Last Invoice Date", [Invoice Date].[FiscalMonthLastDay].CurrentMember.MEMBER_CAPTION)

当我将新字段拖入时,它可以工作,但会在我的结果中创建额外的行。我在屏幕截图之前和之后添加(删除了一些敏感数据)。我不知道如何让它不显示多余的行?

之前:

之后:

我的第二个问题是,然后我想将我的数据集过滤到这个新计算的成员与另一列匹配的地方。所以我在过滤器部分做 MDX 运算符,并认为这样的东西会起作用,但我无法得到它(它的公式与上面相同):

如果有人知道从哪里可以得到一些关于如何使用这个 MDX 运算符的好例子,那就太好了!

谢谢!

【问题讨论】:

  • 我意识到我可以跳过创建列,然后尝试按该列进行过滤(如果可以执行 OR 语句)。类似于:[发票日期].[相对日期].&[最后发票日期] 或 [发票日期].[FiscalMonthLastDay].[FiscalMonthLastDay].currentmember.MEMBER_CAPTION = [发票日期].[日期].[日期]。 currentmember.MEMBER_CAPTION 我收到以下错误:Axis0 函数需要参数的元组集表达式。使用了字符串或数字表达式。如果我只做表达式的第一部分,过滤器就可以工作。有人有什么想法吗?

标签: sql-server reporting-services ssrs-2008 ssas mdx


【解决方案1】:

我不明白:

[Invoice Date].[Relative Date].CurrentMember.MEMBER_CAPTION ="Last Invoice Date"

查看您的屏幕打印[Relative Date] 是一个日期 - 那么MEMBER_CAPTION 怎么可能等于“最后发票日期”?

【讨论】:

  • 我不确定我自己是否理解!该字段是动态字段,其中 SSAS 表格模型逻辑将最后一个可用发票日期(每天加载新发票)替换为短语“最后一个发票日期”。然后,我们将报告过滤为 =“最后发票日期”,该报告将始终为您提供最新发票的数据。我用很少的 MDX 经验将逻辑拼凑在一起。它几乎可以工作,但不完全是因为我遇到的问题。不过,我愿意接受任何替代方案。
  • 此“最后发票日期”不在屏幕截图中 - 因此在这些屏幕截图中 CurrentMember 绝不是“最后发票日期”。函数currentmember的定义在这里:msdn.microsoft.com/en-us/library/ms144948.aspx
  • 是的,对不起,我应该更详细地解释-在结果集屏幕截图的下方,有“最后发票日期”的值。我的 IIF 语句适用于这些值,我只是想摆脱度量中带有 NULL 的行。然后以某种方式过滤结果集,仅包括新计算成员等于相对日期字段的行。
猜你喜欢
  • 2014-06-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-06-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多