Power BI Desktop で SharePoint リストのデータを使用できるようにしてみる。以前から可能だったのだけど、そのままインポートするのもなんので クエリエディタ で加工してみた。
SharePoint リストについては "SharePoint リスト" / "SharePoint Online リスト" とふたつあるけど機能は同じ。
2016/05/01
PowerApps がパブリック プレビュー
Microsoft PowerApps が パブリック プレビュー となったので お試しができるようにしてみた。
Announcing Public Preview for PowerApps
以前でいうところの、Project Siena (beta)
で、招待制プレビューではなくなったので サインアップ で使えるようになるはず。
日本語サイトはまだなかった。"Start now" もしくは、 "Sign up free" で。
Announcing Public Preview for PowerApps
以前でいうところの、Project Siena (beta)
で、招待制プレビューではなくなったので サインアップ で使えるようになるはず。
日本語サイトはまだなかった。"Start now" もしくは、 "Sign up free" で。
ラベル:
Office 365,
PowerApps
2016/03/19
2016/03/13
Power BI - 24 - Power BI Desktop と 日付テーブル
タイム インテリジェンス関数を使いたいです。なぜなら、期間(年、月、前年とか)を伴う比較集計にとても便利だから。
ここで必要になるのは 日付テーブル。なので、データモデルにテーブル"カレンダー"を追加する。
MSDN : タイム インテリジェンス関数 (DAX)ファクトテーブル"受注"の "受注日" と "締切日" は 受注と請求に関連する日付とみなしていくつかの集計を行えるようにしてみる。
Office.com : Power Pivot in Excel のタイム インテリジェンス
ここで必要になるのは 日付テーブル。なので、データモデルにテーブル"カレンダー"を追加する。
ラベル:
Power BI,
Power BI Desktop
2016/03/01
Power BI - 23 - Power BI と Cortana
Windows 10 の Cortana で Power BI レポートを呼び出してみる。
いくつか試してみたんだけど日本語環境のコルタナさんではできていない。
Power BI Service ダッシュボードのQ&A自体が英語のみサポートなのだけど日本語のキーワードを使用してレポートやビジュアルをCortana で表示させることは可能なので、en-us な環境でいろいろと試していてとても楽しい。主な設定は、
いくつか試してみたんだけど日本語環境のコルタナさんではできていない。
Power BI Service ダッシュボードのQ&A自体が英語のみサポートなのだけど日本語のキーワードを使用してレポートやビジュアルをCortana で表示させることは可能なので、en-us な環境でいろいろと試していてとても楽しい。主な設定は、
- データセットの設定
- レポート ページの設定
ラベル:
Cortana,
Power BI,
Windows 10
2016/02/14
Power BI - 22 - Power BI Desktop と Access アプリ
データソースから得ることができない情報はデータモデルに追加すればよい。データソースにディメンジョン テーブルとなりえるデータを用意し一緒に抽出 / Extract してもよいのだけど、セルフサービスBI なのだからレポートに必要なデータを自分で持ち込んでもよいのである。運用フェーズに移行しているアプリケーションをできれば更新したくないこともあるし。
テーブル:得意先 の"都道府県"を地理的エリアのスライサに利用できているのだけど、
テーブル:得意先 の"都道府県"を地理的エリアのスライサに利用できているのだけど、
- 得意先が存在しない地域の集計
- "都道府県"別以外のスライサ
2016/02/07
Power BI - 21 - Power BI Desktop と Access アプリ
Power BI Desktop だけを使用するだけなら Power BI Service のアカウントやサインインは不要なのだけど、集計レポートを共有をしようとするとき便利だし、Access アプリ(Access Services) をデータソースにしているのだから、Power BI のサブスクリプションを所有しライセンスが割り当てられているいることを前提として Power BI Service への発行 / Publish をしてみる。
発行
発行
Power BI Desktop からの発行Power BI Service で[データの取得] をする場合、
2016/02/06
Access 2016 への製品バージョンアップ
Surface Book(ja-jp)を買っちゃったのだけど、プレインストールされた Office スイート と Access 2013 についての問題を解決した。PIPC な システムを買うことがほぼないのでこれまで確かめてなかった件。
以前に購入した Surface Pro には Office Home and Business 2013 が用意されていたが、Access が含まれない Office スイートなので Access 2013(C2R)別途追加購入し使っていた。
Surface Book は
Access 2013(C2R) を先にインストールしても制限があり、続行すると Access はアンインストールされることになる。
で、どうするか。
以前に購入した Surface Pro には Office Home and Business 2013 が用意されていたが、Access が含まれない Office スイートなので Access 2013(C2R)別途追加購入し使っていた。
Surface Book は
Microsoft Office Home & Business Premium プラス Office 365 サービスが用意されているのだけど、同様に Access が含まれない Office スイートであり、Office 2016 へのバージョンアップが可能。次々と機能が追加されていくであろう Office 2016 バージョンを使いたいのだけど、ここで発生する問題は Click-to-Run製品(C2R) の仕様による制限。
Office 2016 購入に関する ご注意にある内容通り、Office 2016 にバージョンアップすると Access 2013(C2R)がインストールできない。
![]() |
| シミュレーション環境なので実際とは異なるかもですよ |
Access 2013(C2R) を先にインストールしても制限があり、続行すると Access はアンインストールされることになる。
![]() |
| シミュレーション環境なので... |
で、どうするか。
ラベル:
Access 2013,
Access 2016,
Office 2016
2016/01/31
Power BI - 20 - Power BI Desktop と Access アプリ
受注結果が記録されている"受注"テーブルで ファクト テーブル。これから受注額などを計算する。
テーブル '受注' には、
テーブル '受注' には、
- [単価] --- 受注商品の単価
- [数量] --- 受注商品の数量
- [割引] --- 受注明細ごとの割引率
- [受注コード] --- 受注ごとのユニークキー
- 新しい列(計算列)を追加する
- 新しいメジャーを追加する
2016/01/24
Power BI - 19 - Power BI Desktop と Access アプリ
Power BI のレポートに使用するために下ごしらえをしてみる。
インポートで作成されたデフォルトのデータモデルで作業することは不可能ではないのだけど、適した状態とはいえないから、使用しない/不要なカラムの排除やスキーマの変換を実施する。
Power BI Desktopでのレポート作業では問題が発生しなくても、Power BI Serviceにインポートしたとき、満足できるパフォーマンスや期待する結果が得られないかもしれない。
ETLのT(Transform/変換)の作業を実施しないと、テーブルに存在するカラムすべてをインポートしてしまう。社員の誕生日などは受注に関するBIには不要であることは明白。また、第3正規化はリレーショナルデータベースに用いられていること多いが、BIでは適していない状態。
インポートで作成されたデフォルトのデータモデルで作業することは不可能ではないのだけど、適した状態とはいえないから、使用しない/不要なカラムの排除やスキーマの変換を実施する。
Power BI Desktopでのレポート作業では問題が発生しなくても、Power BI Serviceにインポートしたとき、満足できるパフォーマンスや期待する結果が得られないかもしれない。
ETLのT(Transform/変換)の作業を実施しないと、テーブルに存在するカラムすべてをインポートしてしまう。社員の誕生日などは受注に関するBIには不要であることは明白。また、第3正規化はリレーショナルデータベースに用いられていること多いが、BIでは適していない状態。
2016/01/19
Power BI - 18 - Power BI Desktop と Access アプリ
Power BI Service(直接接続)だとデータ加工の程度に限界があるので、Power BI Desktop を使ってみる。Access アプリに専用のクエリなど用意すればできなくはないけれども、他データソースとの結合などもしたいこともあるでしょうし、Power BI Service にアップロードするにしても Power BI Pro の契約は不要なので。
まずはデータのロードまで。
SharePoint Online で実行する Access アプリのデータは、Microsoft Azure SQL データベースなので、[データの取得]では、"Microsoft Azure SQL Database"で接続。事前にAccess アプリの[接続]でファイアウォールを通るようにしておくことは当然に必要。
まずはデータのロードまで。
SharePoint Online で実行する Access アプリのデータは、Microsoft Azure SQL データベースなので、[データの取得]では、"Microsoft Azure SQL Database"で接続。事前にAccess アプリの[接続]でファイアウォールを通るようにしておくことは当然に必要。
2016/01/14
Power BI - 17 - Power BI Access アプリのデータ
SharePoint Online のAccess アプリ(Access Services) のデータを Power BI でレポートできるようにしてみる。Access アプリのデータベースは Azure SQL Databaseなので、使うツールの選択とその設定だけで Power BI で分析レポートが利用できるということ。
Access アプリ の [接続] 設定
Access Services 以外から Azure SQL Database に接続できるためのファイアウォールを開放する。
Access アプリ の編集で、[ファイル] → [情報] → [接続]
"任意の場所" と "読み取り専用接続を有効にする" を有効
"読み取り専用接続の情報の表示" で データベース情報とログインアカウントを入手
Access アプリ の [接続] 設定
Access Services 以外から Azure SQL Database に接続できるためのファイアウォールを開放する。
Access アプリ の編集で、[ファイル] → [情報] → [接続]
"任意の場所" と "読み取り専用接続を有効にする" を有効
"読み取り専用接続の情報の表示" で データベース情報とログインアカウントを入手
ラベル:
Access app,
Office 365,
Power BI
2016/01/02
Access 2016 Runtime で気にすべきこと
先月初旬にリリースされていたのだけど、必要に応じて使用すればよいかと。
ダウンロードはこちらから、 Microsoft Access 2016 Runtime
MSI インストールになりますので、他Office製品(C2R / MSI)インストール状況に影響を受けます。展開環境 / 用途用法を充分に検討されるべきでしょう。また、製品の更新はMicrosoft Update 経由になるのでチェックは怠りなく。
ダウンロードはこちらから、 Microsoft Access 2016 Runtime
MSI インストールになりますので、他Office製品(C2R / MSI)インストール状況に影響を受けます。展開環境 / 用途用法を充分に検討されるべきでしょう。また、製品の更新はMicrosoft Update 経由になるのでチェックは怠りなく。
ラベル:
Access 2016,
Runtime
2016/01/01
Power BI - 16 - Power BI Desktop データの入力
データソースなどから抽出することなくデータテーブルを新規に作成することができる。
2015/12 リリースバージョン(2.30.4246.281)からの機能
データの入力/Entry Data コマンド
データソースがなくてもよいのでちょっとした分析作業やほとんど更新されることがないデータの投入としたら便利かと思う。
[ホーム] → [外部データ] → [データの入力] で "テーブルの作成"ダイアログが開くので、ワークシートからコピペするもよし、手投入するもよし。
2015/12 リリースバージョン(2.30.4246.281)からの機能
- データの入力/Entry Data コマンド
- DATATABLE 関数(ひとつ前の2.29.4217.341 から)
データの入力/Entry Data コマンド
データソースがなくてもよいのでちょっとした分析作業やほとんど更新されることがないデータの投入としたら便利かと思う。
[ホーム] → [外部データ] → [データの入力] で "テーブルの作成"ダイアログが開くので、ワークシートからコピペするもよし、手投入するもよし。
ラベル:
Power BI,
Power BI Desktop
2015/12/27
Power BI - 15 - Power Query テーブルの和結合
複数のクエリ結果のテーブルをひとつのテーブルに結合することについて。
データソースが複数になることはよくあるし、日ごとのログをまとめて集計するときなど和結合することになる。
Table.Combine(MSDN - Table.Combine)
Table.Combine(tables as list) as table
引数 'tables' は list なので、Table.Combine({table1, table2, ...}) という記述になる。
また、連結演算子(&) で和結合、table1 & table2 & ... でもよい。
データ型が異なってもカラム名に従い結合される。データ型の変換は別途必要なことがありえる。
カラム名はいわゆる Case-Sensitive。ただし、Power Query 上だけ。ロードしたときにエラーになるがロード先が Excel テーブルの場合はナンバリングが追加されるのでエラーにはならない。
結合されるテーブルすべてのカラムが追加されるが、値が存在しないレコードでの フィールドの値は null。
データソースが複数になることはよくあるし、日ごとのログをまとめて集計するときなど和結合することになる。
Table.Combine(MSDN - Table.Combine)
Table.Combine(tables as list) as table
引数 'tables' は list なので、Table.Combine({table1, table2, ...}) という記述になる。
また、連結演算子(&) で和結合、table1 & table2 & ... でもよい。
let
Table1 = #table(type table [F01 = text, F02 = Int64.Type], {{"a", 10}, {"b", 20}}),
Table2 = #table(type table [F01 = text, F02 = text], {{"c", "30"}, {"d", "40"}}),
Table3 = #table(type table [F01 = text, f02 = Int64.Type], {{"e", 50}, {"f", 60}}),
Table4 = #table(type table [F01 = text, F03 = Int64.Type], {{"g", 70}, {"h", 80}})
in
Table.Combine({Table1, Table2, Table3, Table4})
// Table1 & Table2 & Table3 & Table4
であるとき、データ型が異なってもカラム名に従い結合される。データ型の変換は別途必要なことがありえる。
カラム名はいわゆる Case-Sensitive。ただし、Power Query 上だけ。ロードしたときにエラーになるがロード先が Excel テーブルの場合はナンバリングが追加されるのでエラーにはならない。
結合されるテーブルすべてのカラムが追加されるが、値が存在しないレコードでの フィールドの値は null。
2015/12/02
Power BI - 14 - Power Query SharePoint.Tables
全く関係ないですが PowerApps のプレビューについてリリースさましたね。とても楽しみです。
いち早く試してみたい場合には、
さて、今年も参加させてもらっている Office 365 Advent Calendar 2015 の 2日目です。
Power BI を推している今年なので、引き続き Power Query + Office 365 についてポストします。
Power Query は様々なソースからデータを収集加工(ETL)することができるとても便利な道具なのですが、SQL Server などデータベース以外を簡単にデータソースにすることができます。その中でOffice 365 に関連したソースとして SharePoint リストを取り上げてみます。
ja-jp なSharePoint サイトではうまく使えなかったりでした機能でしたが問題は概ね解決しているようです。
いち早く試してみたい場合には、
Microsoft PowerApps: power your business with appsからリクエストしてみてください。そのうち案内が届くと思います。
さて、今年も参加させてもらっている Office 365 Advent Calendar 2015 の 2日目です。
Power BI を推している今年なので、引き続き Power Query + Office 365 についてポストします。
Power Query は様々なソースからデータを収集加工(ETL)することができるとても便利な道具なのですが、SQL Server などデータベース以外を簡単にデータソースにすることができます。その中でOffice 365 に関連したソースとして SharePoint リストを取り上げてみます。
ja-jp なSharePoint サイトではうまく使えなかったりでした機能でしたが問題は概ね解決しているようです。
2015/11/23
Power BI - 13 - Power Query Text.Format
Power Query の追加/更新された関数について
プレースホルダ と カルチャを指定できる文字列への変換。
Text.Format
Text.Format(formatString as text, argument as any, optional culture as nullable text) as text
引数 'argument' は、list もしくは record
プレースホルダは 引数 'argument' が list のとき、#{n}、record のとき、#[fieldname]
引数 'culture' は、Text.From と同じ
プレースホルダ と カルチャを指定できる文字列への変換。
Text.Format
Text.Format(formatString as text, argument as any, optional culture as nullable text) as text
引数 'argument' は、list もしくは record
プレースホルダは 引数 'argument' が list のとき、#{n}、record のとき、#[fieldname]
引数 'culture' は、Text.From と同じ
Power BI - 12 - Power Query Text.Middle vs Text.Range
Power Query の追加/更新された関数について
"Text.Middle vs Text.Range" としましたが、Text.Middle でいいじゃんという内容。いずれも引数は変わらず文字列の切り出しができるが、引数 'count' 範囲外の扱いが異なる。
Text.Range (MSDN - Text.Range)
Text.Range(text as nullable text, offset as number, optional count as nullable number) as nullable text
Text.Middle
Text.Middle(text as nullable text, start as number, optional count as nullable number) as nullable text
"Text.Middle vs Text.Range" としましたが、Text.Middle でいいじゃんという内容。いずれも引数は変わらず文字列の切り出しができるが、引数 'count' 範囲外の扱いが異なる。
Text.Range (MSDN - Text.Range)
Text.Range(text as nullable text, offset as number, optional count as nullable number) as nullable text
Text.Middle
Text.Middle(text as nullable text, start as number, optional count as nullable number) as nullable text
2015/11/14
Office Insider が始まりました。
Office Insider が始まりました。日本語サイトはまだなのだけど、ja-jp 環境であってもこの先に追加される Office の新しい機能などを試すことができる。
追加されていく機能は、
追加されていく機能は、
What's New and Improved in Office 2016 for Office 365で公開されるものなのだろうけど、Current Branch(CB)より先にリリースされる FirstReleaseCurrent という更新スケジュールになる。対象は C2R のサブスクリプション製品ということだろう。
2015/11/08
Power BI - 11 - Zabbix API を Power Query で使ってみる
Web.Contents (Power Query) を使うとコンテンツのダウンロードができる。バイナリコンテンツを加工することで必要なデータにすることができるのだけど、POST が必要な Webサービスもあるので。
例えば、Zabbix API のバージョンを得るためのリクエストは、
Web.Contents(url as text, optional options as nullable record) as binary引数 "options" を使ってリクエスト時に Content などを渡すとよい。そこで、Zabbix を使うことがあったので、Power Query + Zabbix API を試してみた。なお、Zabbix API は JSON-RPC というプロトコルなので、JSON 形式のパラメータを送信 / JSON 形式で結果を受信する。Content-Type は application/json-rpc。
例えば、Zabbix API のバージョンを得るためのリクエストは、
{
"jsonrpc": "2.0",
"method": "apiinfo.version",
"params": [],
"id": 1
}
こんな感じなので、Power Query ではlet
ZabbixServer = "http://Server/zabbix/api_jsonrpc.php",
RequerstJSON = Text.Format(
"{""jsonrpc"":""2.0"",""method"":""apiinfo.version"",""id"":#{0}}",
{Number.Round(Number.RandomBetween(1,9999))}
),
Options = [Headers = [#"Content-Type" = "application/json-rpc"],
Content = Text.ToBinary(RequerstJSON)],
Response = Web.Contents(ZabbixServer, Options),
ImportedJSON = try Json.Document(Response),
Result = if ImportedJSON[HasError]
then ImportedJSON[Error]
else if ImportedJSON[Value][id] = null
then ImportedJSON[Value][error]
else ImportedJSON[Value]
in
Result
ラベル:
Excel 2016,
Power BI,
Power Query,
Zabbix API
登録:
投稿 (Atom)













