我在将数据从 Quickbooks Online(测试版)连接器导入到 Power bi 时遇到问题。
选择预览表格后出现以下错误。
DataSource.Error: ODBC: ERROR [HY000] [Microsoft][DSI] (20030) Memory management error.
Details:
DataSourceKind=QuickBooksOnline
DataSourcePath=QuickBooksOnline
OdbcErrors=[Table]
下面是我的数据加载配置
尝试更改数据缓存大小和并行加载计数。 还尝试在线验证quickbooks中的表,它有近100k条记录。 不确定是什么导致了这个问题。
我发现错误显示在 Power Query 编辑器中,但表数据实际已加载,我可以针对它创建报告。我的表实际上是 SalesReceipt_Sales_Item_Line 所以我需要找到冗长的文本来自哪里。有几种方法可以做到这一点,但这是我使用的快速但肮脏的方法,最终摆脱了错误。
我从 Line_Description 字段开始,并使用 DAX 在目标表中创建了一个计算列来查找长度:
Line_Description_Lenth = LEN([Line_Description])
我还使用 DAX 创建了另一个计算列,以形成直接到销售收据的链接,以便于编辑:
Link_to_Sales_Receipt = CONCATENATE(
"https://app.qbo.intuit.com/app/salesreceipt?txnId=", [Id]
)
(注意,您可能需要根据您的环境或特定交易类型更换链接,我的是“salesreceipt”)
创建链接列后,单击它,然后转到功能区顶部的列工具选项卡。将数据类别更改为Web URL。
然后,我将矩阵视觉对象添加到画布上,并将新创建的 Line_Description_Length 拖动为第一行,将 Link_to_Sales_Receipt 拖动为第二行,并将 Count of Id 拖动为值。
按 Line_Description_Length 降序排序,并开始打开交易以缩短长文本值。
最后,由于我从产品网站复制并粘贴了很长的描述,所以我有大约 6 个,超过 1000 个。我的列表中的最大大小现在为 844,并且它按预期加载。我进去编辑了导致问题的项目的描述,以避免将来再次遇到该问题。
链接到带有屏幕截图的原始帖子: