使用Powerpivot在Excel中的多维数据集函数在工作表中显示特定的行值

这是一个高度专业化的问题,我search了networking,没有运气的答案无济于事。 我正在使用连接到SQL数据库的Powerpivot来创build本质上与Web应用程序相比较的东西。 我使用cubevalue函数很多来获取工作簿中的总和和其他输出关于特定的查询参数。 我正在寻找一种方式来查询具有某个键值的行,并输出数据库中同一行上的某个不同列的值。 从本质上讲,这就像一个简单的查找,如果我只是从一张纸到另一张纸,并且数据不是很大,它必须存储在powerpivot中。

这里有一点我正在看。

示例图像

鉴于对applicantid的查询,我想inputlearner_id。

这是我希望能工作,但它给#N / A

=CUBEMEMBERPROPERTY("ThisWorkbookDataModel","[MasterStartQuery].[applicantid].[1119195]","[learner_id]") 

任何洞察力将超级赞赏,或者如果你知道某人可能知道。 谢谢。

坏消息是CUBEMEMBERPROPERTY()不能用于PowerPivot – http://www.mrexcel.com/forum/power-bi/730287-function-cubememberproperty-always-return-n.html

这不是唯一的方法来解决这个问题,如果我们正在谈论你的两个领域之间的简单,独特的一对一的关系,那么你可以简单地创build一个度量来返回learner_id例如:

 get_learner_id = MAX(MasterStartQuery[learner_id]) 

然后通过以下方式致电

 =CUBEVALUE("ThisWorkbookDataModel", CUBEMEMBER("ThisWorkbookDataModel","[MasterStartQuery].[applicantid].[1119195]"), CUBEMEMBER("ThisWorkbookDataModel","[Measures].[get_learner_id]") ) 

有更多的优雅的方式来构造这个…..

这很容易,因为它是一个数字字段,基于文本的应该在一个VALUES()而不是MAX()中工作,但是如果你有多个结果(不是一件坏事),你会得到一个错误。