小编Leo*_*ard的帖子

以编程方式将参数传递给Power BI过滤器

在我的应用程序中,我正在显示Power BI报告.它已经可以工作,因此通过其ID(guid)显示任何报告都没有问题.

但是有一些报告需要进行参数化,例如,当前年份或观看报告的人.这是我的问题:如何做到这一点?

更具体地说,我将报表嵌入HTML <iframe>元素中.我将iframe URL设置为从报告定义embedUrl(从REST API接收)接收的URL .我通过调用的JavaScript代码来控制它postMessage().

报告定义:

{
  "id":"12345678-6418-4b47-ac7c-f8ac7791a0aa",
  "name":"Retail Analysis Sample",
  "webUrl":"https://app.powerbi.com/reports/12345678-6418-4b47-ac7c-f8ac7791a0aa",
  "embedUrl":"https://app.powerbi.com/reportEmbed?reportId=12345678-6418-4b47-ac7c-f8ac7791a0aa"
}
Run Code Online (Sandbox Code Playgroud)

用于加载报告的JavaScript代码:

function onFrameLoaded() {
    var m = {
        action: "loadReport",
        reportId: reportId,
        accessToken: accessToken
    };

    iframe.contentWindow.postMessage(JSON.stringify(m), "*");
}
Run Code Online (Sandbox Code Playgroud)

现在,我通过自定义应用程序中的参数来过滤报告.有没有办法在报告中发送或传递值来过滤数据集?

filter parameter-passing powerbi powerbi-embedded

25
推荐指数
2
解决办法
3万
查看次数

SSIS 中的 OData 源组件未连接

这是上一个问题的后续:SSIS Hanging 中的 OData 源组件

设置

我在 Visual Studio 2015 (17.4) 中使用 SSIS,并希望使用 OData 连接从此页面中提取公共 NADAC 数据:https ://data.medicaid.gov/Drug-Pricing-and-Payment/NADAC-全国平均药物采购成本-/a4y5-998d

我已经使用 Windows 身份验证成功地创建了一个 OData 源连接管理器到基本 URL:https : //data.medicaid.gov/api/odata/v4/

我创建了一个包含 2 个组件的简单数据流。OData 源和记录集目标。Recordset Destination 指向数据类型为 Object 的变量。

在我的数据流上,我已经成功地创建了一个 OData 源到资源路径 a4y5-998d 并且能够预览数据。

在后台,您可以看到我的数据流组件:OData 源和记录集目标。 在中间,您可以看到我如何配置 OData 源编辑器以使用资源路径。 在顶部,您可以看到显示来自 OData 源的数据的预览。 显示预览数据和数据流布局以及 OData 源编辑器配置的屏幕截图。

核心问题

一切看起来都不错,但是当我在 Visual Studio 中运行我的包,出现以下错误:

信息:0x4004300A 在数据流任务,SSIS.Pipeline:验证阶段开始。错误:数据流任务中的 0xC020801F,OData 源 [2]:无法从运行时连接管理器获取托管连接。错误:0xC0047017 在数据流任务,SSIS.Pipeline:OData 源验证失败并返回错误代码 0xC020801F。错误:0xC004700C 在数据流任务,SSIS.Pipeline:一个或多个组件验证失败。错误:数据流任务中的 0xC0024107:任务验证期间出现错误。

我将关键语句加粗(无法从运行时连接管理器获取托管连接),但包含更多上下文消息。

因为这是一个验证错误,数据流甚至没有开始运行。

环顾互联网,很多地方都表明这可能是 32 位/64 位驱动程序问题。但是,我打开和关闭了Run64BitRuntime,每次都得到相同的结果。

无论我在 SQL Server …

sql-server ssis etl odata

5
推荐指数
1
解决办法
7677
查看次数