Giter Site home page Giter Site logo

mgaspar / pbi-tools Goto Github PK

View Code? Open in Web Editor NEW

This project forked from pbi-tools/pbi-tools

0.0 0.0 0.0 15.66 MB

Power BI DevOps & Source Control Tool

Home Page: https://pbi.tools/cli

License: MIT License

Objective-C 0.02% C# 96.26% F# 2.01% MATLAB 0.30% PowerShell 0.05% Mathematica 1.23% Batchfile 0.04% Dockerfile 0.08%

pbi-tools's Introduction

pbi-tools

pbi-tools is a command-line tool bringing source-control features to Power BI. It works alongside Power BI Desktop and enables mature enterprise workflows for Power BI projects.

An example project is available here: https://github.com/pbi-tools/adventureworksdw2020-pbix

GitHub release (latest by date) Twitter Follow Join the chat at https://gitter.im/pbi-tools/general

User Notes

Developer Notes

Build System

Prerequisites

  • Visual Studio 2022 17.2 or later (for MSBuild dependencies), incl C# 11 Preview
  • .Net 4.7.2 Targeting Pack
  • .Net 6.0 SDK
  • Power BI Desktop x64 (Must be installed in default location for local development: C:\Program Files\Microsoft Power BI Desktop\)

List Build Targets

dotnet fake build --list

Versioning

The project strictly adheres to SemVer v2 for release versioning. The build system uses the first entry in RELEASE_NOTES.md to inject version numbers into build artifacts.

Diagnostics

  • Log output can be controlled using the environment variable PBITOOLS_LogLevel.
  • Allowed values are:
    • Verbose
    • Debug
    • Information
    • Warning
    • Error
    • Fatal
  • The default is Information, which is also effective when an unknown/invalid option has been specified.

Build

.\build.cmd Build

Run Tests

.\build.cmd Test

Run All Targets (Build, Publish, Test, UsageDocs, Pack)

.\build.cmd Pack

Run only the specified build target

.\build.cmd UsageDocs -s
dotnet fake build -s -t SmokeTest

Install Dependencies

dotnet paket install

That is generally not needed as the build.cmd script takes care of fetching dependencies. However, it could be useful to run this manually on a fresh clone or after making changes in the paket.dependencies file.

Update Specific Dependency to latest version (ex: AMO)

dotnet paket update Microsoft.AnalysisServices.retail.amd64
dotnet paket update Microsoft.AnalysisServices.AdomdClient.retail.amd64

Updating All Dependencies (NuGet)

dotnet paket update
dotnet paket update -g Fake-Build

Find outdated dependencies

dotnet paket outdated -g Main

Invoke Build script directly

dotnet fake {...}
dotnet fake -t Build
dotnet fake --version

Extract embedded sample PBIX with local build version and using default settings

.\pbi-tools.local.cmd extract '.\data\Samples\Adventure Works DW 2020.pbix'

Extract embedded sample PBIX with local build version and 'Raw' serialization mode, into custom output folder

.\pbi-tools.local.cmd extract '.\data\Samples\Adventure Works DW 2020.pbix' -extractFolder '.\data\Samples\Adventure Works DW 2020 - Raw' -modelSerialization Raw

Enable Debug logging (PowerShell)

$env:PBITOOLS_LogLevel = "Debug"

Fast local build (no clean)

.\build.cmd Publish -s
.\build.cmd Pack -s

Git Submodules

Clone with submodules

git clone --recurse-submodules https://github.com/pbi-tools/pbi-tools.git

Pulling in Upstream Changes

git submodule update --remote

Clone specific single branch into named folder, with submodules

git clone -b Release/1.0.0-beta.9 --single-branch --recurse-submodules https://github.com/pbi-tools/pbi-tools.git ./1.0.0-beta.9

pbi-tools's People

Contributors

mthierba avatar mthierba-ms avatar gitter-badger avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.