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,82 @@
|
|
|
1
|
+
model Model
|
|
2
|
+
culture: es-AR
|
|
3
|
+
defaultPowerBIDataSourceVersion: powerBI_V3
|
|
4
|
+
discourageImplicitMeasures
|
|
5
|
+
sourceQueryCulture: es-AR
|
|
6
|
+
dataAccessOptions
|
|
7
|
+
legacyRedirects
|
|
8
|
+
returnErrorValuesAsNull
|
|
9
|
+
|
|
10
|
+
queryGroup Params
|
|
11
|
+
|
|
12
|
+
annotation PBI_QueryGroupOrder = 0
|
|
13
|
+
|
|
14
|
+
queryGroup 'Sample Dataset'
|
|
15
|
+
|
|
16
|
+
annotation PBI_QueryGroupOrder = 1
|
|
17
|
+
|
|
18
|
+
queryGroup Calendario
|
|
19
|
+
|
|
20
|
+
annotation PBI_QueryGroupOrder = 2
|
|
21
|
+
|
|
22
|
+
/// Sample dimension queries for the demo company.
|
|
23
|
+
queryGroup 'Sample Dataset\Dimensiones'
|
|
24
|
+
|
|
25
|
+
annotation PBI_QueryGroupOrder = 0
|
|
26
|
+
|
|
27
|
+
/// Sample fact queries for the demo company.
|
|
28
|
+
queryGroup 'Sample Dataset\Hechos'
|
|
29
|
+
|
|
30
|
+
annotation PBI_QueryGroupOrder = 1
|
|
31
|
+
|
|
32
|
+
annotation __PBI_TimeIntelligenceEnabled = 0
|
|
33
|
+
|
|
34
|
+
annotation PBI_ProTooling = ["MCP-PBIModeling","DevMode","DaxQueryView_Desktop"]
|
|
35
|
+
|
|
36
|
+
annotation PBI_QueryOrder = ["fxTemplateIsoWeek","fxTemplateCalendar445Year","fxTemplateCalendar445MonthNr","FechaInicio","ZonaHoraria","IncluirHoy","MonedaBase","Tipos de calendario","Períodos predefinidos","Comparaciones predefinidas","Calendario","Productos","Canales","Monedas","Clientes","Servicios","Proyectos","Equipos","Campañas","Tipo de cambio","Ventas","Oportunidades","Leads","Interacciones clientes","Entregas","Órdenes servicio","Movimientos financieros","Presupuesto","Devoluciones","Horas","Nómina","Ejecución proyectos","Tareas proyecto","_Aux Períodos","_Aux Comparaciones","_Aux Modelo configuración","_Aux Modo fechas","_Aux Rango fechas","_Aux Rango fechas modo"]
|
|
37
|
+
|
|
38
|
+
ref table '_Aux Vista de calendario'
|
|
39
|
+
ref table Métricas
|
|
40
|
+
ref table '_PC Eje X'
|
|
41
|
+
ref table '_GC Cálculo'
|
|
42
|
+
ref table '_GC Eje X'
|
|
43
|
+
ref table '_Aux Períodos'
|
|
44
|
+
ref table '_Aux Comparaciones'
|
|
45
|
+
ref table '_PC Dimensión'
|
|
46
|
+
ref table Calendario
|
|
47
|
+
ref table '_Aux Modelo configuración'
|
|
48
|
+
ref table Productos
|
|
49
|
+
ref table Canales
|
|
50
|
+
ref table Monedas
|
|
51
|
+
ref table Clientes
|
|
52
|
+
ref table 'Tipo de cambio'
|
|
53
|
+
ref table Ventas
|
|
54
|
+
ref table '_GC Métrica'
|
|
55
|
+
ref table '_GC Tipo cálculo'
|
|
56
|
+
ref table '_Aux Modo fechas'
|
|
57
|
+
ref table '_Aux Rango fechas'
|
|
58
|
+
ref table '_Aux Rango fechas modo'
|
|
59
|
+
ref table '_Aux Análisis dimensiones'
|
|
60
|
+
ref table '_Aux Overrides métrica-dimensión'
|
|
61
|
+
ref table '_Aux Compatibilidad métrica-dimensión'
|
|
62
|
+
ref table 'Equipos métricas'
|
|
63
|
+
ref table '_Aux Métrica-Equipo'
|
|
64
|
+
ref table Servicios
|
|
65
|
+
ref table Proyectos
|
|
66
|
+
ref table Equipos
|
|
67
|
+
ref table Campañas
|
|
68
|
+
ref table Oportunidades
|
|
69
|
+
ref table Leads
|
|
70
|
+
ref table 'Interacciones clientes'
|
|
71
|
+
ref table Entregas
|
|
72
|
+
ref table 'Órdenes servicio'
|
|
73
|
+
ref table 'Movimientos financieros'
|
|
74
|
+
ref table Presupuesto
|
|
75
|
+
ref table Devoluciones
|
|
76
|
+
ref table Horas
|
|
77
|
+
ref table Nómina
|
|
78
|
+
ref table 'Ejecución proyectos'
|
|
79
|
+
ref table 'Tareas proyecto'
|
|
80
|
+
|
|
81
|
+
ref cultureInfo es-AR
|
|
82
|
+
|
|
@@ -0,0 +1,271 @@
|
|
|
1
|
+
relationship Ventas_ProductoId_Productos_ProductoId
|
|
2
|
+
fromColumn: Ventas.ProductoId
|
|
3
|
+
toColumn: Productos.ProductoId
|
|
4
|
+
|
|
5
|
+
relationship Ventas_ClienteId_Clientes_ClienteId
|
|
6
|
+
fromColumn: Ventas.ClienteId
|
|
7
|
+
toColumn: Clientes.ClienteId
|
|
8
|
+
|
|
9
|
+
relationship Ventas_CanalId_Canales_CanalId
|
|
10
|
+
fromColumn: Ventas.CanalId
|
|
11
|
+
toColumn: Canales.CanalId
|
|
12
|
+
|
|
13
|
+
relationship Ventas_Fecha_Calendario_Fecha
|
|
14
|
+
fromColumn: Ventas.Fecha
|
|
15
|
+
toColumn: Calendario.Fecha
|
|
16
|
+
|
|
17
|
+
relationship '_PC Eje X_Tipo de calendario__Aux Vista de calendario_Vista de calendario'
|
|
18
|
+
crossFilteringBehavior: bothDirections
|
|
19
|
+
fromColumn: '_PC Eje X'.'Tipo de calendario'
|
|
20
|
+
toColumn: '_Aux Vista de calendario'.'Vista de calendario'
|
|
21
|
+
|
|
22
|
+
relationship '_Aux Compatibilidad métrica-dimensión_Métrica_Métricas_Métrica'
|
|
23
|
+
fromColumn: '_Aux Compatibilidad métrica-dimensión'.Métrica
|
|
24
|
+
toColumn: Métricas.Métrica
|
|
25
|
+
|
|
26
|
+
relationship '_Aux Compatibilidad métrica-dimensión_DimensionKey__PC Dimensión_DimensionKey'
|
|
27
|
+
crossFilteringBehavior: bothDirections
|
|
28
|
+
fromColumn: '_Aux Compatibilidad métrica-dimensión'.DimensionKey
|
|
29
|
+
toColumn: '_PC Dimensión'.DimensionKey
|
|
30
|
+
|
|
31
|
+
relationship '_Aux Métrica-Equipo_Equipo_Equipos métricas_Equipo'
|
|
32
|
+
fromColumn: '_Aux Métrica-Equipo'.Equipo
|
|
33
|
+
toColumn: 'Equipos métricas'.Equipo
|
|
34
|
+
|
|
35
|
+
relationship '_Aux Métrica-Equipo_Métrica_Métricas_Métrica'
|
|
36
|
+
crossFilteringBehavior: bothDirections
|
|
37
|
+
fromColumn: '_Aux Métrica-Equipo'.Métrica
|
|
38
|
+
toColumn: Métricas.Métrica
|
|
39
|
+
|
|
40
|
+
relationship Oportunidades_Fecha_Calendario_Fecha
|
|
41
|
+
fromColumn: Oportunidades.Fecha
|
|
42
|
+
toColumn: Calendario.Fecha
|
|
43
|
+
|
|
44
|
+
relationship Oportunidades_ClienteId_Clientes_ClienteId
|
|
45
|
+
fromColumn: Oportunidades.ClienteId
|
|
46
|
+
toColumn: Clientes.ClienteId
|
|
47
|
+
|
|
48
|
+
relationship Oportunidades_CanalId_Canales_CanalId
|
|
49
|
+
fromColumn: Oportunidades.CanalId
|
|
50
|
+
toColumn: Canales.CanalId
|
|
51
|
+
|
|
52
|
+
relationship Oportunidades_ProductoId_Productos_ProductoId
|
|
53
|
+
fromColumn: Oportunidades.ProductoId
|
|
54
|
+
toColumn: Productos.ProductoId
|
|
55
|
+
|
|
56
|
+
relationship Oportunidades_ServicioId_Servicios_ServicioId
|
|
57
|
+
fromColumn: Oportunidades.ServicioId
|
|
58
|
+
toColumn: Servicios.ServicioId
|
|
59
|
+
|
|
60
|
+
relationship Leads_Fecha_Calendario_Fecha
|
|
61
|
+
fromColumn: Leads.Fecha
|
|
62
|
+
toColumn: Calendario.Fecha
|
|
63
|
+
|
|
64
|
+
relationship Leads_CampañaId_Campañas_CampañaId
|
|
65
|
+
fromColumn: Leads.CampañaId
|
|
66
|
+
toColumn: Campañas.CampañaId
|
|
67
|
+
|
|
68
|
+
relationship Leads_CanalId_Canales_CanalId
|
|
69
|
+
fromColumn: Leads.CanalId
|
|
70
|
+
toColumn: Canales.CanalId
|
|
71
|
+
|
|
72
|
+
relationship Leads_ClienteId_Clientes_ClienteId
|
|
73
|
+
fromColumn: Leads.ClienteId
|
|
74
|
+
toColumn: Clientes.ClienteId
|
|
75
|
+
|
|
76
|
+
relationship 'Interacciones clientes_Fecha_Calendario_Fecha'
|
|
77
|
+
fromColumn: 'Interacciones clientes'.Fecha
|
|
78
|
+
toColumn: Calendario.Fecha
|
|
79
|
+
|
|
80
|
+
relationship 'Interacciones clientes_ClienteId_Clientes_ClienteId'
|
|
81
|
+
fromColumn: 'Interacciones clientes'.ClienteId
|
|
82
|
+
toColumn: Clientes.ClienteId
|
|
83
|
+
|
|
84
|
+
relationship 'Interacciones clientes_CanalId_Canales_CanalId'
|
|
85
|
+
fromColumn: 'Interacciones clientes'.CanalId
|
|
86
|
+
toColumn: Canales.CanalId
|
|
87
|
+
|
|
88
|
+
relationship 'Interacciones clientes_ProductoId_Productos_ProductoId'
|
|
89
|
+
fromColumn: 'Interacciones clientes'.ProductoId
|
|
90
|
+
toColumn: Productos.ProductoId
|
|
91
|
+
|
|
92
|
+
relationship 'Interacciones clientes_ServicioId_Servicios_ServicioId'
|
|
93
|
+
fromColumn: 'Interacciones clientes'.ServicioId
|
|
94
|
+
toColumn: Servicios.ServicioId
|
|
95
|
+
|
|
96
|
+
relationship Entregas_Fecha_Calendario_Fecha
|
|
97
|
+
fromColumn: Entregas.Fecha
|
|
98
|
+
toColumn: Calendario.Fecha
|
|
99
|
+
|
|
100
|
+
relationship Entregas_ClienteId_Clientes_ClienteId
|
|
101
|
+
fromColumn: Entregas.ClienteId
|
|
102
|
+
toColumn: Clientes.ClienteId
|
|
103
|
+
|
|
104
|
+
relationship Entregas_CanalId_Canales_CanalId
|
|
105
|
+
fromColumn: Entregas.CanalId
|
|
106
|
+
toColumn: Canales.CanalId
|
|
107
|
+
|
|
108
|
+
relationship Entregas_ProductoId_Productos_ProductoId
|
|
109
|
+
fromColumn: Entregas.ProductoId
|
|
110
|
+
toColumn: Productos.ProductoId
|
|
111
|
+
|
|
112
|
+
relationship Entregas_ServicioId_Servicios_ServicioId
|
|
113
|
+
fromColumn: Entregas.ServicioId
|
|
114
|
+
toColumn: Servicios.ServicioId
|
|
115
|
+
|
|
116
|
+
relationship 'Órdenes servicio_Fecha_Calendario_Fecha'
|
|
117
|
+
fromColumn: 'Órdenes servicio'.Fecha
|
|
118
|
+
toColumn: Calendario.Fecha
|
|
119
|
+
|
|
120
|
+
relationship 'Órdenes servicio_ClienteId_Clientes_ClienteId'
|
|
121
|
+
fromColumn: 'Órdenes servicio'.ClienteId
|
|
122
|
+
toColumn: Clientes.ClienteId
|
|
123
|
+
|
|
124
|
+
relationship 'Órdenes servicio_ProductoId_Productos_ProductoId'
|
|
125
|
+
fromColumn: 'Órdenes servicio'.ProductoId
|
|
126
|
+
toColumn: Productos.ProductoId
|
|
127
|
+
|
|
128
|
+
relationship 'Órdenes servicio_ServicioId_Servicios_ServicioId'
|
|
129
|
+
fromColumn: 'Órdenes servicio'.ServicioId
|
|
130
|
+
toColumn: Servicios.ServicioId
|
|
131
|
+
|
|
132
|
+
relationship 'Órdenes servicio_EquipoId_Equipos_EquipoId'
|
|
133
|
+
fromColumn: 'Órdenes servicio'.EquipoId
|
|
134
|
+
toColumn: Equipos.EquipoId
|
|
135
|
+
|
|
136
|
+
relationship 'Movimientos financieros_Fecha_Calendario_Fecha'
|
|
137
|
+
fromColumn: 'Movimientos financieros'.Fecha
|
|
138
|
+
toColumn: Calendario.Fecha
|
|
139
|
+
|
|
140
|
+
relationship 'Movimientos financieros_ClienteId_Clientes_ClienteId'
|
|
141
|
+
fromColumn: 'Movimientos financieros'.ClienteId
|
|
142
|
+
toColumn: Clientes.ClienteId
|
|
143
|
+
|
|
144
|
+
relationship 'Movimientos financieros_CanalId_Canales_CanalId'
|
|
145
|
+
fromColumn: 'Movimientos financieros'.CanalId
|
|
146
|
+
toColumn: Canales.CanalId
|
|
147
|
+
|
|
148
|
+
relationship 'Movimientos financieros_ProductoId_Productos_ProductoId'
|
|
149
|
+
fromColumn: 'Movimientos financieros'.ProductoId
|
|
150
|
+
toColumn: Productos.ProductoId
|
|
151
|
+
|
|
152
|
+
relationship 'Movimientos financieros_ServicioId_Servicios_ServicioId'
|
|
153
|
+
fromColumn: 'Movimientos financieros'.ServicioId
|
|
154
|
+
toColumn: Servicios.ServicioId
|
|
155
|
+
|
|
156
|
+
relationship 'Movimientos financieros_ProyectoId_Proyectos_ProyectoId'
|
|
157
|
+
fromColumn: 'Movimientos financieros'.ProyectoId
|
|
158
|
+
toColumn: Proyectos.ProyectoId
|
|
159
|
+
|
|
160
|
+
relationship 'Movimientos financieros_EquipoId_Equipos_EquipoId'
|
|
161
|
+
fromColumn: 'Movimientos financieros'.EquipoId
|
|
162
|
+
toColumn: Equipos.EquipoId
|
|
163
|
+
|
|
164
|
+
relationship Presupuesto_Fecha_Calendario_Fecha
|
|
165
|
+
fromColumn: Presupuesto.Fecha
|
|
166
|
+
toColumn: Calendario.Fecha
|
|
167
|
+
|
|
168
|
+
relationship Presupuesto_ClienteId_Clientes_ClienteId
|
|
169
|
+
fromColumn: Presupuesto.ClienteId
|
|
170
|
+
toColumn: Clientes.ClienteId
|
|
171
|
+
|
|
172
|
+
relationship Presupuesto_CanalId_Canales_CanalId
|
|
173
|
+
fromColumn: Presupuesto.CanalId
|
|
174
|
+
toColumn: Canales.CanalId
|
|
175
|
+
|
|
176
|
+
relationship Presupuesto_ProductoId_Productos_ProductoId
|
|
177
|
+
fromColumn: Presupuesto.ProductoId
|
|
178
|
+
toColumn: Productos.ProductoId
|
|
179
|
+
|
|
180
|
+
relationship Presupuesto_ServicioId_Servicios_ServicioId
|
|
181
|
+
fromColumn: Presupuesto.ServicioId
|
|
182
|
+
toColumn: Servicios.ServicioId
|
|
183
|
+
|
|
184
|
+
relationship Presupuesto_ProyectoId_Proyectos_ProyectoId
|
|
185
|
+
fromColumn: Presupuesto.ProyectoId
|
|
186
|
+
toColumn: Proyectos.ProyectoId
|
|
187
|
+
|
|
188
|
+
relationship Presupuesto_EquipoId_Equipos_EquipoId
|
|
189
|
+
fromColumn: Presupuesto.EquipoId
|
|
190
|
+
toColumn: Equipos.EquipoId
|
|
191
|
+
|
|
192
|
+
relationship Devoluciones_Fecha_Calendario_Fecha
|
|
193
|
+
fromColumn: Devoluciones.Fecha
|
|
194
|
+
toColumn: Calendario.Fecha
|
|
195
|
+
|
|
196
|
+
relationship Devoluciones_ClienteId_Clientes_ClienteId
|
|
197
|
+
fromColumn: Devoluciones.ClienteId
|
|
198
|
+
toColumn: Clientes.ClienteId
|
|
199
|
+
|
|
200
|
+
relationship Devoluciones_CanalId_Canales_CanalId
|
|
201
|
+
fromColumn: Devoluciones.CanalId
|
|
202
|
+
toColumn: Canales.CanalId
|
|
203
|
+
|
|
204
|
+
relationship Devoluciones_ProductoId_Productos_ProductoId
|
|
205
|
+
fromColumn: Devoluciones.ProductoId
|
|
206
|
+
toColumn: Productos.ProductoId
|
|
207
|
+
|
|
208
|
+
relationship Horas_Fecha_Calendario_Fecha
|
|
209
|
+
fromColumn: Horas.Fecha
|
|
210
|
+
toColumn: Calendario.Fecha
|
|
211
|
+
|
|
212
|
+
relationship Horas_EquipoId_Equipos_EquipoId
|
|
213
|
+
fromColumn: Horas.EquipoId
|
|
214
|
+
toColumn: Equipos.EquipoId
|
|
215
|
+
|
|
216
|
+
relationship Horas_ProyectoId_Proyectos_ProyectoId
|
|
217
|
+
fromColumn: Horas.ProyectoId
|
|
218
|
+
toColumn: Proyectos.ProyectoId
|
|
219
|
+
|
|
220
|
+
relationship Horas_ServicioId_Servicios_ServicioId
|
|
221
|
+
fromColumn: Horas.ServicioId
|
|
222
|
+
toColumn: Servicios.ServicioId
|
|
223
|
+
|
|
224
|
+
relationship Nómina_Fecha_Calendario_Fecha
|
|
225
|
+
fromColumn: Nómina.Fecha
|
|
226
|
+
toColumn: Calendario.Fecha
|
|
227
|
+
|
|
228
|
+
relationship Nómina_EquipoId_Equipos_EquipoId
|
|
229
|
+
fromColumn: Nómina.EquipoId
|
|
230
|
+
toColumn: Equipos.EquipoId
|
|
231
|
+
|
|
232
|
+
relationship Nómina_ProyectoId_Proyectos_ProyectoId
|
|
233
|
+
fromColumn: Nómina.ProyectoId
|
|
234
|
+
toColumn: Proyectos.ProyectoId
|
|
235
|
+
|
|
236
|
+
relationship Nómina_ServicioId_Servicios_ServicioId
|
|
237
|
+
fromColumn: Nómina.ServicioId
|
|
238
|
+
toColumn: Servicios.ServicioId
|
|
239
|
+
|
|
240
|
+
relationship 'Ejecución proyectos_Fecha_Calendario_Fecha'
|
|
241
|
+
fromColumn: 'Ejecución proyectos'.Fecha
|
|
242
|
+
toColumn: Calendario.Fecha
|
|
243
|
+
|
|
244
|
+
relationship 'Ejecución proyectos_ProyectoId_Proyectos_ProyectoId'
|
|
245
|
+
fromColumn: 'Ejecución proyectos'.ProyectoId
|
|
246
|
+
toColumn: Proyectos.ProyectoId
|
|
247
|
+
|
|
248
|
+
relationship 'Ejecución proyectos_ClienteId_Clientes_ClienteId'
|
|
249
|
+
fromColumn: 'Ejecución proyectos'.ClienteId
|
|
250
|
+
toColumn: Clientes.ClienteId
|
|
251
|
+
|
|
252
|
+
relationship 'Ejecución proyectos_ServicioId_Servicios_ServicioId'
|
|
253
|
+
fromColumn: 'Ejecución proyectos'.ServicioId
|
|
254
|
+
toColumn: Servicios.ServicioId
|
|
255
|
+
|
|
256
|
+
relationship 'Ejecución proyectos_EquipoId_Equipos_EquipoId'
|
|
257
|
+
fromColumn: 'Ejecución proyectos'.EquipoId
|
|
258
|
+
toColumn: Equipos.EquipoId
|
|
259
|
+
|
|
260
|
+
relationship 'Tareas proyecto_Fecha_Calendario_Fecha'
|
|
261
|
+
fromColumn: 'Tareas proyecto'.Fecha
|
|
262
|
+
toColumn: Calendario.Fecha
|
|
263
|
+
|
|
264
|
+
relationship 'Tareas proyecto_ProyectoId_Proyectos_ProyectoId'
|
|
265
|
+
fromColumn: 'Tareas proyecto'.ProyectoId
|
|
266
|
+
toColumn: Proyectos.ProyectoId
|
|
267
|
+
|
|
268
|
+
relationship 'Tareas proyecto_EquipoId_Equipos_EquipoId'
|
|
269
|
+
fromColumn: 'Tareas proyecto'.EquipoId
|
|
270
|
+
toColumn: Equipos.EquipoId
|
|
271
|
+
|
|
@@ -0,0 +1,200 @@
|
|
|
1
|
+
/// Dimensión de fechas generada en Power Query. Usa el parámetro FechaInicio y mantiene el contrato del calendario original del template.
|
|
2
|
+
table Calendario
|
|
3
|
+
lineageTag: fc2b01ae-35f8-43a7-9daf-840d8d051fc3
|
|
4
|
+
dataCategory: Time
|
|
5
|
+
|
|
6
|
+
column Fecha
|
|
7
|
+
dataType: dateTime
|
|
8
|
+
isUnique
|
|
9
|
+
isKey
|
|
10
|
+
formatString: ddd d/M
|
|
11
|
+
lineageTag: 1e0ef155-a40c-4313-86f8-b20f516f7e24
|
|
12
|
+
summarizeBy: none
|
|
13
|
+
sourceColumn: Fecha
|
|
14
|
+
|
|
15
|
+
annotation UnderlyingDateTimeDataType = Date
|
|
16
|
+
|
|
17
|
+
column Año
|
|
18
|
+
dataType: int64
|
|
19
|
+
formatString: 0
|
|
20
|
+
lineageTag: 62d06d49-ffb4-4de2-becd-8506d910959b
|
|
21
|
+
summarizeBy: none
|
|
22
|
+
sourceColumn: Año
|
|
23
|
+
|
|
24
|
+
column 'Número de mes'
|
|
25
|
+
dataType: int64
|
|
26
|
+
isHidden
|
|
27
|
+
formatString: 0
|
|
28
|
+
lineageTag: b3fc12e9-9a3f-43a3-a07e-ff07772d83f5
|
|
29
|
+
summarizeBy: none
|
|
30
|
+
sourceColumn: Número de mes
|
|
31
|
+
|
|
32
|
+
column Mes
|
|
33
|
+
dataType: string
|
|
34
|
+
lineageTag: 2302ab09-e96d-41ee-9532-2735fb84f65e
|
|
35
|
+
summarizeBy: none
|
|
36
|
+
sourceColumn: Mes
|
|
37
|
+
sortByColumn: 'Orden año mes'
|
|
38
|
+
|
|
39
|
+
column 'Año mes'
|
|
40
|
+
dataType: string
|
|
41
|
+
lineageTag: ae89004f-54bf-4202-b16c-b4f91cc165f5
|
|
42
|
+
summarizeBy: none
|
|
43
|
+
sourceColumn: Año mes
|
|
44
|
+
sortByColumn: 'Orden año mes'
|
|
45
|
+
|
|
46
|
+
column 'Orden año mes'
|
|
47
|
+
dataType: int64
|
|
48
|
+
isHidden
|
|
49
|
+
formatString: 0
|
|
50
|
+
lineageTag: fc2e5c02-4dc6-4b91-acb3-1a096c35bca1
|
|
51
|
+
summarizeBy: none
|
|
52
|
+
sourceColumn: Orden año mes
|
|
53
|
+
|
|
54
|
+
column Trimestre
|
|
55
|
+
dataType: string
|
|
56
|
+
lineageTag: 81037ded-e661-4e9c-b222-532ceff66df9
|
|
57
|
+
summarizeBy: none
|
|
58
|
+
sourceColumn: Trimestre
|
|
59
|
+
sortByColumn: 'Trimestre Orden'
|
|
60
|
+
|
|
61
|
+
column Semana
|
|
62
|
+
dataType: string
|
|
63
|
+
lineageTag: e127647f-e6dc-4491-bf3b-d39680cef7d7
|
|
64
|
+
summarizeBy: none
|
|
65
|
+
sourceColumn: Semana
|
|
66
|
+
sortByColumn: 'Semana Orden'
|
|
67
|
+
|
|
68
|
+
column 'Trimestre Orden'
|
|
69
|
+
dataType: int64
|
|
70
|
+
isHidden
|
|
71
|
+
formatString: 0
|
|
72
|
+
lineageTag: 76c5b649-a987-4058-b491-1ce85317f2b5
|
|
73
|
+
sourceColumn: Trimestre Orden
|
|
74
|
+
|
|
75
|
+
column 'Semana Orden'
|
|
76
|
+
dataType: int64
|
|
77
|
+
isHidden
|
|
78
|
+
formatString: 0
|
|
79
|
+
lineageTag: d92f289b-1949-48c3-979c-d5b950b4c4ca
|
|
80
|
+
sourceColumn: Semana Orden
|
|
81
|
+
|
|
82
|
+
column Fiscal445Year
|
|
83
|
+
dataType: int64
|
|
84
|
+
isHidden
|
|
85
|
+
lineageTag: eb46cab4-413f-4000-a55d-f84fc7f5da22
|
|
86
|
+
summarizeBy: none
|
|
87
|
+
sourceColumn: Fiscal445Year
|
|
88
|
+
|
|
89
|
+
column Fiscal445MonthNr
|
|
90
|
+
dataType: int64
|
|
91
|
+
isHidden
|
|
92
|
+
lineageTag: 3467957a-082e-4b33-af38-53379e25ce88
|
|
93
|
+
summarizeBy: none
|
|
94
|
+
sourceColumn: Fiscal445MonthNr
|
|
95
|
+
|
|
96
|
+
column Fiscal445QuarterNr
|
|
97
|
+
dataType: int64
|
|
98
|
+
isHidden
|
|
99
|
+
lineageTag: b2d6bdd1-7bd0-4fbc-813e-5d22de24417c
|
|
100
|
+
summarizeBy: none
|
|
101
|
+
sourceColumn: Fiscal445QuarterNr
|
|
102
|
+
|
|
103
|
+
column Fiscal445SemesterNr
|
|
104
|
+
dataType: int64
|
|
105
|
+
isHidden
|
|
106
|
+
lineageTag: bfb0e639-0c4a-4a15-86df-b8116c227bff
|
|
107
|
+
summarizeBy: none
|
|
108
|
+
sourceColumn: Fiscal445SemesterNr
|
|
109
|
+
|
|
110
|
+
column Fiscal445MonthKey
|
|
111
|
+
dataType: int64
|
|
112
|
+
isHidden
|
|
113
|
+
lineageTag: e8f647cd-3033-48c9-a33d-5ccc52b244e6
|
|
114
|
+
summarizeBy: none
|
|
115
|
+
sourceColumn: Fiscal445MonthKey
|
|
116
|
+
|
|
117
|
+
column Fiscal445QuarterKey
|
|
118
|
+
dataType: int64
|
|
119
|
+
isHidden
|
|
120
|
+
lineageTag: c6d09169-b938-4eb6-a30a-7600fa043f55
|
|
121
|
+
summarizeBy: none
|
|
122
|
+
sourceColumn: Fiscal445QuarterKey
|
|
123
|
+
|
|
124
|
+
column Fiscal445SemesterKey
|
|
125
|
+
dataType: int64
|
|
126
|
+
isHidden
|
|
127
|
+
lineageTag: ddb27e62-672c-4cae-8c2b-c7fc38608dcf
|
|
128
|
+
summarizeBy: none
|
|
129
|
+
sourceColumn: Fiscal445SemesterKey
|
|
130
|
+
|
|
131
|
+
/// Drill-down estándar de Calendario: Año -> Trimestre -> Año mes -> Semana -> Fecha. Útil para visuales que permiten expand/collapse temporal.
|
|
132
|
+
hierarchy 'Jerarquía de fechas'
|
|
133
|
+
lineageTag: 1b532d19-e2dc-4b39-9ec0-7fec1f5e6c8b
|
|
134
|
+
|
|
135
|
+
level Año
|
|
136
|
+
lineageTag: 74148cbb-3e80-4d23-bba8-b003b8ecae99
|
|
137
|
+
column: Año
|
|
138
|
+
|
|
139
|
+
level Trimestre
|
|
140
|
+
lineageTag: db5bc9a3-45f2-4a8f-9a63-2c93a1508470
|
|
141
|
+
column: Trimestre
|
|
142
|
+
|
|
143
|
+
level 'Año mes'
|
|
144
|
+
lineageTag: d37f6098-923f-48bf-aea1-4e7b9f00761c
|
|
145
|
+
column: 'Año mes'
|
|
146
|
+
|
|
147
|
+
level Semana
|
|
148
|
+
lineageTag: a6d53cdc-03d4-4237-b8a9-38e6bfed27d1
|
|
149
|
+
column: Semana
|
|
150
|
+
|
|
151
|
+
level Fecha
|
|
152
|
+
lineageTag: 069c9ce9-c661-432c-8793-18b3ebfbd7fa
|
|
153
|
+
column: Fecha
|
|
154
|
+
|
|
155
|
+
partition 'Calendario M' = m
|
|
156
|
+
mode: import
|
|
157
|
+
queryGroup: Calendario
|
|
158
|
+
source =
|
|
159
|
+
let
|
|
160
|
+
// Lee el parametro de zona horaria para calcular Today rolling.
|
|
161
|
+
OffsetHours = Number.From(ZonaHoraria),
|
|
162
|
+
Today = Date.From(DateTimeZone.SwitchZone(DateTimeZone.UtcNow(), OffsetHours)),
|
|
163
|
+
StartDate = Date.From(FechaInicio),
|
|
164
|
+
// Calendario rolling: arranca en FechaInicio y termina en Today (con timezone).
|
|
165
|
+
DateCount = Duration.Days(Today - StartDate) + 1,
|
|
166
|
+
Dates = List.Dates(StartDate, DateCount, #duration(1, 0, 0, 0)),
|
|
167
|
+
Source = Table.FromList(Dates, Splitter.SplitByNothing(), {"Fecha"}),
|
|
168
|
+
TypedDate = Table.TransformColumnTypes(Source, {{"Fecha", type date}}),
|
|
169
|
+
// Etiquetas en espanol para meses abreviados.
|
|
170
|
+
MonthAbbr = {"Ene", "Feb", "Mar", "Abr", "May", "Jun", "Jul", "Ago", "Sep", "Oct", "Nov", "Dic"},
|
|
171
|
+
// Columnas gregorianas visibles (consumidas por DAX, slicers y ejes).
|
|
172
|
+
AddYear = Table.AddColumn(TypedDate, "Año", each Date.Year([Fecha]), Int64.Type),
|
|
173
|
+
AddMonthNumber = Table.AddColumn(AddYear, "Número de mes", each Date.Month([Fecha]), Int64.Type),
|
|
174
|
+
AddMonth = Table.AddColumn(AddMonthNumber, "Mes", each MonthAbbr{[Número de mes] - 1} & " '" & Text.End(Text.From([Año]), 2), type text),
|
|
175
|
+
AddYearMonth = Table.AddColumn(AddMonth, "Año mes", each Text.From([Año]) & "-" & Text.PadStart(Text.From([Número de mes]), 2, "0"), type text),
|
|
176
|
+
AddYearMonthOrder = Table.AddColumn(AddYearMonth, "Orden año mes", each [Año] * 100 + [Número de mes], Int64.Type),
|
|
177
|
+
AddQuarterNumber = Table.AddColumn(AddYearMonthOrder, "Quarter Nr", each Date.QuarterOfYear([Fecha]), Int64.Type),
|
|
178
|
+
AddQuarter = Table.AddColumn(AddQuarterNumber, "Trimestre", each "Q" & Text.From([Quarter Nr]) & " '" & Text.End(Text.From([Año]), 2), type text),
|
|
179
|
+
AddQuarterOrder = Table.AddColumn(AddQuarter, "Trimestre Orden", each [Año] * 10 + [Quarter Nr], Int64.Type),
|
|
180
|
+
// La semana se etiqueta por su fecha de inicio para leerla facil.
|
|
181
|
+
AddWeek = Table.AddColumn(AddQuarterOrder, "Semana", each let weekStart = Date.StartOfWeek([Fecha], Day.Monday) in "S" & Text.PadStart(Text.From(Date.WeekOfYear([Fecha], Day.Monday)), 2, "0") & " (" & Text.From(Date.Day(weekStart)) & "/" & Text.From(Date.Month(weekStart)) & ")", type text),
|
|
182
|
+
AddWeekOrder = Table.AddColumn(AddWeek, "Semana Orden", each let weekStart = Date.StartOfWeek([Fecha], Day.Monday) in Date.Year(weekStart) * 100 + Date.WeekOfYear(weekStart, Day.Monday), Int64.Type),
|
|
183
|
+
// Columnas fiscales 4-4-5 (ocultas, las consume Aux Periodos para construir presets fiscales).
|
|
184
|
+
AddFiscalYear = Table.AddColumn(AddWeekOrder, "Fiscal445Year", each fxTemplateCalendar445Year([Fecha]), Int64.Type),
|
|
185
|
+
AddFiscalMonthNr = Table.AddColumn(AddFiscalYear, "Fiscal445MonthNr", each fxTemplateCalendar445MonthNr([Fecha]), Int64.Type),
|
|
186
|
+
AddFiscalQuarterNr = Table.AddColumn(AddFiscalMonthNr, "Fiscal445QuarterNr", each Number.IntegerDivide([Fiscal445MonthNr] - 1, 3) + 1, Int64.Type),
|
|
187
|
+
AddFiscalSemesterNr = Table.AddColumn(AddFiscalQuarterNr, "Fiscal445SemesterNr", each if [Fiscal445MonthNr] <= 6 then 1 else 2, Int64.Type),
|
|
188
|
+
AddFiscalMonthKey = Table.AddColumn(AddFiscalSemesterNr, "Fiscal445MonthKey", each [Fiscal445Year] * 100 + [Fiscal445MonthNr], Int64.Type),
|
|
189
|
+
AddFiscalQuarterKey = Table.AddColumn(AddFiscalMonthKey, "Fiscal445QuarterKey", each [Fiscal445Year] * 10 + [Fiscal445QuarterNr], Int64.Type),
|
|
190
|
+
AddFiscalSemesterKey = Table.AddColumn(AddFiscalQuarterKey, "Fiscal445SemesterKey", each [Fiscal445Year] * 10 + [Fiscal445SemesterNr], Int64.Type),
|
|
191
|
+
// Quita columnas auxiliares que no deben quedar visibles.
|
|
192
|
+
RemovedHelpers = Table.RemoveColumns(AddFiscalSemesterKey, {"Quarter Nr"}),
|
|
193
|
+
Reordered = Table.ReorderColumns(RemovedHelpers, {"Fecha", "Año", "Número de mes", "Mes", "Año mes", "Orden año mes", "Trimestre", "Semana", "Trimestre Orden", "Semana Orden", "Fiscal445Year", "Fiscal445MonthNr", "Fiscal445QuarterNr", "Fiscal445SemesterNr", "Fiscal445MonthKey", "Fiscal445QuarterKey", "Fiscal445SemesterKey"})
|
|
194
|
+
in
|
|
195
|
+
Reordered
|
|
196
|
+
|
|
197
|
+
annotation PBI_NavigationStepName = Navegación
|
|
198
|
+
|
|
199
|
+
annotation PBI_ResultType = Table
|
|
200
|
+
|
package/templates/base-template/base-template.SemanticModel/definition/tables/Campa/303/261as.tmdl
ADDED
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
/// Dimensión demo de campañas de marketing para analizar leads, inversión y ventas atribuidas.
|
|
2
|
+
table Campañas
|
|
3
|
+
lineageTag: e79c4180-58f2-439b-8b6d-57b1bd273fdf
|
|
4
|
+
|
|
5
|
+
column CampañaId
|
|
6
|
+
dataType: string
|
|
7
|
+
isHidden
|
|
8
|
+
lineageTag: a0bf1a37-76ea-4fee-a5e8-df4fe10fd4b6
|
|
9
|
+
sourceColumn: CampañaId
|
|
10
|
+
|
|
11
|
+
column Campaña
|
|
12
|
+
dataType: string
|
|
13
|
+
lineageTag: f33c3b88-8645-4336-af59-a4e649d5f918
|
|
14
|
+
sourceColumn: Campaña
|
|
15
|
+
|
|
16
|
+
column 'Canal marketing'
|
|
17
|
+
dataType: string
|
|
18
|
+
lineageTag: 27739b47-4936-4e73-b045-d56b430571bb
|
|
19
|
+
sourceColumn: Canal marketing
|
|
20
|
+
|
|
21
|
+
column 'Objetivo campaña'
|
|
22
|
+
dataType: string
|
|
23
|
+
lineageTag: 6f25f99c-4147-45a3-ac6d-3ac979fa7d0e
|
|
24
|
+
sourceColumn: Objetivo campaña
|
|
25
|
+
|
|
26
|
+
column Data
|
|
27
|
+
dataType: string
|
|
28
|
+
isHidden
|
|
29
|
+
lineageTag: 95a55e98-fe5e-4dcc-9d78-52c992455471
|
|
30
|
+
sourceColumn: Data
|
|
31
|
+
|
|
32
|
+
partition Campañas = m
|
|
33
|
+
mode: import
|
|
34
|
+
queryGroup: 'Sample Dataset\Dimensiones'
|
|
35
|
+
source =
|
|
36
|
+
let
|
|
37
|
+
EntityCode = (entity as text, n as number) as text =>
|
|
38
|
+
let
|
|
39
|
+
CleanNumber = Number.From(n),
|
|
40
|
+
ToLetters = (value as number) as text =>
|
|
41
|
+
let
|
|
42
|
+
Current = Number.IntegerDivide(value, 1),
|
|
43
|
+
Prefix = if Current < 26 then "" else @ToLetters(Number.IntegerDivide(Current, 26) - 1),
|
|
44
|
+
Suffix = Character.FromNumber(65 + Number.Mod(Current, 26))
|
|
45
|
+
in
|
|
46
|
+
Prefix & Suffix,
|
|
47
|
+
BlockCode = ToLetters(Number.IntegerDivide(CleanNumber - 1, 100)),
|
|
48
|
+
NumberPart = Text.PadStart(Text.From(Number.Mod(CleanNumber - 1, 100) + 1, "en-US"), 2, "0"),
|
|
49
|
+
CheckLetter = Character.FromNumber(65 + Number.Mod(CleanNumber * 7 + Text.Length(entity) + 3, 26))
|
|
50
|
+
in
|
|
51
|
+
entity & BlockCode & NumberPart & CheckLetter,
|
|
52
|
+
Source = #table(
|
|
53
|
+
type table [CampañaId = Int64.Type, Campaña = text, #"Canal marketing" = text, #"Objetivo campaña" = text],
|
|
54
|
+
{
|
|
55
|
+
{1, "Lanzamiento Analytics", "LinkedIn", "Demanda"},
|
|
56
|
+
{2, "Webinars Ejecutivos", "Webinar", "Educación"},
|
|
57
|
+
{3, "Partner ERP", "Partners", "Pipeline"},
|
|
58
|
+
{4, "Search BI", "Search", "Captura"},
|
|
59
|
+
{5, "Customer Stories", "Contenido", "Confianza"},
|
|
60
|
+
{6, "Data Governance Week", "Email", "Demanda"},
|
|
61
|
+
{7, "Servicios 360", "LinkedIn", "Pipeline"},
|
|
62
|
+
{8, "Productividad Comercial", "Search", "Captura"}
|
|
63
|
+
}
|
|
64
|
+
),
|
|
65
|
+
#"Tipo cambiado" = Table.TransformColumnTypes(Source, {{"CampañaId", Int64.Type}, {"Campaña", type text}, {"Canal marketing", type text}, {"Objetivo campaña", type text}}, "es-ES"),
|
|
66
|
+
AddData = Table.AddColumn(#"Tipo cambiado", "Data", each "Demo", type text),
|
|
67
|
+
AddCampanaCodigo = Table.AddColumn(AddData, "CampanaCodigo", each EntityCode("Campana", [CampañaId]), type text),
|
|
68
|
+
SelectForOutput = Table.SelectColumns(AddCampanaCodigo, {"Data", "CampanaCodigo", "Campaña", "Canal marketing", "Objetivo campaña"}),
|
|
69
|
+
Result = Table.RenameColumns(SelectForOutput, {{"CampanaCodigo", "CampañaId"}}),
|
|
70
|
+
#"Tipo final" = Table.TransformColumnTypes(Result, {{"Data", type text}, {"CampañaId", type text}, {"Campaña", type text}, {"Canal marketing", type text}, {"Objetivo campaña", type text}}, "es-ES")
|
|
71
|
+
in
|
|
72
|
+
#"Tipo final"
|
|
73
|
+
|
|
74
|
+
annotation PBI_ResultType = Exception
|
|
75
|
+
|