Slide 1

Slide 1 text

【初級者向け】 Analysis Service Intro エーティーエルシステムズ 鍋島 千夏

Slide 2

Slide 2 text

自己紹介 • 名前: 鍋島 千夏 • 所属:エーティーエルシステムズ • 住所:山梨県甲府市 • 私のお仕事: 自治体のデータ分析をやっています。 • データエンジニア (SSIS, Data Factory、最近 Synapse Analytics 始めました。) • データサイエンティスト (Azure Machine Learning, Python) • データアナリスト (SSAS, AAS, PowerBI) • ソリューション開発 (.NET Core、Angular)

Slide 3

Slide 3 text

分析って何するの? • 分析はデータを比較すること。 • すなわち、分析シナリオからデータをどのように比較するかを決めること。 どのデータを比較するか 売上、所得、テストの点数… データの集計方法は? 合計、平均値、中央値、最大値、最小値、前年比… 比較する分析軸は何か 年代別、性別、カテゴリ、 … 分析軸を掘り下げるか? 年→月→日、 カテゴリ → サブカテゴリ → サブサブカテゴリ

Slide 4

Slide 4 text

分析って何するの? • 分析までの流れ • データを準備して取り込む。 • データを加工して集計する。 • 集計データを可視化して、比較する。 Analysis Service を使うと日々変化する大規模データを 加工して集計する処理を自動化します。 非エンジニアが簡単に可視化・分析できるように、 お膳立てをするツールです。 準備が8割。

Slide 5

Slide 5 text

Analysis Services での分析プロセスのイメージ 1. 分析する人にどのような分析したいかヒアリング 2. 分析モデルを定義して、サーバーに配置 3. モデルへのデータの取り込みを自動化 4. 分析する人はクリックするだけで、最新の集計を確認できる データベース 分析データベース Analysis Service ③最新データを 自動取込する ②Visual Studioでモデルを定義して配置 PowerBI Reporting Service Excel ④レポート作成 データをどのように比較するか決めたもの 分析する人 ①ヒアリング

Slide 6

Slide 6 text

本日はチュートリアルを抜粋してご紹介 • Adventure Works Internet Sales チュートリアル (1500) • https://docs.microsoft.com/ja-jp/analysis-services/tutorial-tabular-1400/as-lesson-3-mark-as-date-table?view=asallproducts-allversions • Adventure Works Cycles という架空の会社を題材 • 北米、ヨーロッパ、アジアの商業市場向けに自転車、部品、アクセサリーを製造および販売する 大規模な多国籍製造会社です。 • 各拠点の営業ユーザーのためにインターネット販売データを分析するための表形式モデルを作成 1日かかる 30分に

Slide 7

Slide 7 text

本日はチュートリアルを抜粋してご紹介 • Adventure Works Internet Sales チュートリアル (1500) • https://docs.microsoft.com/ja-jp/analysis-services/tutorial-tabular-1400/as-lesson-3-mark-as-date-table?view=asallproducts-allversions • 1 - テーブル モデル プロジェクトの作成 • 2 - データの取得 • 3 - 日付テーブルとしてマーク • 4 - リレーションシップの作成 • 5 - 計算列の作成 • 6 - メジャーの作成 • 7 - 主要業績評価指標の作成 8 - パースペクティブの作成 9 - 階層の作成 10 - パーティションの作成 11 - ロールの作成 12 - Excel で分析 13 - 配置

Slide 8

Slide 8 text

チュートリアル完了時のモデル

Slide 9

Slide 9 text

Analysis Services を分析する人が使うイメージ

Slide 10

Slide 10 text

準備: SSDT Visual Studio を使います。 Microsoft Analysis Services Projects (VSIX) 拡張機能パッケージを追加します。

Slide 11

Slide 11 text

デザインツール • Visual Studio に Microsoft Analysis Services Projects (VSIX) 拡張機 能パッケージ を追加します。 https://marketplace.visualstudio.com/items?itemName=ProBITools.MicrosoftAnalysisServicesModelingProjects

Slide 12

Slide 12 text

ステップ1: 表形式モデル プロジェクトを作成する Visual Studioでプロジェクトを作成。

Slide 13

Slide 13 text

表形式モデル プロジェクトを作成する(1/4) Visual Studioから新しいプロジェクトを追加

Slide 14

Slide 14 text

表形式モデル プロジェクトを作成する(2/4)

Slide 15

Slide 15 text

表形式モデル プロジェクトを作成する(3/4)

Slide 16

Slide 16 text

表形式モデル プロジェクトを作成する(4/4) プロジェクトできました。

Slide 17

Slide 17 text

ステップ2: データを取得する 表形式モデルにデータソースを定義。 DBから取り込むテーブルを選択。 各テーブルの取り込む列を選択(不要な列を削除。)

Slide 18

Slide 18 text

データを取得する データソースを設定する。(1/4)

Slide 19

Slide 19 text

データを取得する データソースを設定する。(2/4) 追加するデータソースのタイプを選択

Slide 20

Slide 20 text

データを取得する データソースを設定する。(3/4) 事前に準備した専用SQLの SQL Server を指定

Slide 21

Slide 21 text

データを取得する データソースを設定する。(4/4) 専用SQLプールを選択

Slide 22

Slide 22 text

テーブルを選択 ナビゲータでチェックボックスを選択して、インポートするテーブルを選択 [データの変換] をクリックすると、Power Query エディターが開きます。 インポートしたテーブル • DimCustomer • DimDate • DimGeograph • DimProduct • DimProductCategory • DimProductSubcategory • FactInternetSales

Slide 23

Slide 23 text

各テーブルの列を選択(不要な列を削除) • テーブル • DimCustomer • 削除した列 • SpanishEducation • FrenchEducation • SpanishOccupation • FrenchOccupation

Slide 24

Slide 24 text

ステップ3: 日付テーブルとしてマーク 日付と時刻データが含まれているテーブルを日付テーブル と呼びます。 タイム インテリジェンス関数を使用する場合は、テーブルを 日付テーブル としてマークし、 日付の列を 日付列 (一意識別子) としてマークします。

Slide 25

Slide 25 text

日付テーブルのイメージ 日付テーブルはAnalysis Serviceで使うために後から追加することが多いです。

Slide 26

Slide 26 text

タイム インテリジェンス関数(抜粋) 1月~3月 4月~6月 7月~9月 10月~11月 https://docs.microsoft.com/ja-jp/dax/time-intelligence-functions-dax 関数 Description DATESBETWEEN 指定された開始日から始まり、指定された終了日まで続く日付の列が含まれるテーブルを返します。 DATESQTD 現在のコンテキストで、現在までの四半期の日付の列を含むテーブルを返します。 ENDOFQUARTER 指定された日付列について、現在のコンテキストにおける四半期の最後の日付を返します。 FIRSTDATE 指定された日付列について、現在のコンテキストにおける最初の日付を返します。 LASTDATE 指定された日付列の現在のコンテキストにおける最終日付を返します。 DATESQTD

Slide 27

Slide 27 text

Date列が日付型になっているか確認

Slide 28

Slide 28 text

日付テーブルとしてマーク

Slide 29

Slide 29 text

ステップ4: リレーションシップの作成 テーブル間に新しいリレーションシップを追加します。 (データベースにリレーションが定義されている場合、データをインポートしたときに 自動的に作成されます。)

Slide 30

Slide 30 text

テーブル間のリレーションを定義します。

Slide 31

Slide 31 text

ダイアグラムビューに切り替え

Slide 32

Slide 32 text

ダイアグラムビューに切り替え DB側でリレーションの設定をしていないと、 既定ではリレーションが定義されません。

Slide 33

Slide 33 text

リレーションを定義していこう。 • 定義が終わると…

Slide 34

Slide 34 text

リレーションの作成 • GeographyKeyでリレーション

Slide 35

Slide 35 text

ステップ5 計算列を作成する Data Analysis Expressions (DAX)を使って計算列を追加します。

Slide 36

Slide 36 text

計算列を作成する DimDate テーブルに MonthCalendar 計算列を作成する(1/5)

Slide 37

Slide 37 text

計算列を作成する DimDate テーブルに MonthCalendar 計算列を作成する(2/5) =RIGHT(" " & FORMAT([MonthNumberOfYear],"#0"), 2) & " - " & [EnglishMonthName]

Slide 38

Slide 38 text

計算列を作成する DimDate テーブルに MonthCalendar 計算列を作成する(3/5) =RIGHT(" " & FORMAT([MonthNumberOfYear],"#0"), 2) & " - " & [EnglishMonthName]

Slide 39

Slide 39 text

計算列を作成する DimDate テーブルに MonthCalendar 計算列を作成する(4/5) 列名を MonthCalendar に変更

Slide 40

Slide 40 text

計算列を作成する DimDate テーブルに MonthCalendar 計算列を作成する(5/5) 列名を MonthCalendar に変更

Slide 41

Slide 41 text

レッスン6 メジャーの作成

Slide 42

Slide 42 text

メジャーって何? • メジャーは DAX 式を使用して作成される計算値 • ユーザーが選択した “フィルター” に基づいて計算される。 • 例: 全商品のうちバイクを売った利益は? 分析する人が決める

Slide 43

Slide 43 text

メジャーを作る方法 • AutoSum機能を使用する方法 • 標準の集計関数。 • 列をクリックし、ツールバー上の 「AutoSum」 ボタン (∑) をクリック • DAX式を入力する方法 • メジャー グリッドで空のセルをクリックし、数式バーで DAX 式を入力する

Slide 44

Slide 44 text

メジャーを作成する AutoSum機能を使用する方法(1/2)

Slide 45

Slide 45 text

メジャーを作成する AutoSum機能を使用する方法(2/2)

Slide 46

Slide 46 text

メジャーを作成する DAX式でメジャーを作成する(1/2) DimDateテーブルの空いているセルをクリック

Slide 47

Slide 47 text

メジャーを作成する DimDate テーブルに DaysCurrentQuarterToDate メジャーを作成する(2/2) DaysCurrentQuarterToDate:=COUNTROWS( DATESQTD( 'DimDate'[Date]))

Slide 48

Slide 48 text

ステップ13 配置 Visual Studioからサーバーに配置します。 • Azure Analysis Services • PowerBI ワークスペース

Slide 49

Slide 49 text

配置 • ソリューションエクスプローラーのプロパティで配置先を設定 ■サーバ名の値 •Azure Analysis Services • ポータルから取得したURL •Power BI Premium ワークスペース • ワークスペース接続 URL • オンプレのSQL Server • <サーバー名>¥<インスタンス名>

Slide 50

Slide 50 text

配置 配置を実行

Slide 51

Slide 51 text

配置 配置を実行

Slide 52

Slide 52 text

配置 配置を実行

Slide 53

Slide 53 text

PowerBIで見てみよう。

Slide 54

Slide 54 text

PowerBIで見てみよう。

Slide 55

Slide 55 text

PowerBIで見てみよう。

Slide 56

Slide 56 text

Analysis Services を分析する人が使うイメージ

Slide 57

Slide 57 text

“配置”を試してみたい方に • オンプレもクラウドもモデルの作成手順は同じです。 • Azureの場合 • Azure Analysis Services は個人が試すには高額です。 • サービスを停止すると課金が停止します。 • 開発用のサービスレベルD1もあります。 • データソースもAzure専用SQL(旧SQL DW)はサービスを停止すると課金が停 止します。 • オンプレの場合 • SQL Server Standardで利用できます。インストールが必要です。