过滤器在 PowerBI React 应用程序中不起作用

问题描述 投票:0回答:1

过滤器在 PowerBI React 应用程序中不起作用。

报告加载/渲染良好。

但是,添加到 basicFilter 的列 (name) 在视觉上显示并带有警告。

而且它不过滤。

无论我在过滤器中为tablecolumn输入什么值,它都有相同的结果。

PowerBI 报告的数据源是 Azure 增量表。

尝试了各种名称,但似乎没有选择namecolumn

尝试添加 updateFilter 但无济于事。

(window as any).report.updateFilters(models.FiltersOperations.Add, [basicFilter]);

有什么建议吗?

const basicFilter: IBasicFilter = {
  $schema: "http://powerbi.com/product/schema#basic",
  target: {
    table: "people",
    column: "name"
  },
  operator: "In",
  values: ["paul", "mike"],
  filterType: 1 // pbi.models.FilterType.BasicFilter
}
return (<div className="neo-widget__content">
  <div className="neo-widget__header">
    <div className="neo-widget__header-left">
      <span className="neo-icon-agents"></span>
      <h4>Power BI Report</h4>
    </div>
  </div>
  <div className="neo-widget__body">
    <div className="container">
      <h3><b>People</b></h3>
      <PowerBIEmbed
        embedConfig={{
          type: 'report',
          id: reportId,
          embedUrl: ebdUrl,
          accessToken: tkn,
          tokenType: models.TokenType.Embed,
          filters: [basicFilter],
          settings: {
            panes: {
              filters: {
                expanded: false,
                visible: true
              }
            },
          }
        }}

        eventHandlers={
          new Map([
            ['loaded', async function () {
              console.log('Report loaded');
            }],
            ['rendered', function () { console.log('Report rendered'); }],
            ['error', function (event) { console.log(event.detail); }],
            ['visualClicked', () => console.log('visual clicked')],
            ['pageChanged', (event) => console.log(event)],
          ])
        }
        cssClassName={"Embed-container"}
        getEmbeddedComponent={(embeddedReport) => {
          (window as any).report = embeddedReport;
        }}
      />
    </div>
  </div>
</div>
);
reactjs powerbi
1个回答
0
投票

花了一段时间才弄清楚。

结果过滤器 obj 中的 table 值不正确。

我将其设置为 people 但它应该包括 Azure 目录名称、数据库名称和表名称。

"`<catalog-name> <database-name> <table-name>`"

注意:语法中有反引号和空格。

所以就我而言。

const basicFilter: IBasicFilter = {
  $schema: "http://powerbi.com/product/schema#basic",
  target: {
    table: "`gary_catalog default people`",
    column: "name"
  },
  operator: "In",
  values: ["paul", "mike"],
  filterType: 1 // pbi.models.FilterType.BasicFilter
}
© www.soinside.com 2019 - 2024. All rights reserved.