繁体   English   中英

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

[英]Querying single data points from the Excel Data Model / Power Query (Get & Transform Data)

我正在使用Excel 2016的最新版本(通过O365 E3许可证),并使用Power Query / Get&Transform Data。 我可以成功创建查询并将其加载到页面。 我还成功创建了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")

查找值(日期和除法)可以从页面上的单元格中检索出来,也可以硬编码到公式中。 这是我正在处理的多个报告的要求。

或者,我可以添加合并了日期和分区的组合查找列,并使用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&Transform Data创建的数据集中检索任意数据点吗?

Excel中有一项功能,可让您从PowerPivot模型中查询,但是由于某些原因,它并没有被高度宣传。

将数据保存在PowerPivot模型中后,转到Excel->“数据”选项卡->现有连接->“表”选项卡

从那里选择您要开始使用的表。 一旦该表格的数据在您的Excel工作表中,您实际上就可以右键单击该表格->转到“表格”->“编辑DAX”

从那里,您可以输入以下DAX功能,例如

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

确保在下拉菜单中选择Command Type = DAX。 这是在我的屏幕上的样子:

在此处输入图片说明

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM