Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Partner können diese Abfragespezifikation verwenden, um auf einfache Weise benutzerdefinierte Abfragen zum Extrahieren von Daten aus Analysetabellen zu formulieren. Mit den Abfragen können nur die gewünschten Spalten und Metriken ausgewählt werden, die einem bestimmten Kriterium entsprechen. Das Herzstück der Sprachspezifikation ist die Datensatzdefinition, auf der eine benutzerdefinierte Abfrage geschrieben werden kann.
Datensätze
Auf die gleiche Weise, wie einige Abfragen für eine Datenbank mit Tabellen und Spalten ausgeführt werden, funktioniert eine benutzerdefinierte Abfrage für Datasets, die Spalten und Metriken enthalten. Die vollständige Liste der verfügbaren Datasets zum Formulieren einer Abfrage kann mithilfe der datasets-API abgerufen werden.
Hier sehen Sie ein Beispiel für ein Dataset, das als JSON angezeigt wird.
{
"datasetName": "ISVUsage",
"selectableColumns": [
"MarketplaceSubscriptionId",
"MonthStartDate",
"OfferType",
"AzureLicenseType",
"MarketplaceLicenseType",
"SKU",
"CustomerCountry",
"IsPreviewSKU",
"SKUBillingType",
"VMSize",
"CloudInstanceName",
"OfferName",
"IsPrivateOffer",
"DeploymentMethod",
"CustomerName",
"CustomerCompanyName",
"UsageDate",
"IsNewCustomer",
"CoreSize",
"TrialEndDate",
"CustomerCurrencyCC",
"PriceCC",
"PayoutCurrencyPC",
"EstimatedPricePC",
"UsageReference",
"UsageUnit",
"CustomerId",
"BillingAccountId",
"MeterDimension",
"MeterId",
"PartnerCenterDetectedAnomaly",
"PublisherMarkedAnomaly",
"NewReportedUsage",
"ActionTakenAt",
"ActionTakenBy",
"PlanId",
"ReferenceId",
"ListPriceUSD",
"DiscountedPriceUSD",
"IsPrivatePlan",
"OfferId",
"PrivateOfferId",
"PrivateOfferName",
"BillingId",
"PlanType",
"CustomerAccess",
"PublisherAccess",
"CustomerAdjustmentUSD",
"MultiParty",
"PartnerInfo",
"SalesNotes",
"IsCustomMeter",
"AssetId",
"IsMultisolution",
"VMSubscription"
],
"availableMetrics": [
"NormalizedUsage",
"MeteredUsage",
"RawUsage",
"EstimatedExtendedChargeCC",
"EstimatedExtendedChargePC",
"EstimatedFinancialImpactUSD"
],
"availableDateRanges": [
"LAST_MONTH",
"LAST_3_MONTHS",
"LAST_6_MONTHS",
"LAST_1_YEAR",
"LAST_3_YEARS"
],
"minimumRecurrenceInterval": 1
}
Teile eines Datensatzes
- Ein Datensatzname ist wie der Name einer Datenbanktabelle. Beispiel: ISVUsage. Ein Dataset verfügt über eine Liste von Spalten, die ausgewählt werden können, z. B. MarketplaceSubscriptionId.
- Ein Datensatz verfügt auch über Metriken, die wie Aggregationsfunktionen in einer Datenbank sind. Beispiel: NormalizedUsage.
- Es gibt feste Zeitspannen, über die Daten exportiert werden können.
Formulieren einer Abfrage für ein Dataset
Dies sind einige Beispielabfragen, die zeigen, wie verschiedene Datentypen extrahiert werden.
| Abfrage | BESCHREIBUNG |
|---|---|
| AUSWÄHLEN MarketplaceSubscriptionId,CustomerId FROM ISVUsage TIMESPAN LAST_MONTH | Diese Abfrage ruft alle MarketplaceSubscriptionId und die entsprechenden CustomerId im letzten Monat ab. |
| AUSWÄHLEN MarketplaceSubscriptionId, EstimatedExtendedChargeCC FROM ISVUsage ORDER BY EstimatedExtendedChargeCC LIMIT 10 | Mit dieser Abfrage werden die Top 10 Abonnements in absteigender Reihenfolge der Anzahl der im Rahmen jedes Abonnements verkauften Lizenzen abgerufen. |
| AUSWÄHLEN CustomerId, NormalizedUsage, RawUsage FROM ISVUsage WHERE NormalizedUsage > 100000 ORDER BY NormalizedUsage TIMESPAN LAST_6_MONTHS | Diese Abfrage ruft NormalizedUsage und RawUsage aller Kunden ab, die NormalizedUsage größer als 100.000 haben. |
| AUSWÄHLEN MarketplaceSubscriptionId, MonthStartDate, NormalizedUsage FROM ISVUsage WHERE CustomerId IN ('aaaabbbb-0000-cccc-1111-dddd2222eeee', 'bbbbcccc-1111-dddd-2222-eeee3333ffff') | Diese Abfrage ruft die MarketplaceSubscriptionId und die normalisierte Nutzung für jeden Monat anhand der beiden CustomerId Werte ab: aaaabbbb-0000-cccc-1111-dddd2222eeee und bbbbcccc-1111-dddd-2222-eeee3333ffff. |
Spezifikation der Abfrage
In diesem Abschnitt werden die Definition und Struktur der Abfrage beschrieben.
Grammatik-Referenz
In dieser Tabelle werden die Symbole beschrieben, die in Abfragen verwendet werden.
| Symbol | Bedeutung |
|---|---|
| ? | Wahlfrei |
| * | 0 oder mehr |
| + | Ein oder mehr |
| | | Oder/Einer aus der Liste |
Definition der Abfrage
Die Abfrageanweisung verfügt über die folgenden Klauseln: SelectClause, FromClause, WhereClause?, OrderClause?, LimitClause? und TimeSpan?.
-
SelectClause: SELECT ColumOrMetricName (, ColumOrMetricName)*
- ColumOrMetricName: Spalten und Metriken, die innerhalb des Datasets definiert sind
-
FromClause: FROM DatasetName
- DatasetName: Name des Datasets, der innerhalb des Datasets definiert ist
-
WhereClause: WHERE FilterBedingung (UND Filterbedingung)*
-
FilterCondition: Wert des ColumOrMetricName-Operators
- Operator: = | > | < | >= | <= | != | GEFÄLLT MIR | NICHT WIE | IN | NICHT IN
-
Wert: Zahl | StringLiteral | MultiNumberList | MultiStringList
- Anzahl: -? [0-9]+ (. [0-9] [0-9]*)?
- StringLiteral: ' [a-zA-Z0-9_]*'
- MultiNumberList: (Zahl (,Zahl)*)
- MultiStringList: (StringLiteral (,StringLiteral)*)
-
FilterCondition: Wert des ColumOrMetricName-Operators
-
OrderClause: ORDER BY OrderCondition (,OrderCondition)*
- OrderCondition: ColumOrMetricName (ASC DESC | )*
- LimitKlausel: LIMIT [0-9]+
- Zeitspanne: ZEITSPANNE ( HEUTE | GESTERN | LAST_7_DAYS | LAST_14_DAYS | LAST_30_DAYS | LAST_90_DAYS | LAST_180_DAYS | LAST_365_DAYS | LAST_MONTH | LAST_3_MONTHS | LAST_6_MONTHS | LAST_1_YEAR)
Abfragestruktur
Eine Berichtsabfrage besteht aus mehreren Teilen:
- AUSWÄHLEN
- VON
- WO
- SORTIEREN NACH
- Grenze
- ZEITSPANNE
Jeder Teil wird im Folgenden beschrieben.
AUSWÄHLEN
Dieser Teil der Abfrage gibt die Spalten an, die exportiert werden. Die Spalten, die ausgewählt werden können, sind die Felder, die in selectableColumns einem Datensatz aufgeführt sind, und availableMetrics Abschnitte davon. Wenn eine Metrikspalte in der Liste der ausgewählten Felder enthalten ist, werden Metriken für jede unterschiedliche Kombination der nicht metrischen Spalten berechnet.
Beispiel:
-
AUSWÄHLEN
OfferName,NormalizedUsage
EINDEUTIG
Durch das Hinzufügen des Schlüsselworts DISTINCT nach SELECT wird sichergestellt, dass die endgültigen exportierten Daten keine doppelten Zeilen enthalten. Das DISTINCT-Schlüsselwort funktioniert unabhängig davon, ob eine Metrikspalte ausgewählt ist oder nicht.
Beispiel:
-
WÄHLEN SIE EINDEUTIG
MarketplaceSubscriptionId, OfferType
VON
Dieser Teil der Abfrage gibt das Dataset an, aus dem Daten exportiert werden müssen. Der hier angegebene Datasetname muss ein gültiger Datasetname sein, der von der datasets-API zurückgegeben wird.
Beispiel:
- VON
ISVUsage - VON
ISVOrder
WO
Dieser Teil der Abfrage wird verwendet, um Filterbedingungen für das Dataset anzugeben. Nur Zeilen, die alle in dieser Klausel aufgeführten Bedingungen erfüllen, sind in der endgültigen exportierten Datei vorhanden. Die Filterbedingung kann sich auf eine der Spalten beziehen, die in selectableColumns und availableMetricsaufgeführt sind. Die in der Filterbedingung angegebenen Werte können nur dann eine Liste von Zahlen oder eine Liste von Zeichenfolgen sein, wenn der Operator IN oder NOT INist. Die Werte können immer als Literalzeichenfolge angegeben werden, und sie werden in die systemeigenen Spaltentypen konvertiert. Mehrere Filterbedingungen müssen mit einem AND Arbeitsgang getrennt werden.
Beispiel:
- MarketplaceSubscriptionId = 'aaaabbbb-0000-cccc-1111-ddddd222eeeeee'
- CustomerName LIKE '%Contosso%'
- Kunden-ID NICHT EINGEHEND (1000, 1001, 1002)
- Bestellmenge=100
- Bestellmenge='100'
- MarketplaceSubscriptionId='bbbbcccc-1111-dddd-2222-eeee3333ffff' UND CustomerId='0f8b7fa0-eb83-a183-1225-ca153ef807aa'
SORTIEREN NACH
Dieser Teil der Abfrage gibt die Sortierkriterien für die exportierten Zeilen an. Die Spalten, für die die Sortierung definiert werden kann, müssen aus dem selectableColumns und availableMetrics des Datensatzes stammen. Wenn keine Sortierrichtung angegeben ist, wird sie standardmäßig für die Spalte verwendet DESC . Die Sortierung kann für mehrere Spalten definiert werden, indem die Kriterien durch ein Komma getrennt werden.
Beispiel:
- SORTIEREN NACH NormalizedUsage ASC, EstimatedExtendedCharge(CC) DESC
- SORTIEREN NACH CustomerName ASC, NormalizedUsage
Grenze
Dieser Teil der Abfrage gibt die Anzahl der Zeilen an, die exportiert werden. Die Zahl, die Sie angeben, muss eine positive ganze Zahl ungleich Null sein.
ZEITSPANNE
Dieser Teil der Abfrage gibt den Zeitraum an, für den die Daten exportiert werden müssen. Die möglichen Werte sollten aus dem availableDateRanges Feld in der Datensatzdefinition stammen.
Berücksichtigung der Groß-/Kleinschreibung in der Abfragespezifikation
Bei der Spezifikation wird die Groß- und Kleinschreibung nicht beachtet. Vordefinierte Schlüsselwörter, Spaltennamen und Werte können in Groß- oder Kleinschreibung angegeben werden.