зеркало из https://github.com/microsoft/SandDance.git
Powerbi table entity (#539)
* replace regex with expr.source.entity * use prod guid * use powerbi guid * use version numbers only * remove debug
This commit is contained in:
Родитель
2bfa5979a2
Коммит
99ae96cfa6
Двоичный файл не отображается.
Двоичные данные
docs/dist/powerbi/v4/SandDance201929976D117A654D0BAB8E96507442D80B.4.0.0.pbiviz
поставляемый
Normal file
Двоичные данные
docs/dist/powerbi/v4/SandDance201929976D117A654D0BAB8E96507442D80B.4.0.0.pbiviz
поставляемый
Normal file
Двоичный файл не отображается.
|
@ -27,9 +27,9 @@ title: Examples
|
|||
|
||||
## <a name="apps"></a>SandDance apps v4
|
||||
* [Web app](../tests/v4/es6/app)
|
||||
* [Power BI custom visual](../dist/powerbi/v4/SandDance2019.4.0.0.pbiviz) SandDance 4.0.0
|
||||
* [Azure Data Studio extension](../dist/azdata/v4/azdata-sanddance-4.0.0.vsix) SandDance 4.0.0
|
||||
* [VSCode extension](../dist/vscode/v4/vscode-sanddance-4.0.1.vsix) SandDance 4.0.1
|
||||
* [Power BI custom visual](../dist/powerbi/v4/SandDance201929976D117A654D0BAB8E96507442D80B.4.0.0.pbiviz) 4.0.0
|
||||
* [Azure Data Studio extension](../dist/azdata/v4/azdata-sanddance-4.0.0.vsix) 4.0.0
|
||||
* [VSCode extension](../dist/vscode/v4/vscode-sanddance-4.0.1.vsix) 4.0.1
|
||||
|
||||
## Previous versions
|
||||
|
||||
|
|
|
@ -2,8 +2,7 @@
|
|||
"visual": {
|
||||
"name": "SandDance2019",
|
||||
"displayName": "SandDance",
|
||||
"guid": "SandDance2019",
|
||||
"prod-guid": "SandDance201929976D117A654D0BAB8E96507442D80B",
|
||||
"guid": "SandDance201929976D117A654D0BAB8E96507442D80B",
|
||||
"visualClassName": "Visual",
|
||||
"version": "4.0.0",
|
||||
"description": "Visually explore, understand, and present your data.",
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
const fs = require('fs');
|
||||
const pbiviz = require('../pbiviz.json');
|
||||
const filename = `${pbiviz.visual.name}.${pbiviz.visual.version}.pbiviz`;
|
||||
const filename = `${pbiviz.visual.guid}.${pbiviz.visual.version}.pbiviz`;
|
||||
fs.copyFileSync(`./dist/${filename}`, `../../docs/dist/powerbi/v4/${filename}`);
|
||||
|
|
|
@ -5,6 +5,10 @@ import * as powerbiModels from 'powerbi-models';
|
|||
import powerbiVisualsApi from 'powerbi-visuals-api';
|
||||
import { SandDance } from '@msrvida/sanddance-explorer';
|
||||
|
||||
interface ExprSourceEntity extends powerbiVisualsApi.data.ISQExpr {
|
||||
source?: { entity?: string; };
|
||||
}
|
||||
|
||||
export function convertFilter(searchFilter: SandDance.searchExpression.Search, columns: powerbiVisualsApi.DataViewMetadataColumn[], data: object[]) {
|
||||
const selectedIds: powerbiVisualsApi.extensibility.ISelectionId[] = [];
|
||||
const filters: powerbiModels.IFilter[] = [];
|
||||
|
@ -64,22 +68,15 @@ function createAdvancedFilter(column: powerbiVisualsApi.DataViewMetadataColumn,
|
|||
if (condition.operator === 'None') {
|
||||
return null;
|
||||
} else {
|
||||
const expr: ExprSourceEntity = column.expr;
|
||||
const target: powerbiModels.IFilterColumnTarget = {
|
||||
table: getTable(column.queryName),
|
||||
table: expr.source?.entity,
|
||||
column: column.displayName,
|
||||
};
|
||||
return new powerbiModels.AdvancedFilter(target, 'And', condition);
|
||||
}
|
||||
}
|
||||
|
||||
function getTable(queryName: string) {
|
||||
const regExp = /\(([^)]+)\)/.exec(queryName);
|
||||
if (regExp) {
|
||||
queryName = regExp[1];
|
||||
}
|
||||
return queryName.substr(0, queryName.indexOf('.'));
|
||||
}
|
||||
|
||||
function convertExpressionToAdvancedFilter(ex: SandDance.searchExpression.SearchExpression, column: powerbiVisualsApi.DataViewMetadataColumn): powerbiModels.AdvancedFilter {
|
||||
let condition: powerbiModels.IAdvancedFilterCondition;
|
||||
if (ex.value == null) {
|
||||
|
|
Загрузка…
Ссылка в новой задаче