比通过 HTML 更有效地将 Power BI 与 Exact Online 连接起来
Connect Power BI with Exact Online more efficiently than through HTML
我正在使用 Microsoft Power BI 和 Exact Online,在 https://data-access-point.com 上使用数据访问点,使用 select * from exactonlinexml..aroutstandingitems
等查询。但是,URL 必须包含用户名和密码以允许 Data Access Point 代表我连接到 Exact Online。
这不是我们想要的行为;我希望更改密码更容易,而且我希望 pbix
文件不包含用户名,尤其是密码。
我尝试手动生成 pbix 文件内容,但格式似乎随着 Microsoft Power BI 的进一步成熟而改变,这会导致主要的版本控制问题。
如何避免为 Power BI 的数据访问点 URL 嵌入 Exact Online 的用户名和密码?
当嵌入了 Exact Online 用户登录代码和密码的 pbix 文件的分发不受您的控制或不符合您的安全标准时,您可以使用 Exact Online 的 ADO.Net 提供程序。但是(我在那里工作)它不是当前数据访问点的免费产品。但它工作正常并且在 SQL 级别上兼容(都支持 SQL v2 语法)。
安装步骤(将来可能会改进):
- 在 machine.config 中注册 ADO.NET 提供商。
在 Power BI 中:
- 获取数据 -> 其他 -> 空白查询或编辑查询 -> 新源 -> 空白查询。
高级编辑器并使用以下内容作为来源。
let
Source = AdoDotNet.Query
( "Invantive"
, "provider=ExactOnlineAll;apiUrl=https://start.exactonline.nl;"
, "select * from PayablesListOverdue"
)
in
Source
当您需要其他来源作为ExactOnline 时,请将ExactOnlineAll 替换为相应的提供商,例如Teradata 或CbsNl。尚不支持分布式查询。
- 当您需要除NL以外的其他国家时,请使用相应的URL,例如https://start.exactonline.co.uk。它不适用于法国和西班牙。
- 然后更新 SQL 查询(将其全部放在一行中,或者 copy/paste 来自允许您输入多行语句的编辑器。
- 点击'Done'。
- 在询问时授予权限(Power BI 可以对此坚持不懈,也坚持不懈)。
- 当 Power BI 要求您提供凭据时,select 'Database' 并输入完整的 Exact Online 凭据。
- 记得指定一个有用的名称。
- 关闭并申请。
- 尽情享受吧。
您还可以从 ado.net-provider.cloud 安装 Power BI 自定义连接器。在 2017 年 7 月或以后的版本中首先启用预览功能。
注意!截至 2020 年,Microsoft 的自定义连接器程序尚未完全可用于第 3 方的认证。作为替代方法,使用 Power BI 和 Power Query 附带的 OData 连接器连接到 Exact Online,并在 Invantive Cloud 上 register a virtual database。
然后选择一个连接,例如 Exact Online:
然后选择一个table。
我正在使用 Microsoft Power BI 和 Exact Online,在 https://data-access-point.com 上使用数据访问点,使用 select * from exactonlinexml..aroutstandingitems
等查询。但是,URL 必须包含用户名和密码以允许 Data Access Point 代表我连接到 Exact Online。
这不是我们想要的行为;我希望更改密码更容易,而且我希望 pbix
文件不包含用户名,尤其是密码。
我尝试手动生成 pbix 文件内容,但格式似乎随着 Microsoft Power BI 的进一步成熟而改变,这会导致主要的版本控制问题。
如何避免为 Power BI 的数据访问点 URL 嵌入 Exact Online 的用户名和密码?
当嵌入了 Exact Online 用户登录代码和密码的 pbix 文件的分发不受您的控制或不符合您的安全标准时,您可以使用 Exact Online 的 ADO.Net 提供程序。但是(我在那里工作)它不是当前数据访问点的免费产品。但它工作正常并且在 SQL 级别上兼容(都支持 SQL v2 语法)。 安装步骤(将来可能会改进):
- 在 machine.config 中注册 ADO.NET 提供商。 在 Power BI 中:
- 获取数据 -> 其他 -> 空白查询或编辑查询 -> 新源 -> 空白查询。
高级编辑器并使用以下内容作为来源。
let Source = AdoDotNet.Query ( "Invantive" , "provider=ExactOnlineAll;apiUrl=https://start.exactonline.nl;" , "select * from PayablesListOverdue" ) in Source
当您需要其他来源作为ExactOnline 时,请将ExactOnlineAll 替换为相应的提供商,例如Teradata 或CbsNl。尚不支持分布式查询。
- 当您需要除NL以外的其他国家时,请使用相应的URL,例如https://start.exactonline.co.uk。它不适用于法国和西班牙。
- 然后更新 SQL 查询(将其全部放在一行中,或者 copy/paste 来自允许您输入多行语句的编辑器。
- 点击'Done'。
- 在询问时授予权限(Power BI 可以对此坚持不懈,也坚持不懈)。
- 当 Power BI 要求您提供凭据时,select 'Database' 并输入完整的 Exact Online 凭据。
- 记得指定一个有用的名称。
- 关闭并申请。
- 尽情享受吧。
您还可以从 ado.net-provider.cloud 安装 Power BI 自定义连接器。在 2017 年 7 月或以后的版本中首先启用预览功能。
注意!截至 2020 年,Microsoft 的自定义连接器程序尚未完全可用于第 3 方的认证。作为替代方法,使用 Power BI 和 Power Query 附带的 OData 连接器连接到 Exact Online,并在 Invantive Cloud 上 register a virtual database。
然后选择一个连接,例如 Exact Online:
然后选择一个table。