这是一个高度专业化的问题,我在网上搜索无济于事的答案。我正在使用连接到SQL数据库的Powerpivot创建基本上可以与Web应用程序进行比较的东西。我使用cubevalue函数来获取工作簿中与特定查询参数有关的总和和其他输出。我正在寻找一种方法查询具有一些键值的行,并输出一些不同的列值,该值位于数据库的同一行。基本上这就像vlookup一样容易,如果我只是从一张纸到另一张,而且数据不是很大,以至于它必须存储在powerpivot中。
这是我正在看的东西。
鉴于对applicantid的查询,我想要mathner_id的输出。
这是我希望的工作,但它给出了#N / A
=CUBEMEMBERPROPERTY("ThisWorkbookDataModel","[MasterStartQuery].[applicantid].[1119195]","[learner_id]")
任何洞察力都会受到超级赞赏,或者如果您认识某个可能知道的人。谢谢。
答案 0 :(得分:1)
坏消息是CUBEMEMBERPROPERTY()
无法与PowerPivot一起使用 - http://www.mrexcel.com/forum/power-bi/730287-function-cubememberproperty-always-return-n.html
这不是解决这个问题的唯一方法,如果我们在讨论两个字段之间简单,独特的一对一关系,那么您可以简单地创建一个度量来返回learner_id
,例如类似的东西:
get_learner_id = MAX(MasterStartQuery[learner_id])
然后用:
调用它=CUBEVALUE("ThisWorkbookDataModel",
CUBEMEMBER("ThisWorkbookDataModel","[MasterStartQuery].[applicantid].[1119195]"),
CUBEMEMBER("ThisWorkbookDataModel","[Measures].[get_learner_id]")
)
有更优雅的方法来构建这个......
这很简单,因为它是一个数字字段,基于文本的字段应该在VALUES()而不是MAX()中工作,但如果你有多个结果(不是坏事),你会得到一个错误。