$30 off During Our Annual Pro Sale. View Details »

初級者向け_Azure_Analysis_Service_入門.pdf

 初級者向け_Azure_Analysis_Service_入門.pdf

鍋島千夏

May 28, 2022
Tweet

More Decks by 鍋島千夏

Other Decks in Technology

Transcript

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  6. 本日はチュートリアルを抜粋してご紹介
    • 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分に

    View Slide

  7. 本日はチュートリアルを抜粋してご紹介
    • 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 - 配置

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  26. タイム インテリジェンス関数(抜粋)
    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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  50. 配置
    配置を実行

    View Slide

  51. 配置
    配置を実行

    View Slide

  52. 配置
    配置を実行

    View Slide

  53. PowerBIで見てみよう。

    View Slide

  54. PowerBIで見てみよう。

    View Slide

  55. PowerBIで見てみよう。

    View Slide

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

    View Slide

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

    View Slide