sql >> データベース >  >> RDS >> Access

PowerBIでのMicrosoftAccessの使用

    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)

    次に、スライサーで選択した日付範囲に基づいて合計ターゲットを計算するいくつかのメジャーを作成する必要があります。

    1. 日付範囲の週数を取得します:
      WeekCount =((MAX(tblDates [CalculatedDays])-MIN(tblDates [CalculatedDays]))+ 1)/ 7
    1. ターゲットの計算:
      BillableTarget =MAX(tblEmployees [TargetBillableHrs])* [WeekCount]

    このプロジェクトの最後のステップは、Office365でWebベースのPowerBIを使用して管理者とレポートを共有することでした。これを解決するには、レポートをWebに公開してから、指定したユーザーとレポートを共有しました。現在、データはクラウドベースではないため、ゲートウェイ接続を作成せずにスケジュールの更新を作成することはできません。この場合、メインユーザー向けに毎日3ステップのプロセスがすでに確立されているため、ステップ4を追加するだけで済みました。

    1. QuickbooksからCSVファイルをエクスポートします。
    2. Accessにデータをインポートします。
    3. Power BIデスクトップを更新し、レポートを確認します。
    4. PowerBIWebに公開します。

    クイックブックからエクスポートされたデータサンプル

    最終報告


    1. SQL結合2テーブル

    2. Oracle:2つの日付を減算し、結果の分を取得する方法

    3. MicrosoftAccessのフォームにヘッダーとフッターを追加する方法

    4. MySQL UPDATE:T-SQL開発者向けのトップ5のヒント