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
340
初級者向け_Azure_Analysis_Service_入門.pdf
鍋島千夏
May 28, 2022
Tweet
Share
More Decks by 鍋島千夏
See All by 鍋島千夏
Synapse AnalyticsからCognitive Servicesの感情分析を使ってみた(2022/09)
cnuts
0
300
Synapse Analytics Service から Cognitive Services の 感情分析を使ってみた
cnuts
1
150
Other Decks in Technology
See All in Technology
vLLM Community Meetup Tokyo #3 オープニングトーク
jpishikawa
0
350
20260311 技術SWG活動報告(デジタルアイデンティティ人材育成推進WG Ph2 活動報告会)
oidfj
0
350
Dr. Werner Vogelsの14年のキーノートから紐解くエンジニアリング組織への処方箋@JAWS DAYS 2026
p0n
1
130
Yahoo!ショッピングのレコメンデーション・システムにおけるML実践の一例
lycorptech_jp
PRO
1
210
S3はフラットである –AWS公式SDKにも存在した、 署名付きURLにおけるパストラバーサル脆弱性– / JAWS DAYS 2026
flatt_security
0
1.8k
親子 or ペアで Mashup for the Future! しゃべって楽しむ 初手AI駆動でものづくり体験
hiroramos4
PRO
0
120
[JAWSDAYS2026][D8]その起票、愛が足りてますか?AWSサポートを味方につける、技術的「ラブレター」の書き方
hirosys_
3
180
実践 Datadog MCP Server
nulabinc
PRO
2
190
CyberAgentの生成AI戦略 〜変わるものと変わらないもの〜
katayan
0
180
VLAモデル構築のための AIロボット向け模倣学習キット
kmatsuiugo
0
120
us-east-1 に障害が起きた時に、 ap-northeast-1 にどんな影響があるか 説明できるようになろう!
miu_crescent
PRO
13
4.3k
OCI Security サービス 概要
oracle4engineer
PRO
2
13k
Featured
See All Featured
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.9k
Docker and Python
trallard
47
3.8k
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
320
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.2k
How to Think Like a Performance Engineer
csswizardry
28
2.5k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.5k
Code Reviewing Like a Champion
maltzj
528
40k
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
480
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
220
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
170
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で利用できます。インストールが必要です。