* replace regex with expr.source.entity

* use prod guid

* use powerbi guid

* use version numbers only

* remove debug
This commit is contained in:
Dan Marshall 2022-09-09 11:29:08 -07:00 коммит произвёл GitHub
Родитель 2bfa5979a2
Коммит 99ae96cfa6
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 4AEE18F83AFDEB23
6 изменённых файлов: 11 добавлений и 15 удалений

Двоичные данные
docs/dist/powerbi/v4/SandDance2019.4.0.0.pbiviz поставляемый

Двоичный файл не отображается.

Двоичные данные
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) {