Referenz zur dscc-Bibliothek (Looker Studio Community Component)

Übersicht über die API

dscc (Looker Studio Community-Komponente) ist eine Bibliothek, die Sie beim Erstellen Community-Komponenten für Looker Studio. Den Quellcode finden Sie auf GitHub

dscc bietet drei Funktionen: getWidth(), getHeight() und subscribeToData().

getWidth()

Name Parameter Rückgabetyp Beschreibung
getWidth() Keine number Gibt die Breite des iFrames in Pixel

getWidth() verwenden

// to get the width of the iframe
var width = dscc.getWidth();

getHeight()

Name Parameter Rückgabetyp Beschreibung
getHeight() Keine int Gibt die Höhe des iFrames zurück in Pixeln

getHeight() verwenden

// to get the height of the iframe
var height = dscc.getHeight();

sendInteraction()

Die Funktion sendInteraction() sendet eine Nachricht mit den Daten an Looker Studio. für einen Filter.

Parameter:

Name Typ Beschreibung
actionID string Die Zeichenfolge, die entspricht die actionId in die Konfiguration
Interaktion enum(InteractionType) Teilt Looker mit Studio-Info die Interaktion
Daten object(InteractionData) Liefert die erforderliche Daten für ein Interaktion

InteractionType

Derzeit ist FILTER der einzige gültige InteractionType.

Name Typ Beschreibung
dscc.InteractionType.FILTER Enum Beschreibt die FILTER-Interaktion

sendInteraction verwenden


// the actionID can either be hardcoded or parsed from the returned data
var actionId = "interactionConfigId";

// dscc provides enums for the interaction types
var FILTER = dscc.InteractionType.FILTER;

var fieldID = "qt_m9dtntutsb";
var dataValue = "Asia";

// sendInteraction expects data that tells you the concepts and the values of
// those concepts to use in constructing a filter.
var interactionData = {
  "concepts": [fieldId],
  "values": [[dataValue]]
}

dscc.sendInteraction(actionId, FILTER, interactionData);

interactionData

var interactionData = {
  "concepts": array(fieldId),
  "values": array(array(dataValue))
}
Feld Typ Beschreibung
Konzepte Array Array mit fieldIds
Werte Array<Array> Verschachteltes Array von Datenwerten. Jedes Subarray sollte der Länge des Arrays concepts entsprechen. Jeder Wert im Subarray entspricht einem Dimensionswert.

Beispiel interactionData:

var interactionData = {
  "concepts": ["dim1Id", "dim2Id"],
  "values": [
    ["dim1Val1", "dim2Val1"],
    ["dim1Val2", "dim2Val2"]
    ]
}

Die Verwendung von dscc.sendInteraction mit dem obigen interactionData entspricht der die folgende SQL-Anweisung an:

SELECT data WHERE
  (dim1 == dim1Val1 AND dim2 == dim2Val1)
  OR
  (dim1 == dim1Val2 AND dim2 == dim2Val2);

clearInteraction()

Die Funktion clearInteraction() sendet eine Nachricht an Looker Studio, um einen Filter, der zuvor von dieser Visualisierung festgelegt wurde.

Parameter:

Name Typ Beschreibung
actionID string Die Zeichenfolge, die dem actionId in der Konfiguration
Interaktion enum(InteractionType) In Looker Studio werden die Interaktion

clearInteraction() verwenden


// the actionID can either be hardcoded or parsed from the returned data
var actionId = "interactionConfigId";

// dscc provides enums for the interaction types
var FILTER = dscc.InteractionType.FILTER;

dscc.clearInteraction(actionId, FILTER);

subscribeToData(callback, options)

Mit der Funktion subscribeToData() werden Nachrichten von Looker Studio abonniert.

Parameter:

Name Typ Beschreibung
callback(Daten) function Eine Funktion, die die von subscribeToData
Optionen object Definiert das gewünschte Datenrückgabeformat

Das Optionsobjekt sieht so aus:

{
  transform: dscc.tableTransform | dscc.objectTransform
}

Rückgabewert:

Typ Beschreibung
function Hier werden callback keine weiteren Nachrichten von Looker Studio mehr erhalten

subscribeToData() verwenden

// define and use a callback
var unsubscribe = dscc.subscribeToData(function(data){
  // console.log the returned data
  console.log(data);
}, {transform: dscc.tableTransform});

// to unsubscribe

unsubscribe();

data

Dies ist das Objekt, das an die callback übergeben wird, die mit dscc.subscribeToData. Die folgenden Felder werden gemeinsam von dscc.objectFormat und dscc.tableFormat.

{
  fields: object(fieldsByConfigId),
  style: object(styleById),
  interactions: object(interactionsById),
  theme: object(themeStyle),
  tables: object(tablesById),
  dateRanges: object(dateRangesById)
}
Feld Typ Beschreibung
Felder object(fieldsByConfigId) Ein Objekt, das Folgendes enthält: fields indexiert von ihre configId
Stil object(styleById) Ein Objekt, das Folgendes enthält: Stilobjekte nach ihrer configId indexiert
Interaktionen object(interactionsById) Ein Objekt, das Folgendes enthält: Interaktion Objekte
Design themeStyle Ein themeStyle-Objekt mit Designstilen Informationen für den Bericht
Tabellen object(tablesById) Ein Objekt, das Folgendes enthält: tableObjects
dateRanges object(dateRangesById) Ein Objekt, das Folgendes enthält: dateRanges

fieldsByConfigId

{
   configId: array(field)
}

Das fieldsByConfigId-Objekt enthält Arrays von field-Objekten, die indexiert sind. durch die „id“ definiert in den Visualisierungskonfiguration. Es gibt Ein Eintrag in diesem Objekt für jede in der Konfiguration definierte dataField.

Feld Typ Beschreibung
configId Array<field> Ein Array von Feldern, die mit dataField verknüpft sind.

Feld

{
  id: fieldId,
  name: string,
  description: string,
  type: fieldType,
  concept: enum(conceptType)
}

Das Objekt field stellt Informationen zu dem Feld bereit, das der Nutzer auswählt. im Eigenschaftenbereich.

Feld Typ Beschreibung
id string Die in Looker Studio generierte ID für das Feld
Name string Der visuell lesbare Feldname
Beschreibung string Die Beschreibung des Felds
Typ enum(fieldType) Der semanticType des Felds
Konzept enum(conceptType) Der conceptType des Felds

styleById

{
   configId: styleValue
}

Das styleById-Objekt stellt Stilinformationen bereit, die durch die „id“ indexiert werden. definiert in die Visualisierungskonfiguration.

Feld Typ Beschreibung
configId styleValue Ein Objekt, das den style -Wert und den Konfigurationsdefinierter Standardwert für Stil

styleValue

{
  value: string | object | bool | number,
  defaultValue: string | object | bool | number
}

Das styleValue-Objekt stellt sowohl den vom Nutzer ausgewählten Stilwert als auch den Standardwert, der in der Konfiguration definiert ist. Der Typ von value und defaultValue vom Stilelement abhängen.

Feld Typ Beschreibung
Wert string OR object OR bool OR number Der Wert des Stilelements von Nutzerauswahl zurückgegeben im Eigenschaftenbereich
defaultValue string OR object OR bool OR number Der Standardwert des Stils -Element definiert in den Visualisierungskonfiguration

interactionsById

{

}

Das Objekt interactionsById stellt Interaktionsdaten bereit, die vom interactionId Visualisierungskonfiguration

Index Typ Beschreibung
configId interaction Ein Objekt, das Daten enthält, die einem Interaktion

interactionField

{
  value: object(interactionValue),
  supportedActions: array(InteractionType)
}

Das Objekt interactionField enthält das Array der unterstützten Aktionen, die in definiert sind. die Konfiguration und die vom Nutzer für die Interaktion ausgewählten Werte enthält.

Feld Typ Beschreibung
Wert string OR object OR bool OR number Der Wert des Stilelements von Nutzerauswahl zurückgegeben im Eigenschaftenbereich
supportedActions Array<InteractionType> Die von diesem Interaktion, wie in den konfigurieren

interactionValue

Das Objekt interactionValue stellt vom Nutzer ausgewählte Werte für die Interaktion bereit Typ. Wenn der Schlüssel data vorhanden ist, spiegelt das Objekt InteractionData den Parameter den aktuellen Status des Filters. Wenn der Schlüssel data nicht vorhanden ist, wird die Visualisierung ist derzeit nicht als Filter konfiguriert.

{
  type: enum(InteractionType)
  data: object(interactionData) | None
}
Feld Typ Beschreibung
Typ enum(InteractionType) Der vom Nutzer ausgewählte InteractionType
Daten object(InteractionData) Die Daten die mit dem aktuellen Status den Filter. Dieser Schlüssel ist nicht vorhanden wenn der Filter gerade gelöscht ist.

Design

{
  fillColor: {
    color: string,
    opacity: number
  },
  fontColor: {
    color: string,
    opacity: number
  },
  accentFillColor: {
    color: string,
    opacity: number
  },
  accentFontColor: {
    color: string,
    opacity: number
  },
  fontFamily: string,
  accentFontFamily: string,
  increaseColor: {
    color: string,
    opacity: number
  },
  decreaseColor: {
    color: string,
    opacity: number
  },
  gridColor: {
    color: string,
    opacity: number
  },
  seriesColor: [
    {
      color: string,
      opacity: number
    }
  ]
}

Das Objekt themeStyle übergibt Informationen zum Berichtsthema an die Visualisierung.

Feld Typ Beschreibung
fillColor object Ein Objekt im Format {color: string, opacity: number}
fontColor object Ein Objekt im Format {color: string, opacity: number}
accentFillColor object Ein Objekt im Format {color: string, opacity: number}
accentFontColor object Ein Objekt im Format {color: string, opacity: number}
fontFamily string Ein String, der die Schriftfamilie beschreibt
accentFontFamily string Ein String, der die Akzentschrift beschreibt Familie
increaseColor object Ein Objekt im Format {color: string, opacity: number}
decreaseColor object Ein Objekt im Format {color: string, opacity: number}
gridColor object Ein Objekt im Format {color: string, opacity: number}
seriesColor Array<object> Ein Array mit Objekten des Format{color: string, opacity: number}

tablesById

{
  "DEFAULT": object(tableObject),
  "COMPARISON": object(tableObject) | undefined
}

Die tableObject stellt Überschriften- und Dateninformationen für jede Zeile bereit. „STANDARD“ gibt immer Daten zurück und "COMPARISON" wird nur gefüllt, wenn der Nutzer konfiguriert die Daten mit Vergleichszeilen.

Das Format des Tabellenobjekts ist der einzige Unterschied zwischen dscc.tableFormat und dscc.objectFormat.

Feld Typ Beschreibung
„STANDARD“ object(tableObject) OR Array<objectRow> Die tableObject, die mit die Daten, die Nutzende einer Visualisierung
„VERGLEICH“ object(tableObject) OR Array<objectRow> Die tableObject, die mit die Datumsvergleichsdaten, wenn zutreffend

dateRangesById

{
  "DEFAULT": object(dateRange),
  "COMPARISON": object(dateRange)
}

Das dateRangesById-Objekt stellt Informationen zum Standard und zum Vergleich bereit. Zeiträume. Wenn keine Zeiträume vorhanden sind, wird das Objekt leer. DEFAULT und COMPARISON werden nur ausgefüllt, wenn das entsprechende Datum Bereiche werden vom Nutzer konfiguriert. Die Daten in den Zeiträumen beziehen sich auf Standard- und Vergleichsdaten gemäß Definition in tablesById

Feld Typ Beschreibung
„STANDARD“ object(dateRange) Die dateRange, die mit dem Standardzeitraum (falls zutreffend).
„VERGLEICH“ object(dateRange) Die dateRange, die einem Vergleichszeitraum (falls zutreffend).

dateRange

{
  start: string,
  end: string
}

Das Objekt dateRange liefert Informationen über das Start- und Enddatum eines Standard- oder Vergleichszeitraum .

Feld Typ Beschreibung
start string Startdatum des Zeitraums im Format JJJJMMTT
Ende string Enddatum des Zeitraums im Format JJJJMMTT

tableFormat-Referenz

tableObject

{
  headers: array(object),
  rows: array(array)
}
Feld Typ Beschreibung
headers Array Ein Array mit fields-Objekten. Diese Felder Objekte haben zusätzlich das Attribut configId das den IDs aus der Konfiguration entspricht.
Zeilen Array<Array> Ein aus Arrays bestehendes Array: Jedes Array ist eine Datenzeile.

Beispieldaten für tableFormat

Dies ist ein Beispiel für data, das zurückgegeben wird, wenn dscc.subscribeToData() mit der Option verwendet wird dscc.tableFormat

{
  "tables": {
    "DEFAULT": {
      "headers": [{
        "id": "qt_ky8sltutsb",
        "name": "dimension",
        "type": "TEXT",
        "concept": "DIMENSION",
        "configId": "configId1"
      }, {
        "id": "qt_b5bvmtutsb",
        "name": "second dim",
        "type": "TEXT",
        "concept": "DIMENSION"
        "configId": "configId1"
      }, {
        "id": "qt_m9dtntutsb",
        "name": "metric",
        "type": "NUMBER",
        "concept": "METRIC",
        "configId": "configId2"
      }],
      "rows": [
        ["Week 4", "lm", 55]
      ]
    },
    "COMPARISON": {
      "headers": [{
        "id": "qt_ky8sltutsb",
        "name": "dimension",
        "type": "TEXT",
        "concept": "DIMENSION",
        "configId": "configId1"
      }, {
        "id": "qt_b5bvmtutsb",
        "name": "second dim",
        "type": "TEXT",
        "concept": "DIMENSION"
        "configId": "configId1"
      }, {
        "id": "qt_m9dtntutsb",
        "name": "metric",
        "type": "NUMBER",
        "concept": "METRIC",
        "configId": "configId2"
      }],
      "rows": [
        ["Week 5", "no", 123]
      ]
    }
  },
  "fields": {
    "configId1": [
      {
        "id": "qt_ky8sltutsb",
        "name": "week",
        "type": "TEXT",
        "concept": "DIMENSION"
      },
      {
        "id": "qt_b5bvmtutsb",
        "name": "textId",
        "type": "TEXT",
        "concept": "DIMENSION"
      }
    ],
    "configId2": [
      {
        "id": "qt_m9dtntutsb",
        "name": "orders",
        "type": "NUMBER",
        "concept": "METRIC"
      }
    ]
  },
  "style": {
    "nodeColor": {
      "value": {
        "color": "#000000"
      }
    }
  },
  "theme": {},
  "dateRanges": {
    "DEFAULT": {
      "start": "20210501",
      "end": "20210531"
    },
    "COMPARISON": {
      "start": "20200501",
      "end": "20200531"
    }
  },
  "interactions": {
    "onClick": {
      "value": {
        "type": "FILTER",
        "data": {
          "concepts": [
            "qt_h6oibrb6wb",
            "qt_i6oibrb6wb"
          ],
          "values": [
            [
              "Afternoon",
              "Sunday"
            ],
            [
              "Afternoon",
              "Thursday"
            ],
            [
              "Morning",
              "Tuesday"
            ]
          ]
        }
      },
      "supportedActions": [
        "FILTER"
      ]
    }
  }
}

ObjektFormat-Referenz

objectRow

{
  configId1: array(string | bool | number),
  configId2: array(string | bool | number)
}
Feld Typ Beschreibung
configId Array Array von Werten, die mit einer bestimmten Konfigurations-ID verknüpft sind

Beispieldaten für „objectFormat“

Dies ist ein Beispiel für data, das zurückgegeben wird, wenn dscc.subscribeToData() mit der Option verwendet wird dscc.objectFormat

{
  "tables": {
    "COMPARISON": [
      {
        "configId1": ["Week 5", "cd"],
        "configId2": [123]
      }
    ],
    "DEFAULT": [
      {
        "configId1": ["Week 1", "ab"],
        "configId2": [24]
      }
    ]
  },
  "fields": {
    "configId1": [
      {
        "id": "qt_h6oibrb6wb",
        "name": "time of day",
        "type": "TEXT",
        "concept": "DIMENSION"
      },
      {
        "id": "qt_i6oibrb6wb",
        "name": "day",
        "type": "TEXT",
        "concept": "DIMENSION"
      }
    ],
    "configId2": [
      {
        "id": "qt_m9dtntutsb",
        "name": "metric",
        "type": "NUMBER",
        "concept": "METRIC"
      }
    ]
  },
  "style": {
    "nodeColor": {
      "value": {
        "color": "#000000"
      }
    }
  },
  "theme": {},
  "dateRanges": {
    "DEFAULT": {
      "start": "20210501",
      "end": "20210531"
    },
    "COMPARISON": {
      "start": "20200501",
      "end": "20200531"
    }
  },
  "interactions": {
    "onClick": {
      "value": {
        "type": "FILTER",
        "data": {
          "concepts": [
            "qt_h6oibrb6wb",
            "qt_i6oibrb6wb"
          ],
          "values": [
            [
              "Afternoon",
              "Sunday"
            ],
            [
              "Afternoon",
              "Thursday"
            ],
            [
              "Morning",
              "Tuesday"
            ]
          ]
        }
      },
      "supportedActions": [
        "FILTER"
      ]
    }
  }
}