我使用最新版本的Excel 2016(通过O365 E3许可证)并使用Power Query / Get&转换数据。我可以成功创建查询并将其加载到页面。我还成功创建了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工作簿或将其包含在数据模型中并创建电源轴。但是,Power Pivot并不总是满足我的要求,特别是关于数据在页面上的显示方式。为了实现我的目标,我可能希望能够查询单个数据点。
我想在页面上有一个包含公式的单元格,我可以用它来查询单个数据点。如果它在数据透视表中,我可以使用类似的东西:
=GETPIVOTDATA("Revenue",$A$3,"Date",DATE(2016,1,1),"Division","Alpha")
可以从页面上的单元格中检索查找值(日期和分区),也可以将其硬编码到公式中。这是我正在处理的几份报告的要求。
或者,我可以添加一个组合查阅列,其中Date和Division连接在一起,并使用vlookup来提取如下值:
=VLOOKUP("42371Alpha",I9:L13,4,FALSE)
最后,我可以使用INDEX和MATCH的组合来识别正确的行号,然后拉取数据。
所有这些解决方案都需要将数据加载到工作表上。一个需要一个必须刷新的数据透视表才能正常工作。另外两个需要创建任意查找列,以便您可以基于多个字段(在此示例中为日期和除法)匹配行,并且您必须确保该查找字段的公式适当地扩展到长度数据表。在这两种情况下,如果有人影响了数据透视表或查找的相当脆弱的设置,我会在与同事共享此工作簿时遇到问题。
因此,我真正想要找到的是与数据集的数据透视表查询相当的东西。
** 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& A创建的数据集中检索任意数据点吗?转换数据?
答案 0 :(得分:2)
答案 1 :(得分:0)
Excel中有一项功能允许您查询PowerPivot模型,但由于某种原因,它没有被高度广告。
在PowerPivot模型中获得数据后,转到Excel - >数据标签 - >现有连接 - >表格标签
从那里,选择您要开始的表格。一旦该表的数据出现在您的Excel工作表上,您实际上可以右键单击该表 - >去"表" - > "编辑DAX"
从那里你可以输入以下DAX功能,例如
EVALUATE
FILTER(SampleData,[Date]=DATE(2016,1,1) && SampleData[Division]="Alpha")
确保在下拉列表中选择Command Type = DAX。这是它在我的屏幕上的样子:
为了进一步提高您的查询能力,您可以安装可选的" DAX Studio" Excel插件,允许您编写自定义DAX查询,然后将结果直接导出回Excel工作表。