Customize Dimensions and Metrics for GoogleAnalyticsSource

Die Google API kann derzeit auf über 100 verschiedene Dimensionen und fast ebenso viele Metriken zugreifen. Eine vollständige Liste aller Dimensionen und Metriken ist in der Dimensions & Metrics Reference inkl. detaillierter Beschreibung und teilweise sogar mit den genauen Kalkulationen zu finden. Leider besteht bisher jedoch keine Möglichkeit die Dimensionen und Metriken über die API inkl. Datentypen auszulsen, so dass ich diese für die meine SSIS GoogleAnalyticsSource Komponente manuell hinterlegen muss.

In den ersten Versionen waren die entsprechenden Daten als XML Dateien in die Komponente eingebettet, die bei jedem neuen Releases manuell aktualisiert wurden. Seit der letzten Version verfügt die Komponente aber auch über die Möglichkeit Dimensionen und Metriken aus einer externen XML-Datei einzulesen – leider ist das Feature noch nicht so sehr bekannt.

In der Eigenschaften der Komponente befinden sich die beiden Eigenschaften Dimensions und Metrics, jeweils mit den Standardwerten <Embedded Resource>.

image

Über die Schaltfläche neben der Textbox lassen sich auch XML Dateien mit den jeweiligen Daten aus dem Dateisystem laden. Die Originaldateien werden während der Installation mit in das Installationsverzeichnis %PROGRMFILES%\SSIS-Components.net\SSIS GoogleAnalyticsSource\ gespeichert und können dort sehr einfach editiert werden.

<Dimensions>
    <ID>24</ID>
    <Name>Ad Destination URL</Name>
    <APIName>ga:adDestinationUrl</APIName>
    <Description>The URLs to which your AdWords ads referred traffic.</Description>
    <Category>AdWords</Category>
    <DataType>DT_WSTR</DataType>
    <Length>4000</Length>
    <Precision />
    <Scale />
</Dimensions>

Die ID wird ausschließlich intern verwendet, Name und Description dienen der Anzeige innerhalb der Kompoente, APIName ist der Name innerhalb der Google API. Die vier Elemente DataType, Length, Precision und Scale beschreiben den Datentypen innerhalb der SQL Server Integration Services. Das Elemnt Category stammt auch aus der Google Referenz, wird derzeit aber noch nicht innerhalb der Komponente verwendet.

Die Metriken vefügen über die identische Datentruktur

<Metrics>
    <Name>AVG Event Values</Name>
    <APIName>ga:avgEventValue</APIName>
    <Description>The average value of an event.</Description>
    <ID>210</ID>
    <Category>Event Tracking</Category>
    <DataType>DT_R8</DataType>
    <Length />
    <Precision />
    <Scale />
</Metrics>

Veröffentlich Google neue Dimensionen oder Metriken oder stimmen die hinterlegten Datentypen der Metriken/Dimensionen nicht mehr mit der API überein, so können Elemente in einer oder beiden Dateien verändert werden und in der Komponente ausgewählt werden.

Zu beachten ist der Speicherort der entsprechenden Dateien. Der Installationspfad eignet sich im Normalfall nicht dafür, da der ausführende Benutzer/Prozess des SSIS Paketes über entsprechende Berechtigungen verfügen muss. Auch beim Deployment ist auf die entsprechenden Dateien zu achten, da diese manuell auf das Zielsystem kopiert werden müssen.