Définir des requêtes nommées dans une vue de source de données (Analysis Services)Define Named Queries in a Data Source View (Analysis Services)

Une requête nommée est une expression SQL représentée sous forme de table.A named query is a SQL expression represented as a table. Dans une requête nommée, vous pouvez spécifier une expression SQL pour sélectionner les lignes et les colonnes retournées d'une ou de plusieurs tables dans une ou plusieurs sources de données.In a named query, you can specify an SQL expression to select rows and columns returned from one or more tables in one or more data sources. Une requête nommée est similaire à toute autre table dans une vue de source de données (DSV) avec des lignes et des relations, si ce n'est que la requête nommée se base sur une expression.A named query is like any other table in a data source view (DSV) with rows and relationships, except that the named query is based on an expression.

Une requête nommée vous permet d'étendre le schéma relationnel des tables existantes dans une vue de source de données (DSV) sans modifier la source de données sous-jacente.A named query lets you extend the relational schema of existing tables in DSV without modifying the underlying data source. Par exemple, une série de requêtes nommées peuvent être utilisées pour diviser une table de dimension complexe en tables plus petites et plus simples à utiliser dans les dimensions de base de données.For example, a series of named queries can be used to split up a complex dimension table into smaller, simpler dimension tables for use in database dimensions. Vous pouvez également utiliser une requête nommée pour joindre plusieurs tables de base de données d'une ou plusieurs sources de données dans une seule table de vue de source de données.A named query can also be used to join multiple database tables from one or more data sources into a single data source view table.

Création d'une requête nomméeCreating a Named Query

Notes

Vous ne pouvez pas ajouter un calcul nommé dans une requête nommée, ni baser une requête nommée sur une table contenant un calcul nommé.You cannot add a named calculation to a named query, nor can you base a named query on a table that contains a named calculation.

Lorsque vous créez une requête nommée, vous spécifiez un nom, la requête SQL retournant les colonnes et les données pour la table, et en option une description de la requête nommée.When you create a named query, you specify a name, the SQL query returning the columns and data for the table, and optionally, a description of the named query. L'expression SQL peut faire référence à d'autres tables dans la vue de source de données.The SQL expression can refer to other tables in the data source view. Une fois la requête nommée définie, la requête SQL dans une requête nommée est envoyée au fournisseur de la source de données et validée dans sa globalité.After the named query is defined, the SQL query in a named query is sent to the provider for the data source and validated as a whole. Si le fournisseur ne trouve pas d'erreur dans la requête SQL, la colonne est ajoutée dans la table.If the provider does not find any errors in the SQL query, the column is added to the table.

Les tables et les colonnes référencées dans la requête SQL ne doivent pas être qualifiées ou doivent être qualifiées par le nom de table uniquement.Tables and columns referenced in the SQL query should not be qualified or should be qualified by the table name only. Par exemple, pour faire référence à la colonne SaleAmount dans une table, SaleAmount ou Sales.SaleAmount est valide, mais dbo.Sales.SaleAmount génère une erreur.For example, to refer to the SaleAmount column in a table, SaleAmount or Sales.SaleAmount is valid, but dbo.Sales.SaleAmount generates an error.

Remarque : quand vous définissez une requête nommée qui interroge une source de données SQL Server 2000SQL Server 2000 ou SQL ServerSQL Server 7.0, cela a pour effet de faire échouer une requête nommée qui contient une sous-requête corrélée et une clause GROUP BY.Note When defining a named query that queries a SQL Server 2000SQL Server 2000 or SQL ServerSQL Server 7.0 data source, a named query that contains a correlated subquery and a GROUP BY clause will fail. Pour plus d’informations, consultez Erreur interne avec l’instruction SELECT contenant une sous-requête corrélée et GROUP BY dans la Base de connaissances MicrosoftMicrosoft .For more information, see Internal Error with SELECT Statement Containing Correlated Subquery and GROUP BY in the MicrosoftMicrosoft Knowledge Base.

Ajouter ou modifier une requête nomméeAdd or Edit a Named Query

  1. Dans SQL Server Data Tools (SSDT)SQL Server Data Tools (SSDT), ouvrez le projet ou connectez-vous à la base de données qui contient la vue de source de données dans laquelle vous voulez ajouter une requête nommée.In SQL Server Data Tools (SSDT)SQL Server Data Tools (SSDT), open the project or connect to the database that contains the data source view in which you want to add a named query.

  2. Dans l’Explorateur de solutions, développez le dossier Vues des sources de données , puis double-cliquez sur la vue de source de données.In Solution Explorer, expand the Data Source Views folder, then double-click the data source view.

  3. Dans le volet Tables ou Diagramme , cliquez avec le bouton droit dans une zone ouverte, puis cliquez Nouvelle requête nommée.In the Tables or Diagram pane, right-click an open area and then click New Named Query.

  4. Dans la boîte de dialogue Créer une requête nommée , procédez comme suit :In the Create Named Query dialog box, do the following:

    1. Dans la zone de texte Nom , tapez un nom de requête.In the Name text box, type a query name.

    2. Si vous le souhaitez, dans la zone Description , tapez la description de la requête.Optionally, in the Description text box, type a description for the query.

    3. Dans la zone de liste Source de données , sélectionnez la source de données dans laquelle la requête nommée sera exécutée.In the Data Source list box, select the data source against which the named query will execute.

    4. Tapez la requête dans le volet inférieur ou utilisez les outils graphiques de création de requêtes pour créer une requête.Type the query in the bottom pane, or use the graphical query building tools to create a query.

    Notes

    L'interface utilisateur de création de requêtes dépend de la source de données.The query-building user interface (UI) depends on the data source. Au lieu d'obtenir une interface utilisateur graphique, vous pouvez obtenir une interface utilisateur générique, basée sur du texte.Instead of getting a graphical UI, you can get a generic UI, which is text-based. Vous pouvez accomplir les mêmes tâches avec ces différentes interfaces utilisateur, mais vous devez procéder différemment.You can accomplish the same things with these different UIs, but you must do so in different ways. Pour plus d’informations, consultez Boîte de dialogue Créer/Modifier la requête nommée (Analysis Services - Données multidimensionnelles).For more information, see Create or Edit Named Query Dialog Box (Analysis Services - Multidimensional Data).

  5. Cliquez sur OK.Click OK. Une icône représentant deux tables superposées apparaît dans l'en-tête de la table pour indiquer que la table a été remplacée par une requête nommée.An icon showing two overlapping tables appears in the table header to indicate that the table has been replaced by a named query.

Voir aussiSee Also

Vues de sources de données dans les modèles multidimensionnels Data Source Views in Multidimensional Models
Définir des calculs nommés dans une vue de source de données (Analysis Services)Define Named Calculations in a Data Source View (Analysis Services)