В качестве пользовательского визуального представления вы можете использовать базовые Bootstrap и jQuery для разработки предполагаемого пользовательского интерфейса, упомянутого в вашем вопросе.
Если вы новичок в создании пользовательского визуала, вы можете выполнить следующие действия: https://docs.microsoft.com/en-us/power-bi/developer/custom-visual-develop-tutorial
Я бы предложил использовать конфигурацию webpack вместо базовой PBIVIZ. Для получения дополнительной информации посетите https://github.com/Microsoft/powerbi-visuals-webpack-plugin#webpack-configuration
Вы можете установить необходимые зависимости в своем файле package.json пользовательского визуала. Вот так выглядит мой основной package.json, который помогает мне создавать визуалы, как вы упоминали в вопросе.
{
"name": "visual",
"scripts": {
"pbiviz": "pbiviz",
"pb-start": "pbiviz start",
"start": "webpack-dev-server",
"package": "pbiviz package",
"cert": "pbiviz --install-cert",
"develop": "webpack --mode development --watch",
"build": "webpack --mode production"
},
"dependencies": {
"@babel/core": "^7.4.3",
"@babel/polyfill": "7.0.0",
"@babel/preset-env": "^7.4.3",
"@babel/runtime": "^7.1.5",
"@babel/runtime-corejs2": "^7.1.5",
"babel-loader": "^8.0.5",
"css-loader": "^2.1.1",
"daterangepicker": "2.1.25",
"extra-watch-webpack-plugin": "^1.0.3",
"jquery": "^3.2.1",
"json-loader": "^0.5.7",
"less": "3.8.0",
"less-loader": "^4.1.0",
"mini-css-extract-plugin": "^0.6.0",
"moment": "^2.24.0",
"powerbi-models": "^1.1.0",
"powerbi-visuals-api": "~2.2.0",
"powerbi-visuals-utils-dataviewutils": "2.0.1",
"powerbi-visuals-utils-typeutils": "^2.1.0",
"powerbi-visuals-webpack-plugin": "^2.1.2",
"style-loader": "^0.23.1",
"webpack-visualizer-plugin": "^0.1.11"
},
"devDependencies": {
"@types/node": "^12.0.0",
"@types/webpack": "^4.4.31",
"@types/daterangepicker": "^2.1.17",
"@types/jquery": "^2.0.41",
"ts-loader": "4.5.0",
"ts-node": "^8.1.0",
"typescript": "^3.0.1",
"webpack": "^4.30.0",
"webpack-cli": "^3.3.2",
"webpack-dev-server": "^3.3.1"
}
}
Чтобы создать таблицу, вам придется использовать jQuery для создания и добавления HTML-кода в визуал. Чтобы развернуть и свернуть определенный список, вы можете использовать jQuery / Javascript / Bootstrap в вашем визуале.