SSAS

GCS(Google Cloud Storage)のファイルをSQLServerに取り込んでデータ分析を行った(3)

GCS(Google Cloud Storage)に配置したファイルを、SQL Server搭載済の仮想マシンに転送し、SQL Serverにデータロードし、データロードしたデータを利用してデータ分析用のデータ(ディメンション・キューブ)であるSSASプロジェクトを、SQL Server Analysis Serverに配置するところまで、一括で実施できるJavaプログラムを作成したため、その内容について共有する。

今回は、SSASプロジェクトがデプロイ時に確実に更新されるよう、デプロイ前にSQL Server Analysis Serverから、データ分析用のデータ(ディメンション・キューブ)であるSSASプロジェクトを削除する処理を入れているので、その内容について述べる。

SSASプロジェクトを削除するためのスクリプトは、以下のように、SQL Server Analysis Server上のSSASプロジェクトを右クリックし、Script Database as →DELETE toを順次選択し、ファイル出力することで作成できる。
SSAS削除1

上記画面から出力されたxmlaファイルは以下の通り。
SSAS削除2

ただし、上記のままだとSSASプロジェクトが存在しない場合に削除しようとする際にエラーになるため、以下のように、「IgnoreFailures=”true”」を付与して利用する。
SSAS削除3

また、このxmlaファイルを使用して削除するためには、WindowsのPowerShell上で、Invoke-ASCmdというコマンドレット(PowerShellで利用可能なコマンド)を利用する。
以下のように、「Invoke-ASCmd -InputFile:(XMLAファイルパス) -Server:localhost」と指定する。
SSAS削除4

上記コマンドの実行前・実行後の画面は以下のようになる。
<実行前>
SSAS削除5
<実行後>
SSAS削除6

また、コマンドプロンプトから、「powershell -Command Invoke-ASCmd -InputFile:(XMLAファイルパス) -Server:localhost」と指定しても、同じ動作になる。
SSAS削除7

なお、WindowsのPowerShellは、Windows7以降のOSでは標準で搭載されているが、Invoke-ASCmdというコマンドレットは搭載されていないため、別途インストールが必要。その手順は以下の通り。
1) Windows PowerShellを管理者モードで起動する
SSAS削除8

2) 「Install-Module -Name SqlServer -AllowClobber」コマンドを実行する
なお、下記画面のように「Install-Module -Name SqlServer」コマンドではエラーになったため、「-AllowClobber」オプションを付与して実行している
SSAS削除9

3) 「Get-Command Invoke-ASCmd」を実行し、「Invoke-ASCmd」コマンドがインストールされたことを確認する
SSAS削除10