G
enby!

BI-TV #23 Редактирование запросов Power Query в XLSX и PBIX при помощи Powershell cmdlet DataMashup

Команды удобно копировать из блога: https://bi-tv.ru/video/23_updating_M_...
Редактирование кода скриптов Power Query в VS Code - решение Ben Gribaudo: https://bengribaudo.com/blog/2020/07/...
Устанавливаем VS Code https://code.visualstudio.com/Download.
При установке ставим галку “Add to Path”. В VS Code устанавливаем расширение “Power Query / M Language” (ctrl+shift+P - установить расширение - вводим название). Устанавливаем PowerShell Core 7 c github: https://github.com/powershell/powersh....
Устанавливаем Data Mashup Cmdlet, для этого вводим PowerShell Core 7 команду: Install-Module -Name DataMashup -AllowPrerelease Если выдает ошибку - чтобы заработала возможность установки скриптов из галереи используем команду. [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 Решение найдено здесь. В скрипте функции заменяем code на путь до VS Code на вашем компьютере: function Edit-DataMashup { param ( [Parameter(Mandatory=$True, Position=0)] [string]$File ) $originalMashup = Export-DataMashup -Raw $File -ErrorAction Stop $tempFile = New-TemporaryFile -ErrorAction Stop try { $tempFile = Rename-Item $tempFile ($tempFile.Name + ".m") -PassThru -ErrorAction Stop $originalMashup | Out-File $tempFile -NoNewline -ErrorAction Stop Start-Process "code" "`"$($tempFile)`"" -Wait $postEditMashup = Get-Content $tempFile -Raw -ErrorAction Stop if ($originalMashup -eq $postEditMashup) { $successful = $true return } Import-DataMashup -Raw $File -Experimental -Mashup $postEditMashup -ErrorAction Stop $successful = $true } finally { if ($successful -ne $true) { Write-Error "Failed to Save Modified Power Query mashup:`r`n$($postEditMashup)" } Remove-Item $tempFile } } Создаем файл Profile, чтобы положить в него функцию, чтобы после перезапуска Power Shell она была доступна if (!(Test-Path -Path $PROFILE)) { New-Item -ItemType File -Path $PROFILE -Force } Открываем файл Profile командой ниже, вставляем в notepad функцию из шага 6, сохраняем файл. notepad $PROFILE Перезапускаем PowerShell 7 Редактируем код Power Query XLSX и PBI файлов в VS Code командой: Edit-DataMashup SomeFile.xlsx

Смотрите также