Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Los socios pueden usar esta especificación de consulta para formular fácilmente consultas personalizadas para extraer datos de las tablas de análisis. Las consultas se pueden usar para seleccionar solo las columnas y métricas deseadas que coincidan con un criterio determinado. En el corazón de la especificación del lenguaje se encuentra la definición del conjunto de datos en el que se puede escribir una consulta personalizada.
Conjuntos de datos
De la misma manera que algunas consultas se ejecutan en una base de datos que tiene tablas y columnas, una consulta personalizada funciona en conjuntos de datos que tienen columnas y métricas. La lista completa de conjuntos de datos disponibles para formular una consulta se puede obtener mediante la API de conjuntos de datos.
Este es un ejemplo de un conjunto de datos que se muestra como JSON.
{
"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
}
Partes de un conjunto de datos
- El nombre de un conjunto de datos es como el nombre de una tabla de base de datos. Por ejemplo, ISVUsage. Un conjunto de datos tiene una lista de columnas que se pueden seleccionar, como MarketplaceSubscriptionId.
- Un conjunto de datos también tiene métricas, que son como funciones de agregación en una base de datos. Por ejemplo, NormalizedUsage.
- Hay períodos de tiempo fijos durante los cuales se pueden exportar los datos.
Formulación de una consulta en un conjunto de datos
Estas son algunas consultas de ejemplo que muestran cómo extraer varios tipos de datos.
| Consulta | Descripción |
|---|---|
| ESCOGER MarketplaceSubscriptionId,CustomerId FROM ISVUsage TIMESPAN LAST_MONTH | Esta consulta recibe todos MarketplaceSubscriptionId y cada uno de sus correspondientes CustomerId en el último mes. |
| ESCOGER MarketplaceSubscriptionId, EstimatedExtendedChargeCC FROM ISVUsage ORDER BY EstimatedExtendedChargeCC LIMIT 10 | Esta consulta obtiene las 10 suscripciones principales en orden decreciente del número de licencias vendidas en cada suscripción. |
| ESCOGER CustomerId, NormalizedUsage, RawUsage FROM ISVUsage WHERE NormalizedUsage > 100000 ORDER BY NormalizedUsage TIMESPAN LAST_6_MONTHS | Esta consulta obtiene los valores NormalizedUsage y RawUsage de todos los clientes que tienen un NormalizedUsage superior a 100.000. |
| ESCOGER MarketplaceSubscriptionId, MonthStartDate, NormalizedUsage FROM ISVUsage WHERE CustomerId IN ('aaaabbbb-0000-cccc-1111-dddd2222eeee', 'bbbbcccc-1111-dddd-2222-eeee3333ffff') | Esta consulta obtiene el MarketplaceSubscriptionId y el uso normalizado para cada mes por los dos CustomerId valores: aaaabbbb-0000-cccc-1111-dddd2222eeee y bbbbcccc-1111-dddd-2222-eeee3333ffff. |
Especificación de consulta
En esta sección se describe la definición y la estructura de la consulta.
Referencia gramatical
En esta tabla se describen los símbolos utilizados en las consultas.
| Símbolo | Significado |
|---|---|
| ? | Opcional |
| * | Cero o más |
| + | Uno o más |
| | | O/Uno de la lista |
Definición de consulta
La instrucción de consulta tiene las siguientes cláusulas: SelectClause, FromClause, WhereClause?, OrderClause?, LimitClause?, y TimeSpan?.
-
SelectClause: SELECT ColumOrMetricName (, ColumOrMetricName)*
- ColumOrMetricName: Columnas y métricas definidas dentro del conjunto de datos
-
FromClause: FROM DatasetName
- DatasetName: Nombre del conjunto de datos definido dentro del conjunto de datos
-
WhereClause: WHERE FilterCondition (AND FilterCondition)*
-
FilterCondition: Valor del operador ColumOrMetricName
- Operador: = | >< | | >= | <= | != | ME GUSTA | NO GUSTA | EN | NO EN
-
Valor: Número | StringLiteral | Lista de números múltiples | MultiStringList
- Número: -? [0-9]+ (. [0-9] [0-9]*)?
- StringLiteral: ' [a-zA-Z0-9_]*'
- MultiNumberList: (Número (,Número)*)
- MultiStringList: (StringLiteral (,StringLiteral)*)
-
FilterCondition: Valor del operador ColumOrMetricName
-
OrderClause: ORDER BY OrderCondition (,OrderCondition)*
- OrderCondition: ColumOrMetricName (ASC | )*
- LimitClause: LIMIT [0-9]+
- Lapso de tiempo: TIMESPAN ( HOY | AYER | 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)
Estructura de la consulta
Una consulta de informe se compone de varias partes:
- Seleccionar
- DE
- DÓNDE
- ORDENAR POR
- LÍMITE
- INTERVALO DE TIEMPO
Cada parte se describe a continuación.
Seleccionar
Esta parte de la consulta especifica las columnas que se exportan. Las columnas que se pueden seleccionar son los campos enumerados en selectableColumns y availableMetrics las secciones de un conjunto de datos. Si hay una columna de métrica incluida en la lista de campos seleccionada, las métricas se calculan para cada combinación distinta de las columnas no métricas.
Ejemplo:
-
SELECCIONE,
OfferNameNormalizedUsage
DISTINTO
Agregar la palabra clave DISTINCT después de SELECT garantiza que los datos exportados finales no tengan filas duplicadas. La palabra clave DISTINCT funciona independientemente de si se selecciona o no una columna de métrica.
Ejemplo:
-
SELECCIONE DISTINTO
MarketplaceSubscriptionId, OfferType
DE
Esta parte de la consulta indica el conjunto de datos desde el que se deben exportar los datos. El nombre del conjunto de datos proporcionado aquí debe ser un nombre de conjunto de datos válido devuelto por la API de conjuntos de datos.
Ejemplo:
- DE
ISVUsage - DE
ISVOrder
DÓNDE
Esta parte de la consulta se usa para especificar las condiciones de filtro en el conjunto de datos. Solo las filas que coincidan con todas las condiciones enumeradas en esta cláusula están presentes en el archivo exportado final. La condición de filtro puede estar en cualquiera de las columnas enumeradas en selectableColumns y availableMetrics. Los valores especificados en la condición de filtro pueden ser una lista de números o una lista de cadenas solo cuando el operador es IN o NOT IN. Los valores siempre se pueden dar como una cadena literal y se convierten en los tipos nativos de columnas. Es necesario separar varias condiciones de filtro con una AND operación.
Ejemplo:
- MarketplaceSubscriptionId = 'aaaabbbb-0000-cccc-1111-dddd2222eeee'
- CustomerName LIKE "%Contosso%"
- CustomerId NOT IN (1000, 1001, 1002)
- Cantidad de pedido=100
- CantidadDePedido='100'
- MarketplaceSubscriptionId='bbbbcccc-1111-dddd-2222-eeee3333ffff' AND CustomerId='0f8b7fa0-eb83-a183-1225-ca153ef807aa'
ORDENAR POR
Esta parte de la consulta especifica los criterios de ordenación de las filas exportadas. Las columnas en las que se puede definir el selectableColumns orden deben provenir del y availableMetrics del conjunto de datos. Si no se especifica ninguna dirección de ordenación, se establece DESC de forma predeterminada en la columna. El orden se puede definir en varias columnas separando los criterios con una coma.
Ejemplo:
- ORDENAR POR ASC NormalizedUsage, DESC EstimatedExtendedCharge(CC)
- ORDENAR POR CustomerName ASC, NormalizedUsage
LÍMITE
Esta parte de la consulta especifica el número de filas que se exportan. El número que especifique debe ser un entero positivo distinto de cero.
INTERVALO DE TIEMPO
Esta parte de la consulta especifica el período de tiempo durante el cual se deben exportar los datos. Los valores posibles deben provenir del campo de la definición del conjunto de availableDateRanges datos.
Distinción entre mayúsculas y minúsculas en la especificación de consultas
La especificación no distingue entre mayúsculas y minúsculas. Las palabras clave, los nombres de las columnas y los valores predefinidos se pueden especificar en mayúsculas o minúsculas.