PowerBIでのMicrosoftAccessの使用
最近、Power BIでQuickBooksデータを表示したいクライアントがいましたが、前者は後者に接続してデータを取得できなかったため、Accessを使用してデータをクリーンアップし、最後にアップロードして、Quickbooksからデータをエクスポートすることにしました。 PowerBI.comにアクセスして、他の従業員が分析を確認できるようにします。
QuickBookデータの分析
PowerBI.comはQuickBooksデータを直接読み取ることができますが(https://docs.microsoft.com/en-us/power-bi/service-connect-to-quickbooks-onlineを参照)、クライアントは含まれていないレポートを必要としていました。私たちが提供したソリューションは、CSVにエクスポートされたQBレポートを使用してQuickBooksからデータを簡単にインポートできるAccessデータベースでした。次に、Accessにデータをクリーンアップさせ、ローカルテーブルとマージして、必要な結果を取得しました。 csvファイルからデータをアップロードし、レポート用にPowerBI.comに接続されたアクセステーブルに保存するコードをAccessに追加しました。
データベースに必要なデータを設定したら、Power BIデスクトップアプリケーションをユーザーに提供し、必要なビジュアルとAccessテーブルからのデータソースを使用してダッシュボードを作成しました。この場合、クライアントは32ビットAccessを使用していたため、32ビットバージョンのPower BI Desktopをインストールし、Microsoft Access DatabaseEngine2010再頒布可能パッケージをインストールしました。
クライアントの要件の1つは、目標を達成するために従業員の時間を追跡することでした。それぞれに週ごとの目標がありましたが、選択した日付範囲での目標の割合も確認したいと考えていました。たとえば、従業員の目標が週32であった場合などです。分析された日付は2週間で、目標は64である必要があります。
ステップ1:日付テーブルを追加する
まず、受け取ったデータに基づいて、1年の毎日を含む日付テーブルが必要でした。 [モデリング]タブの[新しいテーブル]ボタンを使用して、アクティビティテーブルの最も早い日付から最も遅い日付までの範囲の日付テーブルを作成するDax式を使用することができました。 PowerBIでは、次の式を使用しました:
レポートで、Power BIウィンドウの上部にある[モデリング]タブで、[新しいテーブル]を選択します。
日付となるテーブルの最初の列を作成する必要があります。 Tableをテーブル名に置き換えてから、CALENDAR関数を使用して必要な日付範囲を設定します。以下の例では、テーブルtblTimeActivitiesの日付を使用しており、ActivityDateは日付フィールドの名前です。開始日として最小日、終了日として最大日を選択しています。このメソッドを使用すると、tblTimeActivitiesにさらにデータをインポートするにつれて、日付テーブルの日付が大きくなります。
または、次のスクリプトを使用して、開始日と終了日をハードコーディングすることもできます。
日付列ができたら、必要な他の日付関連の列を追加できます。
ここの例では、日付の年を抽出しています。その他のオプションは次のとおりです。
月=MONTH((tblDates [Date]))
週=WEEKNUM(tblDates [日付])
週の開始=tblDates[日付]+1 – WEEKDAY(tblDates [日付])
MonthName =FORMAT(tblDates [Date]、“ mmm”)
次のステップは、各日付の日数を提供する計算列を追加することでした:
CalculatedDays =DATEDIFF(tblDates [Date]、TODAY()、DAY)
次に、スライサーで選択した日付範囲に基づいて合計ターゲットを計算するいくつかのメジャーを作成する必要があります。
- 日付範囲の週数を取得します:
WeekCount =((MAX(tblDates [CalculatedDays])-MIN(tblDates [CalculatedDays]))+ 1)/ 7
- ターゲットの計算:
BillableTarget =MAX(tblEmployees [TargetBillableHrs])* [WeekCount]
このプロジェクトの最後のステップは、Office365でWebベースのPowerBIを使用して管理者とレポートを共有することでした。これを解決するには、レポートをWebに公開してから、指定したユーザーとレポートを共有しました。現在、データはクラウドベースではないため、ゲートウェイ接続を作成せずにスケジュールの更新を作成することはできません。この場合、メインユーザー向けに毎日3ステップのプロセスがすでに確立されているため、ステップ4を追加するだけで済みました。
- QuickbooksからCSVファイルをエクスポートします。
- Accessにデータをインポートします。
- Power BIデスクトップを更新し、レポートを確認します。
- PowerBIWebに公開します。
クイックブックからエクスポートされたデータサンプル
最終報告