Upgrade to Pro — share decks privately, control downloads, hide ads and more …

初級者向け_Azure_Analysis_Service_入門.pdf

 初級者向け_Azure_Analysis_Service_入門.pdf

鍋島千夏

May 28, 2022
Tweet

More Decks by 鍋島千夏

Other Decks in Technology

Transcript

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

  2. 自己紹介 • 名前: 鍋島 千夏 • 所属:エーティーエルシステムズ • 住所:山梨県甲府市 •

    私のお仕事: 自治体のデータ分析をやっています。 • データエンジニア (SSIS, Data Factory、最近 Synapse Analytics 始めました。) • データサイエンティスト (Azure Machine Learning, Python) • データアナリスト (SSAS, AAS, PowerBI) • ソリューション開発 (.NET Core、Angular)
  3. 分析って何するの? • 分析はデータを比較すること。 • すなわち、分析シナリオからデータをどのように比較するかを決めること。 どのデータを比較するか 売上、所得、テストの点数… データの集計方法は? 合計、平均値、中央値、最大値、最小値、前年比… 比較する分析軸は何か

    年代別、性別、カテゴリ、 … 分析軸を掘り下げるか? 年→月→日、 カテゴリ → サブカテゴリ → サブサブカテゴリ
  4. 分析って何するの? • 分析までの流れ • データを準備して取り込む。 • データを加工して集計する。 • 集計データを可視化して、比較する。 Analysis

    Service を使うと日々変化する大規模データを 加工して集計する処理を自動化します。 非エンジニアが簡単に可視化・分析できるように、 お膳立てをするツールです。 準備が8割。
  5. Analysis Services での分析プロセスのイメージ 1. 分析する人にどのような分析したいかヒアリング 2. 分析モデルを定義して、サーバーに配置 3. モデルへのデータの取り込みを自動化 4.

    分析する人はクリックするだけで、最新の集計を確認できる データベース 分析データベース Analysis Service ③最新データを 自動取込する ②Visual Studioでモデルを定義して配置 PowerBI Reporting Service Excel ④レポート作成 データをどのように比較するか決めたもの 分析する人 ①ヒアリング
  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分に
  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 - 配置
  8. チュートリアル完了時のモデル

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

  10. 準備: SSDT Visual Studio を使います。 Microsoft Analysis Services Projects (VSIX)

    拡張機能パッケージを追加します。
  11. デザインツール • Visual Studio に Microsoft Analysis Services Projects (VSIX)

    拡張機 能パッケージ を追加します。 https://marketplace.visualstudio.com/items?itemName=ProBITools.MicrosoftAnalysisServicesModelingProjects
  12. ステップ1: 表形式モデル プロジェクトを作成する Visual Studioでプロジェクトを作成。

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

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

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

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

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

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

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

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

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

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

    DimDate • DimGeograph • DimProduct • DimProductCategory • DimProductSubcategory • FactInternetSales
  23. 各テーブルの列を選択(不要な列を削除) • テーブル • DimCustomer • 削除した列 • SpanishEducation •

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

    (一意識別子) としてマークします。
  25. 日付テーブルのイメージ 日付テーブルはAnalysis Serviceで使うために後から追加することが多いです。

  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
  27. Date列が日付型になっているか確認

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  42. メジャーって何? • メジャーは DAX 式を使用して作成される計算値 • ユーザーが選択した “フィルター” に基づいて計算される。 •

    例: 全商品のうちバイクを売った利益は? 分析する人が決める
  43. メジャーを作る方法 • AutoSum機能を使用する方法 • 標準の集計関数。 • 列をクリックし、ツールバー上の 「AutoSum」 ボタン (∑)

    をクリック • DAX式を入力する方法 • メジャー グリッドで空のセルをクリックし、数式バーで DAX 式を入力する
  44. メジャーを作成する AutoSum機能を使用する方法(1/2)

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

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

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

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

    ワークスペース
  49. 配置 • ソリューションエクスプローラーのプロパティで配置先を設定 ▪サーバ名の値 •Azure Analysis Services • ポータルから取得したURL •Power

    BI Premium ワークスペース • ワークスペース接続 URL • オンプレのSQL Server • <サーバー名>¥<インスタンス名>
  50. 配置 配置を実行

  51. 配置 配置を実行

  52. 配置 配置を実行

  53. PowerBIで見てみよう。

  54. PowerBIで見てみよう。

  55. PowerBIで見てみよう。

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

  57. “配置”を試してみたい方に • オンプレもクラウドもモデルの作成手順は同じです。 • Azureの場合 • Azure Analysis Services は個人が試すには高額です。

    • サービスを停止すると課金が停止します。 • 開発用のサービスレベルD1もあります。 • データソースもAzure専用SQL(旧SQL DW)はサービスを停止すると課金が停 止します。 • オンプレの場合 • SQL Server Standardで利用できます。インストールが必要です。