bi-superpowers 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-plugin/marketplace.json +31 -0
- package/.claude-plugin/plugin.json +34 -0
- package/.claude-plugin/skill-manifest.json +79 -0
- package/.mcp.json +13 -0
- package/.plugin/plugin.json +14 -0
- package/LICENSE +21 -0
- package/README.md +849 -0
- package/bin/build-plugin.js +97 -0
- package/bin/cli.js +891 -0
- package/bin/commands/autoupdate.js +128 -0
- package/bin/commands/build-desktop.js +368 -0
- package/bin/commands/create-from-template.js +165 -0
- package/bin/commands/diff.js +435 -0
- package/bin/commands/install.js +542 -0
- package/bin/commands/lint.js +441 -0
- package/bin/commands/mcp-setup.js +255 -0
- package/bin/commands/session-update.js +204 -0
- package/bin/commands/smoke-test.js +20 -0
- package/bin/commands/uninstall.js +611 -0
- package/bin/commands/update-check.js +427 -0
- package/bin/commands/validate-cases.js +264 -0
- package/bin/commands/validate-projects.js +426 -0
- package/bin/commands/watch.js +251 -0
- package/bin/lib/agents.js +62 -0
- package/bin/lib/base-template-smoke.js +299 -0
- package/bin/lib/claude-hooks.js +160 -0
- package/bin/lib/generators/claude-plugin.js +529 -0
- package/bin/lib/generators/index.js +116 -0
- package/bin/lib/generators/shared.js +257 -0
- package/bin/lib/mcp-config.js +835 -0
- package/bin/lib/microsoft-mcp.js +206 -0
- package/bin/lib/powerbi-mcp-session.js +140 -0
- package/bin/lib/skills.js +164 -0
- package/bin/lib/template-scaffold.js +366 -0
- package/bin/mcp/powerbi-modeling-launcher.js +42 -0
- package/bin/postinstall.js +50 -0
- package/bin/utils/mcp-detect.js +346 -0
- package/bin/utils/tui.js +314 -0
- package/commands/bi-connect.md +520 -0
- package/commands/bi-dax.md +464 -0
- package/commands/bi-kickoff.md +550 -0
- package/commands/bi-modeling.md +485 -0
- package/commands/bi-performance.md +521 -0
- package/commands/bi-powerquery.md +229 -0
- package/commands/bi-refactor.md +249 -0
- package/commands/bi-scorecard.md +268 -0
- package/commands/bi-start.md +272 -0
- package/config.example.json +23 -0
- package/config.json +23 -0
- package/desktop-extension/manifest.json +30 -0
- package/desktop-extension/package.json +10 -0
- package/desktop-extension/server.js +137 -0
- package/package.json +94 -0
- package/skills/bi-connect/SKILL.md +522 -0
- package/skills/bi-connect/scripts/update-check.js +427 -0
- package/skills/bi-dax/SKILL.md +466 -0
- package/skills/bi-dax/scripts/update-check.js +427 -0
- package/skills/bi-kickoff/SKILL.md +552 -0
- package/skills/bi-kickoff/references/flow.html +78 -0
- package/skills/bi-kickoff/references/flow.md +62 -0
- package/skills/bi-kickoff/scripts/update-check.js +427 -0
- package/skills/bi-modeling/SKILL.md +487 -0
- package/skills/bi-modeling/scripts/update-check.js +427 -0
- package/skills/bi-performance/SKILL.md +523 -0
- package/skills/bi-performance/scripts/install-tabular-editor.ps1 +159 -0
- package/skills/bi-performance/scripts/run-bpa.ps1 +265 -0
- package/skills/bi-performance/scripts/update-check.js +427 -0
- package/skills/bi-powerquery/SKILL.md +231 -0
- package/skills/bi-powerquery/references/base-template-data-contract.md +323 -0
- package/skills/bi-powerquery/references/power-query-standards.md +74 -0
- package/skills/bi-powerquery/scripts/new-powerquery-staging.ps1 +371 -0
- package/skills/bi-powerquery/scripts/test-powerquery-contract.ps1 +225 -0
- package/skills/bi-powerquery/scripts/update-check.js +427 -0
- package/skills/bi-refactor/SKILL.md +251 -0
- package/skills/bi-refactor/references/flow.md +27 -0
- package/skills/bi-refactor/scripts/update-check.js +427 -0
- package/skills/bi-scorecard/SKILL.md +270 -0
- package/skills/bi-scorecard/examples/base-template-scorecard-overlay.json +82 -0
- package/skills/bi-scorecard/scripts/new-scorecard-blueprint-from-base-template.ps1 +124 -0
- package/skills/bi-scorecard/scripts/powerbi-goal-status-rules-api.ps1 +39 -0
- package/skills/bi-scorecard/scripts/powerbi-goal-values-api.ps1 +48 -0
- package/skills/bi-scorecard/scripts/powerbi-goals-api.ps1 +68 -0
- package/skills/bi-scorecard/scripts/powerbi-rest-common.ps1 +197 -0
- package/skills/bi-scorecard/scripts/powerbi-scorecards-api.ps1 +53 -0
- package/skills/bi-scorecard/scripts/update-check.js +427 -0
- package/skills/bi-start/SKILL.md +274 -0
- package/skills/bi-start/scripts/update-check.js +427 -0
- package/src/content/base.md +197 -0
- package/src/content/mcp-requirements.json +57 -0
- package/src/content/routing.md +201 -0
- package/src/content/skills/bi-connect.md +493 -0
- package/src/content/skills/bi-dax.md +437 -0
- package/src/content/skills/bi-kickoff/SKILL.md +523 -0
- package/src/content/skills/bi-kickoff/references/flow.html +78 -0
- package/src/content/skills/bi-kickoff/references/flow.md +62 -0
- package/src/content/skills/bi-modeling.md +458 -0
- package/src/content/skills/bi-performance/SKILL.md +494 -0
- package/src/content/skills/bi-performance/scripts/install-tabular-editor.ps1 +159 -0
- package/src/content/skills/bi-performance/scripts/run-bpa.ps1 +265 -0
- package/src/content/skills/bi-powerquery/SKILL.md +202 -0
- package/src/content/skills/bi-powerquery/references/base-template-data-contract.md +323 -0
- package/src/content/skills/bi-powerquery/references/power-query-standards.md +74 -0
- package/src/content/skills/bi-powerquery/scripts/new-powerquery-staging.ps1 +371 -0
- package/src/content/skills/bi-powerquery/scripts/test-powerquery-contract.ps1 +225 -0
- package/src/content/skills/bi-refactor/SKILL.md +222 -0
- package/src/content/skills/bi-refactor/references/flow.md +27 -0
- package/src/content/skills/bi-scorecard/SKILL.md +241 -0
- package/src/content/skills/bi-scorecard/examples/base-template-scorecard-blueprint.expected.json +105 -0
- package/src/content/skills/bi-scorecard/examples/base-template-scorecard-overlay.json +82 -0
- package/src/content/skills/bi-scorecard/scripts/new-scorecard-blueprint-from-base-template.ps1 +124 -0
- package/src/content/skills/bi-scorecard/scripts/powerbi-goal-status-rules-api.ps1 +39 -0
- package/src/content/skills/bi-scorecard/scripts/powerbi-goal-values-api.ps1 +48 -0
- package/src/content/skills/bi-scorecard/scripts/powerbi-goals-api.ps1 +68 -0
- package/src/content/skills/bi-scorecard/scripts/powerbi-rest-common.ps1 +197 -0
- package/src/content/skills/bi-scorecard/scripts/powerbi-scorecards-api.ps1 +53 -0
- package/src/content/skills/bi-start.md +266 -0
- package/templates/base-template/AGENTS.md +33 -0
- package/templates/base-template/base-template.Report/.platform +11 -0
- package/templates/base-template/base-template.Report/StaticResources/RegisteredResources/BISuperpowers.json +3888 -0
- package/templates/base-template/base-template.Report/StaticResources/SharedResources/BaseThemes/CY18SU07.json +177 -0
- package/templates/base-template/base-template.Report/StaticResources/SharedResources/BaseThemes/Fluent2-CY26SU03.json +4104 -0
- package/templates/base-template/base-template.Report/StaticResources/SharedResources/BuiltInThemes/AccessibleCityPark.json +26 -0
- package/templates/base-template/base-template.Report/StaticResources/SharedResources/BuiltInThemes/AccessibleDefault.json +26 -0
- package/templates/base-template/base-template.Report/StaticResources/SharedResources/BuiltInThemes/AccessibleNeutral.json +26 -0
- package/templates/base-template/base-template.Report/StaticResources/SharedResources/BuiltInThemes/AccessibleOrchid.json +26 -0
- package/templates/base-template/base-template.Report/StaticResources/SharedResources/BuiltInThemes/AccessibleTidal.json +26 -0
- package/templates/base-template/base-template.Report/StaticResources/SharedResources/BuiltInThemes/Bloom.json +139 -0
- package/templates/base-template/base-template.Report/StaticResources/SharedResources/BuiltInThemes/CityPark.json +40 -0
- package/templates/base-template/base-template.Report/StaticResources/SharedResources/BuiltInThemes/Classroom.json +40 -0
- package/templates/base-template/base-template.Report/StaticResources/SharedResources/BuiltInThemes/ColorblindSafe.json +48 -0
- package/templates/base-template/base-template.Report/StaticResources/SharedResources/BuiltInThemes/CopilotDefault.json +1861 -0
- package/templates/base-template/base-template.Report/StaticResources/SharedResources/BuiltInThemes/Divergent.json +127 -0
- package/templates/base-template/base-template.Report/StaticResources/SharedResources/BuiltInThemes/Electric.json +48 -0
- package/templates/base-template/base-template.Report/StaticResources/SharedResources/BuiltInThemes/Frontier.json +136 -0
- package/templates/base-template/base-template.Report/StaticResources/SharedResources/BuiltInThemes/HighContrast.json +40 -0
- package/templates/base-template/base-template.Report/StaticResources/SharedResources/BuiltInThemes/Highrise.json +41 -0
- package/templates/base-template/base-template.Report/StaticResources/SharedResources/BuiltInThemes/Innovate.json +227 -0
- package/templates/base-template/base-template.Report/StaticResources/SharedResources/BuiltInThemes/NewExecutive.json +41 -0
- package/templates/base-template/base-template.Report/StaticResources/SharedResources/BuiltInThemes/Solar.json +33 -0
- package/templates/base-template/base-template.Report/StaticResources/SharedResources/BuiltInThemes/Storm.json +25 -0
- package/templates/base-template/base-template.Report/StaticResources/SharedResources/BuiltInThemes/Sunset.json +48 -0
- package/templates/base-template/base-template.Report/StaticResources/SharedResources/BuiltInThemes/Temperature.json +33 -0
- package/templates/base-template/base-template.Report/StaticResources/SharedResources/BuiltInThemes/Tidal.json +100 -0
- package/templates/base-template/base-template.Report/StaticResources/SharedResources/BuiltInThemes/Twilight.json +40 -0
- package/templates/base-template/base-template.Report/definition/bookmarks/1d40d43c7ade66e8603c.bookmark.json +2297 -0
- package/templates/base-template/base-template.Report/definition/bookmarks/af068ff51c0ca3089ea7.bookmark.json +2300 -0
- package/templates/base-template/base-template.Report/definition/bookmarks/bookmarks.json +11 -0
- package/templates/base-template/base-template.Report/definition/pages/6a4808bb8bb9166f49ff/page.json +130 -0
- package/templates/base-template/base-template.Report/definition/pages/6a4808bb8bb9166f49ff/visuals/0352fd80d074693a65db/mobile.json +11 -0
- package/templates/base-template/base-template.Report/definition/pages/6a4808bb8bb9166f49ff/visuals/0352fd80d074693a65db/visual.json +669 -0
- package/templates/base-template/base-template.Report/definition/pages/6a4808bb8bb9166f49ff/visuals/1c5a14bf493697344b68/mobile.json +11 -0
- package/templates/base-template/base-template.Report/definition/pages/6a4808bb8bb9166f49ff/visuals/1c5a14bf493697344b68/visual.json +723 -0
- package/templates/base-template/base-template.Report/definition/pages/6a4808bb8bb9166f49ff/visuals/3486cf7624c5b109b4e5/mobile.json +11 -0
- package/templates/base-template/base-template.Report/definition/pages/6a4808bb8bb9166f49ff/visuals/3486cf7624c5b109b4e5/visual.json +333 -0
- package/templates/base-template/base-template.Report/definition/pages/6a4808bb8bb9166f49ff/visuals/4d8b989008edc0db28d1/mobile.json +11 -0
- package/templates/base-template/base-template.Report/definition/pages/6a4808bb8bb9166f49ff/visuals/4d8b989008edc0db28d1/visual.json +109 -0
- package/templates/base-template/base-template.Report/definition/pages/6a4808bb8bb9166f49ff/visuals/55e10ac7d76a1954f94f/mobile.json +31 -0
- package/templates/base-template/base-template.Report/definition/pages/6a4808bb8bb9166f49ff/visuals/55e10ac7d76a1954f94f/visual.json +378 -0
- package/templates/base-template/base-template.Report/definition/pages/6a4808bb8bb9166f49ff/visuals/57f52ecf4490f70e4da1/mobile.json +11 -0
- package/templates/base-template/base-template.Report/definition/pages/6a4808bb8bb9166f49ff/visuals/57f52ecf4490f70e4da1/visual.json +175 -0
- package/templates/base-template/base-template.Report/definition/pages/6a4808bb8bb9166f49ff/visuals/5f4d76bbc870118e9840/mobile.json +11 -0
- package/templates/base-template/base-template.Report/definition/pages/6a4808bb8bb9166f49ff/visuals/5f4d76bbc870118e9840/visual.json +468 -0
- package/templates/base-template/base-template.Report/definition/pages/6a4808bb8bb9166f49ff/visuals/73629e1abebb7a444b59/mobile.json +11 -0
- package/templates/base-template/base-template.Report/definition/pages/6a4808bb8bb9166f49ff/visuals/73629e1abebb7a444b59/visual.json +359 -0
- package/templates/base-template/base-template.Report/definition/pages/6a4808bb8bb9166f49ff/visuals/749cb1388c7e0a88161c/mobile.json +11 -0
- package/templates/base-template/base-template.Report/definition/pages/6a4808bb8bb9166f49ff/visuals/749cb1388c7e0a88161c/visual.json +690 -0
- package/templates/base-template/base-template.Report/definition/pages/6a4808bb8bb9166f49ff/visuals/90677f13cea5d1275990/visual.json +17 -0
- package/templates/base-template/base-template.Report/definition/pages/6a4808bb8bb9166f49ff/visuals/92cf92e3da10493adb78/mobile.json +11 -0
- package/templates/base-template/base-template.Report/definition/pages/6a4808bb8bb9166f49ff/visuals/92cf92e3da10493adb78/visual.json +468 -0
- package/templates/base-template/base-template.Report/definition/pages/6a4808bb8bb9166f49ff/visuals/9fe17b1971f68443fc15/mobile.json +10 -0
- package/templates/base-template/base-template.Report/definition/pages/6a4808bb8bb9166f49ff/visuals/9fe17b1971f68443fc15/visual.json +328 -0
- package/templates/base-template/base-template.Report/definition/pages/6a4808bb8bb9166f49ff/visuals/a30bd0950630ed94e8a3/mobile.json +11 -0
- package/templates/base-template/base-template.Report/definition/pages/6a4808bb8bb9166f49ff/visuals/a30bd0950630ed94e8a3/visual.json +578 -0
- package/templates/base-template/base-template.Report/definition/pages/6a4808bb8bb9166f49ff/visuals/a56e91d9400a835e4814/mobile.json +11 -0
- package/templates/base-template/base-template.Report/definition/pages/6a4808bb8bb9166f49ff/visuals/a56e91d9400a835e4814/visual.json +432 -0
- package/templates/base-template/base-template.Report/definition/pages/6a4808bb8bb9166f49ff/visuals/aded24cd205c0b528642/mobile.json +11 -0
- package/templates/base-template/base-template.Report/definition/pages/6a4808bb8bb9166f49ff/visuals/aded24cd205c0b528642/visual.json +801 -0
- package/templates/base-template/base-template.Report/definition/pages/6a4808bb8bb9166f49ff/visuals/af34b26f14a8a724c9a9/mobile.json +37 -0
- package/templates/base-template/base-template.Report/definition/pages/6a4808bb8bb9166f49ff/visuals/af34b26f14a8a724c9a9/visual.json +1318 -0
- package/templates/base-template/base-template.Report/definition/pages/6a4808bb8bb9166f49ff/visuals/b529688fe5a226643322/visual.json +209 -0
- package/templates/base-template/base-template.Report/definition/pages/6a4808bb8bb9166f49ff/visuals/c4c6f332d05e72e2eb06/mobile.json +11 -0
- package/templates/base-template/base-template.Report/definition/pages/6a4808bb8bb9166f49ff/visuals/c4c6f332d05e72e2eb06/visual.json +174 -0
- package/templates/base-template/base-template.Report/definition/pages/6a4808bb8bb9166f49ff/visuals/fa81f184e2cb0e8b087c/mobile.json +29 -0
- package/templates/base-template/base-template.Report/definition/pages/6a4808bb8bb9166f49ff/visuals/fa81f184e2cb0e8b087c/visual.json +241 -0
- package/templates/base-template/base-template.Report/definition/pages/9a5b670b015cab882629/page.json +130 -0
- package/templates/base-template/base-template.Report/definition/pages/9a5b670b015cab882629/visuals/07e9c4302e29029c5462/mobile.json +11 -0
- package/templates/base-template/base-template.Report/definition/pages/9a5b670b015cab882629/visuals/07e9c4302e29029c5462/visual.json +690 -0
- package/templates/base-template/base-template.Report/definition/pages/9a5b670b015cab882629/visuals/109ceede4bc015b0c006/mobile.json +11 -0
- package/templates/base-template/base-template.Report/definition/pages/9a5b670b015cab882629/visuals/109ceede4bc015b0c006/visual.json +468 -0
- package/templates/base-template/base-template.Report/definition/pages/9a5b670b015cab882629/visuals/118257e006d472277e10/mobile.json +11 -0
- package/templates/base-template/base-template.Report/definition/pages/9a5b670b015cab882629/visuals/118257e006d472277e10/visual.json +359 -0
- package/templates/base-template/base-template.Report/definition/pages/9a5b670b015cab882629/visuals/2caf02e0137c4a1280cc/mobile.json +11 -0
- package/templates/base-template/base-template.Report/definition/pages/9a5b670b015cab882629/visuals/2caf02e0137c4a1280cc/visual.json +669 -0
- package/templates/base-template/base-template.Report/definition/pages/9a5b670b015cab882629/visuals/311e76fe3c9edad68204/mobile.json +11 -0
- package/templates/base-template/base-template.Report/definition/pages/9a5b670b015cab882629/visuals/311e76fe3c9edad68204/visual.json +109 -0
- package/templates/base-template/base-template.Report/definition/pages/9a5b670b015cab882629/visuals/31c21f8cbeb3b208940a/visual.json +209 -0
- package/templates/base-template/base-template.Report/definition/pages/9a5b670b015cab882629/visuals/3ab72c25062437149b03/visual.json +17 -0
- package/templates/base-template/base-template.Report/definition/pages/9a5b670b015cab882629/visuals/5959867442abcb0ce2b3/mobile.json +11 -0
- package/templates/base-template/base-template.Report/definition/pages/9a5b670b015cab882629/visuals/5959867442abcb0ce2b3/visual.json +788 -0
- package/templates/base-template/base-template.Report/definition/pages/9a5b670b015cab882629/visuals/5b96e0f88d192b044a13/mobile.json +11 -0
- package/templates/base-template/base-template.Report/definition/pages/9a5b670b015cab882629/visuals/5b96e0f88d192b044a13/visual.json +592 -0
- package/templates/base-template/base-template.Report/definition/pages/9a5b670b015cab882629/visuals/64e749a63d0786000e22/mobile.json +11 -0
- package/templates/base-template/base-template.Report/definition/pages/9a5b670b015cab882629/visuals/64e749a63d0786000e22/visual.json +468 -0
- package/templates/base-template/base-template.Report/definition/pages/9a5b670b015cab882629/visuals/7ae1ca604edac6586ad0/mobile.json +11 -0
- package/templates/base-template/base-template.Report/definition/pages/9a5b670b015cab882629/visuals/7ae1ca604edac6586ad0/visual.json +1310 -0
- package/templates/base-template/base-template.Report/definition/pages/9a5b670b015cab882629/visuals/840300733885141a6603/mobile.json +11 -0
- package/templates/base-template/base-template.Report/definition/pages/9a5b670b015cab882629/visuals/840300733885141a6603/visual.json +175 -0
- package/templates/base-template/base-template.Report/definition/pages/9a5b670b015cab882629/visuals/a38448cdb203279273d2/mobile.json +11 -0
- package/templates/base-template/base-template.Report/definition/pages/9a5b670b015cab882629/visuals/a38448cdb203279273d2/visual.json +516 -0
- package/templates/base-template/base-template.Report/definition/pages/9a5b670b015cab882629/visuals/d1e86f213a3841d12e20/visual.json +328 -0
- package/templates/base-template/base-template.Report/definition/pages/9a5b670b015cab882629/visuals/d4a484c1bcc8ee3075e2/mobile.json +11 -0
- package/templates/base-template/base-template.Report/definition/pages/9a5b670b015cab882629/visuals/d4a484c1bcc8ee3075e2/visual.json +432 -0
- package/templates/base-template/base-template.Report/definition/pages/9a5b670b015cab882629/visuals/d87cb5cf06acca19bbb5/mobile.json +11 -0
- package/templates/base-template/base-template.Report/definition/pages/9a5b670b015cab882629/visuals/d87cb5cf06acca19bbb5/visual.json +241 -0
- package/templates/base-template/base-template.Report/definition/pages/9a5b670b015cab882629/visuals/e243da2677209ed69408/mobile.json +11 -0
- package/templates/base-template/base-template.Report/definition/pages/9a5b670b015cab882629/visuals/e243da2677209ed69408/visual.json +174 -0
- package/templates/base-template/base-template.Report/definition/pages/9a5b670b015cab882629/visuals/f3aaf24f5b22b67573b0/mobile.json +11 -0
- package/templates/base-template/base-template.Report/definition/pages/9a5b670b015cab882629/visuals/f3aaf24f5b22b67573b0/visual.json +333 -0
- package/templates/base-template/base-template.Report/definition/pages/pages.json +8 -0
- package/templates/base-template/base-template.Report/definition/report.json +89 -0
- package/templates/base-template/base-template.Report/definition/version.json +4 -0
- package/templates/base-template/base-template.Report/definition.pbir +9 -0
- package/templates/base-template/base-template.SemanticModel/.platform +11 -0
- package/templates/base-template/base-template.SemanticModel/definition/cultures/es-AR.tmdl +11185 -0
- package/templates/base-template/base-template.SemanticModel/definition/database.tmdl +3 -0
- package/templates/base-template/base-template.SemanticModel/definition/expressions.tmdl +234 -0
- package/templates/base-template/base-template.SemanticModel/definition/functions.tmdl +637 -0
- package/templates/base-template/base-template.SemanticModel/definition/model.tmdl +82 -0
- package/templates/base-template/base-template.SemanticModel/definition/relationships.tmdl +271 -0
- package/templates/base-template/base-template.SemanticModel/definition/tables/Calendario.tmdl +200 -0
- package/templates/base-template/base-template.SemanticModel/definition/tables/Campa/303/261as.tmdl +75 -0
- package/templates/base-template/base-template.SemanticModel/definition/tables/Canales.tmdl +84 -0
- package/templates/base-template/base-template.SemanticModel/definition/tables/Clientes.tmdl +143 -0
- package/templates/base-template/base-template.SemanticModel/definition/tables/Devoluciones.tmdl +95 -0
- package/templates/base-template/base-template.SemanticModel/definition/tables/Ejecuci/303/263n proyectos.tmdl" +130 -0
- package/templates/base-template/base-template.SemanticModel/definition/tables/Entregas.tmdl +122 -0
- package/templates/base-template/base-template.SemanticModel/definition/tables/Equipos m/303/251tricas.tmdl" +40 -0
- package/templates/base-template/base-template.SemanticModel/definition/tables/Equipos.tmdl +73 -0
- package/templates/base-template/base-template.SemanticModel/definition/tables/Horas.tmdl +122 -0
- package/templates/base-template/base-template.SemanticModel/definition/tables/Interacciones clientes.tmdl +146 -0
- package/templates/base-template/base-template.SemanticModel/definition/tables/Leads.tmdl +119 -0
- package/templates/base-template/base-template.SemanticModel/definition/tables/Monedas.tmdl +44 -0
- package/templates/base-template/base-template.SemanticModel/definition/tables/Movimientos financieros.tmdl +145 -0
- package/templates/base-template/base-template.SemanticModel/definition/tables/M/303/251tricas.tmdl +1294 -0
- package/templates/base-template/base-template.SemanticModel/definition/tables/N/303/263mina.tmdl +110 -0
- package/templates/base-template/base-template.SemanticModel/definition/tables/Oportunidades.tmdl +135 -0
- package/templates/base-template/base-template.SemanticModel/definition/tables/Presupuesto.tmdl +125 -0
- package/templates/base-template/base-template.SemanticModel/definition/tables/Productos.tmdl +98 -0
- package/templates/base-template/base-template.SemanticModel/definition/tables/Proyectos.tmdl +77 -0
- package/templates/base-template/base-template.SemanticModel/definition/tables/Servicios.tmdl +75 -0
- package/templates/base-template/base-template.SemanticModel/definition/tables/Tareas proyecto.tmdl +102 -0
- package/templates/base-template/base-template.SemanticModel/definition/tables/Tipo de cambio.tmdl +67 -0
- package/templates/base-template/base-template.SemanticModel/definition/tables/Ventas.tmdl +180 -0
- package/templates/base-template/base-template.SemanticModel/definition/tables/_Aux An/303/241lisis dimensiones.tmdl" +38 -0
- package/templates/base-template/base-template.SemanticModel/definition/tables/_Aux Comparaciones.tmdl +227 -0
- package/templates/base-template/base-template.SemanticModel/definition/tables/_Aux Compatibilidad m/303/251trica-dimensi/303/263n.tmdl" +68 -0
- package/templates/base-template/base-template.SemanticModel/definition/tables/_Aux Modelo configuraci/303/263n.tmdl" +44 -0
- package/templates/base-template/base-template.SemanticModel/definition/tables/_Aux Modo fechas.tmdl +36 -0
- package/templates/base-template/base-template.SemanticModel/definition/tables/_Aux M/303/251trica-Equipo.tmdl" +102 -0
- package/templates/base-template/base-template.SemanticModel/definition/tables/_Aux Overrides m/303/251trica-dimensi/303/263n.tmdl" +54 -0
- package/templates/base-template/base-template.SemanticModel/definition/tables/_Aux Per/303/255odos.tmdl" +182 -0
- package/templates/base-template/base-template.SemanticModel/definition/tables/_Aux Rango fechas modo.tmdl +36 -0
- package/templates/base-template/base-template.SemanticModel/definition/tables/_Aux Rango fechas.tmdl +27 -0
- package/templates/base-template/base-template.SemanticModel/definition/tables/_Aux Vista de calendario.tmdl +30 -0
- package/templates/base-template/base-template.SemanticModel/definition/tables/_GC C/303/241lculo.tmdl" +70 -0
- package/templates/base-template/base-template.SemanticModel/definition/tables/_GC Eje X.tmdl +63 -0
- package/templates/base-template/base-template.SemanticModel/definition/tables/_GC M/303/251trica.tmdl" +374 -0
- package/templates/base-template/base-template.SemanticModel/definition/tables/_GC Tipo c/303/241lculo.tmdl" +223 -0
- package/templates/base-template/base-template.SemanticModel/definition/tables/_PC Dimensi/303/263n.tmdl" +98 -0
- package/templates/base-template/base-template.SemanticModel/definition/tables/_PC Eje X.tmdl +68 -0
- package/templates/base-template/base-template.SemanticModel/definition/tables//303/223rdenes servicio.tmdl" +151 -0
- package/templates/base-template/base-template.SemanticModel/definition.pbism +5 -0
- package/templates/base-template/base-template.SemanticModel/diagramLayout.json +568 -0
- package/templates/base-template/base-template.pbip +14 -0
- package/templates/base-template/template.manifest.json +41 -0
- package/theme/BISuperpowers.json +3888 -0
|
@@ -0,0 +1,234 @@
|
|
|
1
|
+
/// Helper M didáctico que calcula el número de semana ISO de una fecha.
|
|
2
|
+
expression fxTemplateIsoWeek =
|
|
3
|
+
(dateValue as date) as number =>
|
|
4
|
+
let
|
|
5
|
+
// En M, let crea pasos con nombre. Cada paso puede usar los pasos anteriores.
|
|
6
|
+
// dateValue es el parametro de entrada: la fecha que queremos clasificar.
|
|
7
|
+
// Date.DayOfWeek devuelve el dia de la semana como numero.
|
|
8
|
+
// Day.Monday hace que lunes sea el inicio de la semana.
|
|
9
|
+
dayIndex = Date.DayOfWeek(dateValue, Day.Monday),
|
|
10
|
+
// Para calendario ISO, el jueves define a que año pertenece la semana.
|
|
11
|
+
// Si una semana cruza de diciembre a enero, este ajuste evita clasificarla mal.
|
|
12
|
+
thursday = Date.AddDays(dateValue, 3 - dayIndex),
|
|
13
|
+
// Date.Year extrae el año de la fecha ajustada al jueves.
|
|
14
|
+
isoYear = Date.Year(thursday),
|
|
15
|
+
// El 4 de enero siempre pertenece a la semana ISO 1.
|
|
16
|
+
firstThursday = #date(isoYear, 1, 4),
|
|
17
|
+
// Buscamos el lunes de la semana que contiene al 4 de enero.
|
|
18
|
+
firstWeekStart = Date.StartOfWeek(firstThursday, Day.Monday),
|
|
19
|
+
// Buscamos el lunes de la semana de la fecha recibida.
|
|
20
|
+
weekStart = Date.StartOfWeek(dateValue, Day.Monday),
|
|
21
|
+
// Duration.Days cuenta dias entre ambos lunes.
|
|
22
|
+
// Number.IntegerDivide divide por 7 y se queda con semanas completas.
|
|
23
|
+
// Sumamos 1 porque la primera semana se numera como 1, no como 0.
|
|
24
|
+
week = Number.IntegerDivide(Duration.Days(weekStart - firstWeekStart), 7) + 1
|
|
25
|
+
in
|
|
26
|
+
// in devuelve el paso final de la query o funcion.
|
|
27
|
+
week
|
|
28
|
+
lineageTag: 8177d19e-7f3b-4eb2-a9b4-13ed978a2925
|
|
29
|
+
queryGroup: Calendario
|
|
30
|
+
|
|
31
|
+
annotation PBI_NavigationStepName = Navegación
|
|
32
|
+
|
|
33
|
+
annotation PBI_ResultType = Function
|
|
34
|
+
|
|
35
|
+
/// Helper M didáctico que replica la aproximación de año fiscal 4-4-5 del template.
|
|
36
|
+
expression fxTemplateCalendar445Year =
|
|
37
|
+
(dateValue as date) as number =>
|
|
38
|
+
let
|
|
39
|
+
// Esta funcion recibe una fecha y devuelve el año fiscal 4-4-5 aproximado.
|
|
40
|
+
// Day.Monday hace que el calculo semanal empiece los lunes.
|
|
41
|
+
dayIndex = Date.DayOfWeek(dateValue, Day.Monday),
|
|
42
|
+
// Movemos la fecha hacia el jueves de su semana.
|
|
43
|
+
// El jueves funciona como ancla para semanas que cruzan de un año a otro.
|
|
44
|
+
fiscalAnchorDate = Date.AddDays(dateValue, 3 - dayIndex),
|
|
45
|
+
// Date.Year toma solo el año de la fecha ancla.
|
|
46
|
+
fiscalYear = Date.Year(fiscalAnchorDate)
|
|
47
|
+
in
|
|
48
|
+
// Devolvemos el año fiscal aproximado.
|
|
49
|
+
fiscalYear
|
|
50
|
+
lineageTag: bc114851-859b-4070-8a1f-94277a765443
|
|
51
|
+
queryGroup: Calendario
|
|
52
|
+
|
|
53
|
+
annotation PBI_NavigationStepName = Navegación
|
|
54
|
+
|
|
55
|
+
annotation PBI_ResultType = Function
|
|
56
|
+
|
|
57
|
+
/// Helper M didáctico que calcula el mes fiscal 4-4-5 aproximado del template.
|
|
58
|
+
expression fxTemplateCalendar445MonthNr =
|
|
59
|
+
(dateValue as date) as number =>
|
|
60
|
+
let
|
|
61
|
+
// Esta funcion recibe una fecha y devuelve un numero de mes fiscal entre 1 y 12.
|
|
62
|
+
// Reutilizamos fxTemplateIsoWeek para saber en que semana del año cae la fecha.
|
|
63
|
+
weekNr = fxTemplateIsoWeek(dateValue),
|
|
64
|
+
// En un calendario 4-4-5, los meses de cada trimestre duran 4, 4 y 5 semanas.
|
|
65
|
+
// Las condiciones se leen de arriba hacia abajo y la primera verdadera gana.
|
|
66
|
+
fiscalMonth =
|
|
67
|
+
if weekNr <= 4 then 1
|
|
68
|
+
else if weekNr <= 8 then 2
|
|
69
|
+
else if weekNr <= 13 then 3
|
|
70
|
+
else if weekNr <= 17 then 4
|
|
71
|
+
else if weekNr <= 21 then 5
|
|
72
|
+
else if weekNr <= 26 then 6
|
|
73
|
+
else if weekNr <= 30 then 7
|
|
74
|
+
else if weekNr <= 34 then 8
|
|
75
|
+
else if weekNr <= 39 then 9
|
|
76
|
+
else if weekNr <= 43 then 10
|
|
77
|
+
else if weekNr <= 47 then 11
|
|
78
|
+
else 12
|
|
79
|
+
in
|
|
80
|
+
// Devolvemos el mes fiscal aproximado.
|
|
81
|
+
fiscalMonth
|
|
82
|
+
lineageTag: 92f3a8a4-5c4d-4efc-a8f9-3a4d0a9d4b9b
|
|
83
|
+
queryGroup: Calendario
|
|
84
|
+
|
|
85
|
+
annotation PBI_NavigationStepName = Navegación
|
|
86
|
+
|
|
87
|
+
annotation PBI_ResultType = Function
|
|
88
|
+
|
|
89
|
+
/// Parámetro de Power Query que define la fecha inicial del calendario del template.
|
|
90
|
+
expression FechaInicio =
|
|
91
|
+
// Este parametro indica desde que dia empieza la tabla Calendario.
|
|
92
|
+
// Si se cambia esta fecha, el calendario tendra mas o menos filas.
|
|
93
|
+
#date(2023, 1, 1) meta [IsParameterQuery=true, Type="Date", IsParameterQueryRequired=true]
|
|
94
|
+
lineageTag: c49bce2a-539e-46c9-9554-9bba49ca7580
|
|
95
|
+
queryGroup: Params
|
|
96
|
+
|
|
97
|
+
annotation PBI_ResultType = Date
|
|
98
|
+
|
|
99
|
+
annotation PBI_NavigationStepName = Navegación
|
|
100
|
+
|
|
101
|
+
/// Parámetro de Power Query que define el offset horario UTC del template.
|
|
102
|
+
expression ZonaHoraria =
|
|
103
|
+
// Este parametro ajusta la fecha actual segun la zona horaria.
|
|
104
|
+
// Buenos Aires usa -3; España suele usar 1 o 2 segun horario de verano.
|
|
105
|
+
-3 meta [IsParameterQuery=true, Type="Number", IsParameterQueryRequired=true]
|
|
106
|
+
lineageTag: f11ac853-0898-4e54-ac32-115848938226
|
|
107
|
+
queryGroup: Params
|
|
108
|
+
|
|
109
|
+
annotation PBI_ResultType = Number
|
|
110
|
+
|
|
111
|
+
annotation PBI_NavigationStepName = Navegación
|
|
112
|
+
|
|
113
|
+
/// Parámetro de Power Query que define la moneda base y moneda default de visualización.
|
|
114
|
+
expression MonedaBase =
|
|
115
|
+
// Este parametro define la moneda base del modelo.
|
|
116
|
+
// Las funciones de conversion usan esta moneda como punto intermedio.
|
|
117
|
+
"USD" meta [IsParameterQuery=true, Type="Text", IsParameterQueryRequired=true]
|
|
118
|
+
lineageTag: 49a97699-aa32-43e9-a7c6-8f42299f36a1
|
|
119
|
+
queryGroup: Params
|
|
120
|
+
|
|
121
|
+
annotation PBI_ResultType = Exception
|
|
122
|
+
|
|
123
|
+
annotation PBI_NavigationStepName = Navegación
|
|
124
|
+
|
|
125
|
+
/// Parámetro de Power Query que define si los períodos dinámicos incluyen la fecha actual del modelo.
|
|
126
|
+
expression IncluirHoy =
|
|
127
|
+
// TRUE significa que los periodos terminan en hoy.
|
|
128
|
+
// FALSE significa que los periodos terminan en ayer.
|
|
129
|
+
true meta [IsParameterQuery=true, Type="Logical", IsParameterQueryRequired=true]
|
|
130
|
+
lineageTag: 5d8d5732-49e2-4d2a-a216-9ed53a5b6a10
|
|
131
|
+
queryGroup: Params
|
|
132
|
+
|
|
133
|
+
annotation PBI_ResultType = Exception
|
|
134
|
+
|
|
135
|
+
annotation PBI_NavigationStepName = Navegación
|
|
136
|
+
|
|
137
|
+
/// Query auxiliar M que define las vistas de calendario disponibles para slicers y cálculos.
|
|
138
|
+
expression 'Tipos de calendario' =
|
|
139
|
+
let
|
|
140
|
+
// Esta query crea una tabla manual pequeña.
|
|
141
|
+
// En Power Query, #table permite escribir filas directamente en el codigo.
|
|
142
|
+
Source = #table(
|
|
143
|
+
// Definimos solo las columnas que consume el template: vista y orden.
|
|
144
|
+
type table [#"Vista de calendario" = text, #"Orden vista de calendario" = Int64.Type],
|
|
145
|
+
{
|
|
146
|
+
// Fila 1: calendario gregoriano tradicional.
|
|
147
|
+
{"Gregoriano", 1},
|
|
148
|
+
// Fila 2: calendario fiscal semanal 4-4-5.
|
|
149
|
+
{"Semanal 4-4-5", 2}
|
|
150
|
+
}
|
|
151
|
+
)
|
|
152
|
+
in
|
|
153
|
+
// Devolvemos la tabla Source para que otras queries la puedan usar.
|
|
154
|
+
Source
|
|
155
|
+
lineageTag: a069c0cc-4f7d-4fca-b7c9-37487d05240f
|
|
156
|
+
queryGroup: Calendario
|
|
157
|
+
|
|
158
|
+
/// Query editable por el usuario que define los períodos visibles en el slicer de Aux Períodos.
|
|
159
|
+
expression 'Períodos predefinidos' =
|
|
160
|
+
let
|
|
161
|
+
// Esta tabla es el catalogo de periodos que vera el usuario.
|
|
162
|
+
// Si borras una fila, ese periodo desaparece cuando se refresca Aux Periodos.
|
|
163
|
+
Source = #table(
|
|
164
|
+
// Periodo es la etiqueta visible en español y Sort define el orden.
|
|
165
|
+
type table [#"Período" = text, Sort = Int64.Type],
|
|
166
|
+
{
|
|
167
|
+
// Periodos moviles cortos.
|
|
168
|
+
{"Hoy", 1},
|
|
169
|
+
{"Ayer", 2},
|
|
170
|
+
{"Últimos 7 días", 3},
|
|
171
|
+
{"Últimos 30 días", 4},
|
|
172
|
+
{"Últimos 90 días", 5},
|
|
173
|
+
{"Últimos 180 días", 6},
|
|
174
|
+
{"Últimos 365 días", 7},
|
|
175
|
+
// Periodos fijos del calendario.
|
|
176
|
+
{"Esta semana", 8},
|
|
177
|
+
{"Semana pasada", 9},
|
|
178
|
+
{"Este mes", 10},
|
|
179
|
+
{"Mes pasado", 11},
|
|
180
|
+
{"Este trimestre", 12},
|
|
181
|
+
{"Trimestre pasado", 13},
|
|
182
|
+
{"Este semestre", 14},
|
|
183
|
+
{"Semestre pasado", 15},
|
|
184
|
+
{"Este año", 16},
|
|
185
|
+
{"Año pasado", 17},
|
|
186
|
+
// Historico cubre todo el rango disponible.
|
|
187
|
+
{"Histórico", 18}
|
|
188
|
+
}
|
|
189
|
+
)
|
|
190
|
+
in
|
|
191
|
+
// Devolvemos el catalogo completo.
|
|
192
|
+
Source
|
|
193
|
+
lineageTag: 64c9497c-8a00-4ae3-ba2b-30f625ff6abd
|
|
194
|
+
queryGroup: Calendario
|
|
195
|
+
|
|
196
|
+
/// Query editable por el usuario que define las comparaciones visibles en Aux Comparaciones.
|
|
197
|
+
expression 'Comparaciones predefinidas' =
|
|
198
|
+
let
|
|
199
|
+
// Esta tabla define los textos de comparacion que aparecen en el slicer.
|
|
200
|
+
// La columna Sort debe coincidir con Periodos predefinidos para reutilizar el mismo orden.
|
|
201
|
+
Source = #table(
|
|
202
|
+
// El esquema queda solo en español: orden y etiqueta visible.
|
|
203
|
+
type table [Sort = Int64.Type, #"Período actual (vs. período previo)" = text],
|
|
204
|
+
{
|
|
205
|
+
// Comparaciones dia contra dia.
|
|
206
|
+
{1, "Hoy (vs. Ayer)"},
|
|
207
|
+
{2, "Ayer (vs. día anterior)"},
|
|
208
|
+
// Comparaciones moviles contra la misma cantidad de dias previos.
|
|
209
|
+
{3, "Últimos 7 días (vs. 7 días previos)"},
|
|
210
|
+
{4, "Últimos 30 días (vs. 30 días previos)"},
|
|
211
|
+
{5, "Últimos 90 días (vs. 90 días previos)"},
|
|
212
|
+
{6, "Últimos 180 días (vs. 180 días previos)"},
|
|
213
|
+
{7, "Últimos 365 días (vs. 365 días previos)"},
|
|
214
|
+
// Comparaciones de periodo actual contra periodo anterior equivalente.
|
|
215
|
+
{8, "Esta semana (vs. semana pasada)"},
|
|
216
|
+
{9, "Semana pasada (vs. semana anterior)"},
|
|
217
|
+
{10, "Este mes (vs. mes pasado)"},
|
|
218
|
+
{11, "Mes pasado (vs. mes anterior)"},
|
|
219
|
+
{12, "Este trimestre (vs. trimestre pasado)"},
|
|
220
|
+
{13, "Trimestre pasado (vs. trimestre anterior)"},
|
|
221
|
+
{14, "Este semestre (vs. semestre pasado)"},
|
|
222
|
+
{15, "Semestre pasado (vs. semestre anterior)"},
|
|
223
|
+
{16, "Este año (vs. año pasado)"},
|
|
224
|
+
{17, "Año pasado (vs. año anterior)"},
|
|
225
|
+
// Historico no necesita comparacion previa.
|
|
226
|
+
{18, "Histórico"}
|
|
227
|
+
}
|
|
228
|
+
)
|
|
229
|
+
in
|
|
230
|
+
// Devolvemos el catalogo de comparaciones.
|
|
231
|
+
Source
|
|
232
|
+
lineageTag: 85e0cb3c-0f2d-49e2-b73e-d1aaf7197a32
|
|
233
|
+
queryGroup: Calendario
|
|
234
|
+
|