Datasets - Execute Queries

Exécute des requêtes DAX (Data Analysis Expressions) sur le jeu de données fourni. Le jeu de données doit résider dans Mon espace de travail ou dans un autre espace de travail.

Les erreurs de requête DAX entraînent :

  • Erreur de réponse, telle que DAX query failure.
  • Un code HTTP status d’échec (400).

Une requête qui demande plusieurs tables, ou plus que le nombre autorisé de lignes de table, entraîne :

  • Données limitées retournées.
  • Erreur de réponse, telle que More than one result table in a query ou More than {allowed number} rows in a query result.
  • Un code de status HTTP réussi (200).

Les colonnes qui sont entièrement qualifiées dans la requête sont retournées avec un nom complet, par exemple . MyTable[MyColumn] Les colonnes qui sont renommées ou créées dans la requête sont retournées entre crochets, par exemple. [MyNewColumn]

Autorisations

Le paramètre de locataire l’API REST d’exécution de requêtes du jeu de données, qui se trouve sous Paramètres d’intégration, doit être activé.

L’utilisateur doit disposer des autorisations de lecture et de génération du jeu de données. Pour plus d’informations, consultez Gérer les autorisations d’accès au jeu de données.

Étendue requise

Dataset.ReadWrite.All ou Dataset.Read.All

Limites

  • Les jeux de données hébergés dans Azure Analysis Services ou qui ont une connexion active à un modèle Azure Analysis Services local ne sont pas pris en charge.
  • Une requête par appel d’API.
  • Une requête de table par requête.
  • Maximum de 100 000 lignes ou de 1 000 000 de valeurs par requête (selon ce qui est atteint en premier). Par exemple, si vous interrogez 5 colonnes, vous pouvez récupérer un maximum de 100 000 lignes. Si vous interrogez 20 colonnes, vous pouvez récupérer un maximum de 50 000 lignes (1 million divisé par 20).
  • Maximum de 15 Mo de données par requête. Une fois que 15 Mo est dépassé, la ligne actuelle est terminée, mais aucune ligne supplémentaire n’est écrite.
  • Il existe une limite de 120 requêtes par minute et par utilisateur, quel que soit le jeu de données interrogé.
  • Pour utiliser les principaux de service, assurez-vous que le paramètre de locataire administrateur Autoriser les principaux de service à utiliser les API Power BI sous Paramètres du développeur est activé. Toutefois, quel que soit le paramètre de locataire administrateur, les principaux de service ne sont pas pris en charge pour les jeux de données avec des limitations RLS par RLS ou des jeux de données avec l’authentification unique activée.
  • Seules les requêtes DAX sont prises en charge pour l’instant. Les requêtes MDX et DMV ne sont pas prises en charge.

POST https://api.powerbi.com/v1.0/myorg/datasets/{datasetId}/executeQueries

Paramètres URI

Nom Dans Obligatoire Type Description
datasetId
path True

string

ID du jeu de données

Corps de la demande

Nom Obligatoire Type Description
queries True

DatasetExecuteQueriesQuery[]

Liste des requêtes de jeu de données à exécuter

impersonatedUserName

string

UPN d’un utilisateur à emprunter l’identité. Si le modèle n’est pas activé, cela sera ignoré.

serializerSettings

DatasetExecuteQueriesSerializationSettings

Paramètres de sérialisation du jeu de résultats

Réponses

Nom Type Description
200 OK

DatasetExecuteQueriesResponse

Ok

Exemples

Execute queries example

Sample Request

POST https://api.powerbi.com/v1.0/myorg/datasets/cfafbeb1-8037-4d0c-896e-a46fb27ff229/executeQueries
{
  "queries": [
    {
      "query": "EVALUATE VALUES(MyTable)"
    }
  ],
  "serializerSettings": {
    "includeNulls": true
  },
  "impersonatedUserName": "someuser@mycompany.com"
}

Sample Response

{
  "results": [
    {
      "tables": [
        {
          "rows": [
            {
              "MyTable[Year]": 2010,
              "MyTable[Quarter]": "Q1"
            },
            {
              "MyTable[Year]": 2010,
              "MyTable[Quarter]": "Q2"
            },
            {
              "MyTable[Year]": 2011,
              "MyTable[Quarter]": "Q1"
            }
          ]
        }
      ]
    }
  ]
}

Définitions

Nom Description
DatasetExecuteQueriesError

Détails d’une erreur, le cas échéant.

DatasetExecuteQueriesInformationProtectionLabel

Détails de l’étiquette de protection des informations, le cas échéant, associée au jeu de données.

DatasetExecuteQueriesQuery

Requête de jeu de données

DatasetExecuteQueriesQueryResult

Résultats d’une requête de jeu de données unique

DatasetExecuteQueriesRequest

Demande d’exécution de requêtes sur un jeu de données

DatasetExecuteQueriesResponse

Réponse à une demande d’exécution de requêtes de jeu de données

DatasetExecuteQueriesSerializationSettings

Paramètres de sérialisation pour les résultats d’une requête de jeu de données

DatasetExecuteQueriesTableResult

Table de données

DatasetExecuteQueriesError

Détails d’une erreur, le cas échéant.

Nom Type Description
code

string

Code associé à l’erreur

message

string

Message de l’erreur. Si elles ne sont pas présentes ici, ces informations se trouvent également dans l’objet détails imbriqué sous l’objet d’erreur.

DatasetExecuteQueriesInformationProtectionLabel

Détails de l’étiquette de protection des informations, le cas échéant, associée au jeu de données.

Nom Type Description
id

string

Identificateur (guid) de l’étiquette de protection des informations

name

string

Nom d’affichage de l’étiquette de protection des informations

DatasetExecuteQueriesQuery

Requête de jeu de données

Nom Type Description
query

string

Requête DAX à exécuter

DatasetExecuteQueriesQueryResult

Résultats d’une requête de jeu de données unique

Nom Type Description
error

DatasetExecuteQueriesError

Détails d’une erreur, le cas échéant.

tables

DatasetExecuteQueriesTableResult[]

Liste des données de tables pour une requête

DatasetExecuteQueriesRequest

Demande d’exécution de requêtes sur un jeu de données

Nom Type Description
impersonatedUserName

string

UPN d’un utilisateur à emprunter l’identité. Si le modèle n’est pas activé, cela sera ignoré.

queries

DatasetExecuteQueriesQuery[]

Liste des requêtes de jeu de données à exécuter

serializerSettings

DatasetExecuteQueriesSerializationSettings

Paramètres de sérialisation du jeu de résultats

DatasetExecuteQueriesResponse

Réponse à une demande d’exécution de requêtes de jeu de données

Nom Type Description
error

DatasetExecuteQueriesError

Détails d’une erreur, le cas échéant.

informationProtectionLabel

DatasetExecuteQueriesInformationProtectionLabel

Détails de l’étiquette de protection des informations, le cas échéant, associée au jeu de données.

results

DatasetExecuteQueriesQueryResult[]

Liste de résultats, un par requête d’entrée.

DatasetExecuteQueriesSerializationSettings

Paramètres de sérialisation pour les résultats d’une requête de jeu de données

Nom Type Description
includeNulls

boolean

Indique si des valeurs null (vides) doivent être incluses dans le jeu de résultats. Si la valeur n’est pas spécifiée, la valeur par défaut est false.

DatasetExecuteQueriesTableResult

Table de données

Nom Type Description
error

DatasetExecuteQueriesError

Détails d’une erreur, le cas échéant.

rows

object[]

Liste de lignes