Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
初級者向け_Azure_Analysis_Service_入門.pdf
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
鍋島千夏
May 28, 2022
Technology
370
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
初級者向け_Azure_Analysis_Service_入門.pdf
鍋島千夏
May 28, 2022
More Decks by 鍋島千夏
See All by 鍋島千夏
Synapse AnalyticsからCognitive Servicesの感情分析を使ってみた(2022/09)
cnuts
0
320
Synapse Analytics Service から Cognitive Services の 感情分析を使ってみた
cnuts
1
170
Other Decks in Technology
See All in Technology
AI coding 整合正規方法
philipz
0
130
beyond jj: config & tools ecosystem
indirect
0
5.1k
おい、エージェントを使って終わらせろ
nwiizo
2
720
データ_AIの事業の勝敗をわけるもの
nek0128
1
460
株式会社シーエーシー エンジニア向け会社紹介資料
cac
0
57k
フルカイテン株式会社 エンジニア向け採用資料
fullkaiten
0
12k
積み重なった技術負債への挑戦 〜初手としての全社ゴト化〜
techtekt
PRO
0
1.4k
ADKで始める業務改善 - AIエージェント開発時の考えと設計
harappa80
2
230
GoのInterface内部構造から学ぶ!最高パフォーマンスを出すコード設計
yappli_developers
0
180
登壇の自信を奪う3匹のオバケ / 3 Ghosts That Rob You of Your Confidence in Public Speaking
pauli
9
1k
Minecraft JavaのMODをSwiftで作る
1mash0
0
180
アプリログインとWeb認証基盤をつなぐ ASWebAuthenticationSession 作法
shimastripe
1
340
Featured
See All Featured
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
50
10k
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
580
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1.3k
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2.2k
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
530
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
230
The Cost Of JavaScript in 2023
addyosmani
55
10k
Designing for Timeless Needs
cassininazir
1
480
Statistics for Hackers
jakevdp
799
230k
The Curious Case for Waylosing
cassininazir
1
510
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
390
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
430
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で利用できます。インストールが必要です。