在这篇文章中,我想分享我在Power Query中刷新数据以及它如何影响将数据加载到Excel工作表的经验。我从SQL Server加载销售数据时,发现没有简单的方法在Power Query中定义1000分隔符。因此,我决定在Excel中使用单元格格式化的功能。因此,我将数据加载到Excel工作表中,并花了一些时间进行一些单元格格式设置,包括千位分隔符和货币格式设置等。但是,从Power Query刷新数据源后,所有定义的格式都消失了。我还花了一些时间直接在Power Query中进行一些特殊的格式化,例如1000分隔符或美元符号,但是Microsoft的Power Query团队似乎还没有考虑将格式化作为优先事项。即使在Power Query中设置了区域设置和语言设置,也无法直接在Power Query中定义1000分隔符格式。当我需要解决方案中包含的格式化功能时,无论如何我应该已经解决了这个问题。
首先,我们将使用AdventureWorks2012数据库的SQL Server中的一些简单数据加载到Power Query中。我用过“生产。产品”表格,向您展示Power Query如何使用“钱 “ 数据类型。
· 打开Microsoft并转到“电源查询”选项卡
· 单击从数据库->从SQL Server数据库
· 放入“服务器”和“数据库”,然后将以下代码放入SQL语句,然后单击“确定”
选择
名称
, 价格表
从 [生产].[产品]
哪里 价格表>=1000
· 开始了。标价是Production.Product表中的Money列。如下图所示,Power Query将其视为十进制数。正如您还看到的那样,您无法对“ 价格表”列进行格式化。
· 关闭查询并将其加载到工作表,然后将“ 价格表”列的格式单元格更改为货币。
· 在Excel的“数据”选项卡中的“连接”功能区中选择“属性”,然后为“ 功率查询 – Query 1”连接勾选“ Preserve column sort / filter / layout”选项,然后单击“确定”。
现在转到在SQL Server的Production.Product表中添加新记录,然后刷新Power Query。如您所见,新添加的记录已加载到工作表中,并且格式仍然保留。
十分简单!
或者,也许更容易… you could’已获取PowerQuery,将其加载到PowerPivot模型(在Excel中就在其中),并定义了其格式。
我这样做了,但格式仍在2016 ProPlus中更改。上面的选项似乎对我有用。
还有什么方法可以保留列宽吗?