データモデル
CData Python Connector for Facebook Ads は、Facebook Ads API をリレーショナルテーブル、ビュー、およびストアドプロシージャにモデル化します。 このセクションでは、API の制限および要件について説明します。既定の SupportEnhancedSQL 機能を使って、これらの制限の大半を回避できます。
ビュー
ビュー では、利用可能なビューを説明します。次の2種類のビューが用意されています。
- Base Views は、Ad Accounts、Campaigns、Businesses、Lead Values などを静的にモデル化するように定義されています。これらは、単独で使用されるのではなく、カスタムレポートを作成するために使用されます。デフォルトでは、これらのビューはすべての時間のデータを1つの行に集計して返します。
- Predefined Report Views は、Facebook のUI で表示される内容を正確に模倣した標準レポートのセットです。すべてのPredefined Report Views の名前には"report" が付加されています。デフォルトでは、これらのビューは、日ごとの内訳を持つすべての時間のデータ返します。
ストアドプロシージャ
ストアドプロシージャ は、データソースのファンクションライクなインターフェースです。これらを使用して、データソース内の情報を検索、更新、および変更できます。
日付範囲と集計
すべてのテーブルとビューは、日付範囲と集計をサポートしています。日付範囲
WHERE 句では、Date フィールドで=、<、> を使用して、区切り文字の間に日付範囲を定義できます。その他の定義済み日付フィールドも利用可能です:
- week
- month
- quarter
これらでフィルタリングを行う場合、= 演算子を使用して、日付を期間の初日に設定します。異なる日付を指定するとエラーが返されます。
たとえば、2022年の5月を指定するには、その月の初日を指定して、次の条件を使用します。
month = '2022-05-01'
集計
集計は複数のレベルで適用できます。“Date” は、クエリ結果に日次データを返します。次に例を示します。
SELECT ID, Target, Name, Status, "Date" FROM CData.FacebookAds.Campaigns WHERE "Date" BETWEEN '2022-01-01' and '2023-01-31' and Id = '15526475270_410830705612736_5193593'“Hour” は、選択した日付範囲で時間ごとに集計されたデータを返します。たとえば、2年分のデータをクエリして“Hour” を選択すると、2年分のデータが時間ごとに集計された24行のデータ(1時間ごとに1行)が返されます。
“DayofWeek” は、選択した日付範囲で曜日ごとに集計されたデータを返します。例えば、2年分のデータをクエリして“DayOfWeek” を選択すると、2年分のデータが曜日ごとに集計された7行のデータ(1曜日ごとに1行)が返されます。
“Week” は、選択した日付範囲で週ごとに集計されたデータを返します。例えば、2年分のデータをクエリして“Week” を選択すると、2年分のデータが週ごとに集計された104行のデータ(1週ごとに1行)が返されます。
“Month” は、選択した日付範囲で1月ごとに集計されたデータを返します。例えば、2年分のデータをクエリして“Month” を選択すると、2年分のデータが月ごとに集計された24行のデータ(1月ごとに1行)が返されます。
“MonthofYear” は、選択した日付範囲で月ごとに集計されたデータを返します。たとえば、2年分のデータをクエリして“MonthofYear” を選択すると、2年分のデータが月ごとに集計された12行のデータ(1月ごとに1行)が返されます。
“Quarter” は、選択した日付範囲で四半期ごとに集計されたデータを返します。たとえば、2年分のデータをクエリして“Quarter” を選択すると、8行のデータ(四半期ごとに1行)が返されます。なお、四半期は1月、4月、7月、10月の各月の1日を起算日と定義します。
“Year” は、選択した日付範囲で年ごとに集計されたデータを返します。たとえば、2年分のデータをクエリして“Year” を選択すると、2年分のデータが年ごとに集計された2行のデータ(1年ごとに1行)が返されます。
NOTE: "Date" を選択すると、他の日付指標がオーバーライドされます。常に日次データのみを返します。