Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
初級者向け_Azure_Analysis_Service_入門.pdf
Search
鍋島千夏
May 28, 2022
Technology
1
280
初級者向け_Azure_Analysis_Service_入門.pdf
鍋島千夏
May 28, 2022
Tweet
Share
More Decks by 鍋島千夏
See All by 鍋島千夏
Synapse AnalyticsからCognitive Servicesの感情分析を使ってみた(2022/09)
cnuts
0
250
Synapse Analytics Service から Cognitive Services の 感情分析を使ってみた
cnuts
1
130
Other Decks in Technology
See All in Technology
CDCL による厳密解法を採用した MILP ソルバー
imai448
3
280
Amazon CloudWatch Network Monitor のススメ
yuki_ink
1
220
rootlessコンテナのすゝめ - 研究室サーバーでもできる安全なコンテナ管理
kitsuya0828
3
390
あなたの知らない Function.prototype.toString() の世界
mizdra
PRO
4
1.2k
EventHub Startup CTO of the year 2024 ピッチ資料
eventhub
0
130
SSMRunbook作成の勘所_20241120
koichiotomo
3
180
Engineer Career Talk
lycorp_recruit_jp
0
200
OOM発生時のトラブルシューティング Profilerを活用できるか調査してみた
atsushii
0
110
AI前提のサービス運用ってなんだろう?
ryuichi1208
8
1.4k
FlutterアプリにおけるSLI/SLOを用いたユーザー体験の可視化と計測基盤構築
ostk0069
0
180
The Rise of LLMOps
asei
9
1.9k
適材適所の技術選定 〜GraphQL・REST API・tRPC〜 / Optimal Technology Selection
kakehashi
1
740
Featured
See All Featured
No one is an island. Learnings from fostering a developers community.
thoeni
19
3k
How to Ace a Technical Interview
jacobian
276
23k
Site-Speed That Sticks
csswizardry
0
40
Writing Fast Ruby
sferik
627
61k
Navigating Team Friction
lara
183
14k
Product Roadmaps are Hard
iamctodd
PRO
49
11k
For a Future-Friendly Web
brad_frost
175
9.4k
Why Our Code Smells
bkeepers
PRO
334
57k
Speed Design
sergeychernyshev
25
620
Building an army of robots
kneath
302
43k
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
Designing on Purpose - Digital PM Summit 2013
jponch
115
7k
Transcript
【初級者向け】 Analysis Service Intro エーティーエルシステムズ 鍋島 千夏
自己紹介 • 名前: 鍋島 千夏 • 所属:エーティーエルシステムズ • 住所:山梨県甲府市 •
私のお仕事: 自治体のデータ分析をやっています。 • データエンジニア (SSIS, Data Factory、最近 Synapse Analytics 始めました。) • データサイエンティスト (Azure Machine Learning, Python) • データアナリスト (SSAS, AAS, PowerBI) • ソリューション開発 (.NET Core、Angular)
分析って何するの? • 分析はデータを比較すること。 • すなわち、分析シナリオからデータをどのように比較するかを決めること。 どのデータを比較するか 売上、所得、テストの点数… データの集計方法は? 合計、平均値、中央値、最大値、最小値、前年比… 比較する分析軸は何か
年代別、性別、カテゴリ、 … 分析軸を掘り下げるか? 年→月→日、 カテゴリ → サブカテゴリ → サブサブカテゴリ
分析って何するの? • 分析までの流れ • データを準備して取り込む。 • データを加工して集計する。 • 集計データを可視化して、比較する。 Analysis
Service を使うと日々変化する大規模データを 加工して集計する処理を自動化します。 非エンジニアが簡単に可視化・分析できるように、 お膳立てをするツールです。 準備が8割。
Analysis Services での分析プロセスのイメージ 1. 分析する人にどのような分析したいかヒアリング 2. 分析モデルを定義して、サーバーに配置 3. モデルへのデータの取り込みを自動化 4.
分析する人はクリックするだけで、最新の集計を確認できる データベース 分析データベース Analysis Service ③最新データを 自動取込する ②Visual Studioでモデルを定義して配置 PowerBI Reporting Service Excel ④レポート作成 データをどのように比較するか決めたもの 分析する人 ①ヒアリング
本日はチュートリアルを抜粋してご紹介 • 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分に
本日はチュートリアルを抜粋してご紹介 • 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 - 配置
チュートリアル完了時のモデル
Analysis Services を分析する人が使うイメージ
準備: SSDT Visual Studio を使います。 Microsoft Analysis Services Projects (VSIX)
拡張機能パッケージを追加します。
デザインツール • Visual Studio に Microsoft Analysis Services Projects (VSIX)
拡張機 能パッケージ を追加します。 https://marketplace.visualstudio.com/items?itemName=ProBITools.MicrosoftAnalysisServicesModelingProjects
ステップ1: 表形式モデル プロジェクトを作成する Visual Studioでプロジェクトを作成。
表形式モデル プロジェクトを作成する(1/4) Visual Studioから新しいプロジェクトを追加
表形式モデル プロジェクトを作成する(2/4)
表形式モデル プロジェクトを作成する(3/4)
表形式モデル プロジェクトを作成する(4/4) プロジェクトできました。
ステップ2: データを取得する 表形式モデルにデータソースを定義。 DBから取り込むテーブルを選択。 各テーブルの取り込む列を選択(不要な列を削除。)
データを取得する データソースを設定する。(1/4)
データを取得する データソースを設定する。(2/4) 追加するデータソースのタイプを選択
データを取得する データソースを設定する。(3/4) 事前に準備した専用SQLの SQL Server を指定
データを取得する データソースを設定する。(4/4) 専用SQLプールを選択
テーブルを選択 ナビゲータでチェックボックスを選択して、インポートするテーブルを選択 [データの変換] をクリックすると、Power Query エディターが開きます。 インポートしたテーブル • DimCustomer •
DimDate • DimGeograph • DimProduct • DimProductCategory • DimProductSubcategory • FactInternetSales
各テーブルの列を選択(不要な列を削除) • テーブル • DimCustomer • 削除した列 • SpanishEducation •
FrenchEducation • SpanishOccupation • FrenchOccupation
ステップ3: 日付テーブルとしてマーク 日付と時刻データが含まれているテーブルを日付テーブル と呼びます。 タイム インテリジェンス関数を使用する場合は、テーブルを 日付テーブル としてマークし、 日付の列を 日付列
(一意識別子) としてマークします。
日付テーブルのイメージ 日付テーブルはAnalysis Serviceで使うために後から追加することが多いです。
タイム インテリジェンス関数(抜粋) 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
Date列が日付型になっているか確認
日付テーブルとしてマーク
ステップ4: リレーションシップの作成 テーブル間に新しいリレーションシップを追加します。 (データベースにリレーションが定義されている場合、データをインポートしたときに 自動的に作成されます。)
テーブル間のリレーションを定義します。
ダイアグラムビューに切り替え
ダイアグラムビューに切り替え DB側でリレーションの設定をしていないと、 既定ではリレーションが定義されません。
リレーションを定義していこう。 • 定義が終わると…
リレーションの作成 • GeographyKeyでリレーション
ステップ5 計算列を作成する Data Analysis Expressions (DAX)を使って計算列を追加します。
計算列を作成する DimDate テーブルに MonthCalendar 計算列を作成する(1/5)
計算列を作成する DimDate テーブルに MonthCalendar 計算列を作成する(2/5) =RIGHT(" " & FORMAT([MonthNumberOfYear],"#0"), 2)
& " - " & [EnglishMonthName]
計算列を作成する DimDate テーブルに MonthCalendar 計算列を作成する(3/5) =RIGHT(" " & FORMAT([MonthNumberOfYear],"#0"), 2)
& " - " & [EnglishMonthName]
計算列を作成する DimDate テーブルに MonthCalendar 計算列を作成する(4/5) 列名を MonthCalendar に変更
計算列を作成する DimDate テーブルに MonthCalendar 計算列を作成する(5/5) 列名を MonthCalendar に変更
レッスン6 メジャーの作成
メジャーって何? • メジャーは DAX 式を使用して作成される計算値 • ユーザーが選択した “フィルター” に基づいて計算される。 •
例: 全商品のうちバイクを売った利益は? 分析する人が決める
メジャーを作る方法 • AutoSum機能を使用する方法 • 標準の集計関数。 • 列をクリックし、ツールバー上の 「AutoSum」 ボタン (∑)
をクリック • DAX式を入力する方法 • メジャー グリッドで空のセルをクリックし、数式バーで DAX 式を入力する
メジャーを作成する AutoSum機能を使用する方法(1/2)
メジャーを作成する AutoSum機能を使用する方法(2/2)
メジャーを作成する DAX式でメジャーを作成する(1/2) DimDateテーブルの空いているセルをクリック
メジャーを作成する DimDate テーブルに DaysCurrentQuarterToDate メジャーを作成する(2/2) DaysCurrentQuarterToDate:=COUNTROWS( DATESQTD( 'DimDate'[Date]))
ステップ13 配置 Visual Studioからサーバーに配置します。 • Azure Analysis Services • PowerBI
ワークスペース
配置 • ソリューションエクスプローラーのプロパティで配置先を設定 ▪サーバ名の値 •Azure Analysis Services • ポータルから取得したURL •Power
BI Premium ワークスペース • ワークスペース接続 URL • オンプレのSQL Server • <サーバー名>¥<インスタンス名>
配置 配置を実行
配置 配置を実行
配置 配置を実行
PowerBIで見てみよう。
PowerBIで見てみよう。
PowerBIで見てみよう。
Analysis Services を分析する人が使うイメージ
“配置”を試してみたい方に • オンプレもクラウドもモデルの作成手順は同じです。 • Azureの場合 • Azure Analysis Services は個人が試すには高額です。
• サービスを停止すると課金が停止します。 • 開発用のサービスレベルD1もあります。 • データソースもAzure専用SQL(旧SQL DW)はサービスを停止すると課金が停 止します。 • オンプレの場合 • SQL Server Standardで利用できます。インストールが必要です。