ตัวกรอง

หากรายงานมีตัวกรองและปลั๊กอินจากชุมชนสำหรับใช้ลิงก์ข้อมูลแสดงข้อมูลที่ไม่ได้กรอง สำหรับช่องทั้งหมดที่ขอ Data Studio จะใช้ตัวกรองกับคำตอบของปลั๊กอิน อย่างไรก็ตาม คุณสามารถใช้ตัวกรองที่ระดับปลั๊กอินจากชุมชนสำหรับใช้ลิงก์ข้อมูลได้ ซึ่งอาจช่วยปรับปรุงประสิทธิภาพได้อย่างมากในบางกรณี ระบบจะส่งข้อมูลตัวกรองในออบเจ็กต์คำขอ getData() และเครื่องมือเชื่อมต่อสามารถใช้ข้อมูลนี้เพื่อกรองข้อมูลก่อนส่งกลับไปยัง Data Studio

เช่น หากคุณเชื่อมต่อกับฐานข้อมูล SQL การใช้ตัวกรองในWHEREโดยตรง (B3 ในแผนภาพด้านล่าง) จะช่วยลดจำนวนแถวที่ส่งกลับไปยัง Data Studio ได้อย่างมาก ซึ่งจะจำกัดปริมาณ ข้อมูลที่ต้องประมวลผลและส่งไปยัง Data Studio (B5)

โฟลว์ชาร์ตตัวกรอง

กฎการใช้ตัวกรอง

  1. ใช้ตัวกรองทั้งหมด หรือไม่ใช้เลย ดูตัวกรองที่ระบบไม่รองรับ
  2. อย่าใส่ฟิลด์ forFilterOnly ในการตอบกลับ
  3. AND แต่ละรายการในอาร์เรย์ request.dimensionsFilters

    ตัวอย่างเช่น สำหรับตัวกรองต่อไปนี้ ตัวเชื่อมต่อควรมีเฉพาะค่าที่มี country เป็น USA AND และมี source เป็น Social

    {
      "dimensionsFilters": [
        [{
          "fieldName": "country",
          "values": ["USA"],
          "type": "INCLUDE",
          "operator": "EQUALS"
        }],
        [{
          "fieldName": "source",
          "values": ["Social"],
          "type": "INCLUDE",
          "operator": "EQUALS"
        }]
      ]
    }
    
  4. OR แต่ละอาร์เรย์ย่อยในอาร์เรย์ request.dimensionsFilters

    ตัวอย่างเช่น สำหรับตัวกรองต่อไปนี้ เครื่องมือเชื่อมต่อควรมีเฉพาะค่าที่มี country เป็น USA หรือมี country เป็น Canada

    {
      "dimensionsFilters": [
        [{
          "fieldName": "country",
          "values": ["Canada"],
          "type": "INCLUDE",
          "operator": "EQUALS"
        }, {
          "fieldName": "country",
          "values": ["USA"],
          "type": "INCLUDE",
          "operator": "EQUALS"
        }]
      ]
    }
    

ตัวอย่าง

ตัวอย่างต่อไปนี้แสดงโฟลว์แบบครบวงจรตั้งแต่ผู้ใช้รายงานกำหนดตัวกรองไปจนถึงปลั๊กอินจากชุมชนสำหรับใช้ลิงก์ข้อมูลที่แสดงข้อมูลที่กรองแล้ว

ตัวอย่างตัวกรอง

  1. ผู้ใช้รายงานได้กำหนดค่าตัวกรอง 2 รายการ ดังนี้

    1. country คือ IN_LIST ของ Canada, USA
    2. source คือ IN_LIST ของ Social, Organic
  2. ผู้ใช้รายงานได้กําหนดค่าคอมโพเนนต์แผนภูมิด้วยมิติข้อมูล source และเมตริก sessions

  3. getData() จะดำเนินการโดย Data Studio ด้วยออบเจ็กต์คำขอต่อไปนี้

    {
      "fields": [
        {"name": "source"},
        {"name": "sessions"},
        {"name": "country", "forFilterOnly": true}
      ],
      "dimensionsFilters": [
        [{
          "fieldName": "country",
          "values": ["Canada", "USA"],
          "type": "INCLUDE",
          "operator": "IN_LIST"
        }],
        [{
          "fieldName": "source",
          "values": ["Social", "Organic"],
          "type": "INCLUDE",
          "operator": "IN_LIST"
        }]
      ]
    }
    
  4. เครื่องมือเชื่อมต่อจะตอบกลับด้วยข้อมูลที่กรองแล้ว

    สำหรับคำขอตัวอย่าง ให้ส่งคืน source และ sessions โดยที่ country คือ "Canada" หรือ "USA" AND source คือ "Social" หรือ "Organic" ตั้งค่า filtersApplied เป็น true เนื่องจากใช้ตัวกรองทั้งหมดได้ สำเร็จ

ข้อมูลต้นฉบับ

source เซสชัน country
โซเชียล 60 USA
โซเชียล 50 แคนาดา
โซเชียล 40 สหราชอาณาจักร
ออร์แกนิก 90 USA
ออร์แกนิก 80 แคนาดา
ออร์แกนิก 70 สหราชอาณาจักร
หนังสือพิมพ์ 30 USA
หนังสือพิมพ์ 20 แคนาดา
หนังสือพิมพ์ 10 สหราชอาณาจักร

ข้อมูลที่กรอง

source เซสชัน
โซเชียล 60
โซเชียล 50
ออร์แกนิก 90
ออร์แกนิก 80

การตอบกลับ getData() รายการ

{
  "schema": [
    {"name": "source",   "dataType": "STRING"},
    {"name": "sessions", "dataType": "NUMBER"},
  ],
  "rows": [
    {"values": ["Social", 60]},
    {"values": ["Social", 50]},
    {"values": ["Organic", 90]},
    {"values": ["Organic", 80]}
  ],
  "filtersApplied": true
}

ตัวกรองที่ระบบไม่รองรับ

หากตัวเชื่อมต่อใช้ตัวกรองทั้งหมดในคำขอไม่ได้ ก็ไม่ควรทำการกรอง ส่งคืนฟิลด์ที่ขอทั้งหมด (รวมถึงฟิลด์ forFilterOnly ) และตั้งค่าคีย์ filtersApplied ในการตอบกลับเป็น false

ตัวอย่าง

{
  "schema": [
    {"name": "source",   "dataType": "STRING"},
    {"name": "sessions", "dataType": "NUMBER"},
    {"name": "country",  "dataType": "STRING"}
  ],
  "rows": [
    {"values": ["Social", 60, "USA"]},
    {"values": ["Social", 50, "Canada"]},
    {"values": ["Social", 40, "UK"]},
    {"values": ["Organic", 90, "USA"]},
    {"values": ["Organic", 80, "Canada"]},
    {"values": ["Organic", 70, "UK"]},
    {"values": ["Newspaper", 30, "USA"]},
    {"values": ["Newspaper", 20, "Canada"]},
    {"values": ["Newspaper", 10, "UK"]},
  ],
  "filtersApplied": false
}