【发布时间】: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