从Excel数据模型/电力查询(获取和转换数据)查询单个数据点

我正在使用最新版本的Excel 2016(通过O365 E3许可证)并使用Power Query / Get&Transform Data。 我可以成功创build查询并将其加载到页面。 我也成功创build了Power Pivot报告。

我想从通过Power Query加载的数据查询单个数据点。 例如,想象一个名为DivisionalRevenue的数据集:

Date Division Revenue 2016-01-01 Alpha 1000 2016-01-02 Alpha 1500 2016-01-01 Beta 2000 2016-01-02 Beta 400 

我可以轻松地将其加载到Excel工作簿或将其包含在数据模型中,并创build一个function支点。 然而,Power Pivot并不总是满足我的要求,特别是在数据如何显示在页面上。 为了实现我的目标,我可能希望能够查询单个数据点。

我想在网页上有一个单元格,可以使用它来查询单个数据点。 如果它是在一个数据透视表中,我可以使用类似于:

 =GETPIVOTDATA("Revenue",$A$3,"Date",DATE(2016,1,1),"Division","Alpha") 

查找值(date和分隔)可以从页面上的单元格中检索或硬编码到公式中。 这是我正在处理的几个报告的要求。

或者,我可以添加一个组合的查询列与date和分区连接,并使用一个vlookup来拉如下的值:

 =VLOOKUP("42371Alpha",I9:L13,4,FALSE) 

最后,我可以使用INDEX和MATCH的组合来识别正确的行号,然后提取数据。

所有这些解决scheme都需要将数据加载到工作表上。 一个需要一个数据透视表,必须刷新才能正常工作。 另外两个需要创build任意查找列,以便您可以匹配基于多个字段(本例中的date和分区)的行,并且您必须确保该查找字段的公式在数据表的长度范围内正确地扩展。 在这两种情况下,如果有人影响数据透视表或查询的相当脆弱的设置,我将与同事共享此工作簿时会引起关注。

所以,我真正想要find的是相当于数据透视表查询数据集的东西。

 ** This doesn't exist, but I would like to know if something like it does ** =GETQUERYDATA("Revenue","DivisionalRevenue","Date",DATE(2016,1,1),"Division","Alpha") 

这样的事情存在吗? 可以这样做吗? 我可以从通过Power Query / Get&Transform Data创build的数据集中检索任意数据点吗?

我认为你想要的是cubefunctions:

一些背景

如何从数据透视表中轻松创buildcubefunctions

Excel中有一个function,可以查询PowerPivot模型,但由于某种原因没有高度宣传。

在PowerPivot模型中有数据后,进入Excel – > Data选项卡 – > Existing Connections – > Tables选项卡

从那里,select你想要开始的表格。 一旦表格的数据在您的Excel表格中,您可以右键单击该表格 – >转到“表格” – >“编辑DAX”

作为示例,您可以从那里input以下DAXfunction

 EVALUATE FILTER(SampleData,[Date]=DATE(2016,1,1) && SampleData[Division]="Alpha") 

确保在下拉列表中selectCommand Type = DAX。 以下是我的屏幕上的外观:

在这里输入图像说明

为了进一步提高查询能力,您可以安装Excel的可选“DAX Studio”插件,该插件允许您编写自定义的DAX查询,然后将结果直接导出回Excel工作表。