DetailPage-MSS-KB

Base de connaissances

Numéro d'article: 942654 - Dernière mise à jour: mardi 9 octobre 2007 - Version: 1.1

 
Bogue: #50001670 (correctifs SQL)
Microsoft distribue les correctifs Microsoft SQL Server 2005 le biais comme un fichier téléchargeable. Les correctifs étant cumulatifs, chaque nouvelle version contient tous les correctifs et tous les correctifs de sécurité qui étaient fournis avec la précédente SQL Server 2005 version du correctif.

Sommaire

Symptômes

Lorsque vous exécutez une requête MDX (Multidimensional Expressions) dans SQL Server 2005 Analysis Services, la requête MDX renvoie un résultat incorrect. Ce problème se produit si les conditions suivantes sont remplies :
  • La requête MDX contient une fonction de filtre.
  • La fonction filtre est imbriquée dans une fonction CROSSJOIN.

Résolution

Le correctif de ce problème a été tout d'abord publié en mise à jour cumulative 4. Pour plus d'informations sur l'obtention de ce package de mise à jour cumulative de SQL Server 2005 Service Pack 2, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft :
941450  (http://support.microsoft.com/kb/941450/LN/ ) Package de cumulative mise à jour 4 pour SQL Server 2005 Service Pack 2
note Les versions étant cumulatifs, chaque nouvelle version de correctif contient tous les correctifs et tous les correctifs de sécurité qui étaient fournis avec la précédente SQL Server 2005 version du correctif. Microsoft recommande que vous considérez comme application de la version de correctif plus récente qui comprendra ce correctif. Pour plus d'informations, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft :
937137  (http://support.microsoft.com/kb/937137/LN/ ) SQL Server 2005 crée publiés après que SQL Server 2005 Service Pack 2 a été publié
Les correctifs Microsoft SQL Server 2005 sont créés pour service packs SQL Server spécifiques. Vous devez appliquer un correctif SQL Server 2005 Service Pack 2 à une installation de SQL Server 2005 Service Pack 2. Par défaut, aucun correctif qui est fourni dans un service pack SQL Server est inclu dans le prochain service pack SQL Server.

Statut

Microsoft a confirmé que c'est un problème dans les produits Microsoft répertoriés dans la section « S'applique à ».

Plus d'informations

Exemple

If you run the following MDX query against the AdventureWorks sample database in SQL Server 2005 Analysis Services, the query returns the correct result:
WITH MEMBER [Reseller].[Product Line].[COG_OQP_INT_sm2] AS 'SUM(   {[Reseller].[Product Line].[Product Line].MEMBERS},
    ([Reseller].[Last Order Year].[COG_OQP_INT_m5]))', SOLVE_ORDER = 6
MEMBER [Reseller].[Last Order Year].[COG_OQP_INT_sm3] AS 'SUM(    {[Reseller].[Last Order Year].[Last Order Year].MEMBERS},
    IIF(        ISEMPTY(  ([Measures].[Growth in Customer Base])),0,  1))', SOLVE_ORDER = 5
MEMBER [Reseller].[Last Order Year].[COG_OQP_INT_m5] AS 'SUM(    {[Reseller].[Last Order Year].[Last Order Year].MEMBERS},
    IIF(        ISEMPTY(  ([Measures].[Growth in Customer Base])),0, 1))', SOLVE_ORDER = 65534
MEMBER [Reseller].[Bank Name].[COG_OQP_INT_sm1] AS '1', SOLVE_ORDER = 7
SELECT
CROSSJOIN(
        UNION(
            CROSSJOIN(
                CROSSJOIN(
                    HEAD(
                        {[Reseller].[Bank Name].[COG_OQP_INT_sm1]}, 1
                     ),
                    {[Reseller].[Product Line].[COG_OQP_INT_sm2]}),
                    {[Reseller].[Last Order Year].[COG_OQP_INT_sm3]}),
            CROSSJOIN(
                {[Reseller].[Bank Name].&[International Bank]},
                CROSSJOIN(
                    {[Reseller].[Product Line].[COG_OQP_INT_sm2]},
                    {[Reseller].[Last Order Year].[COG_OQP_INT_sm3]}))),
            {[Measures].[Growth in Customer Base]})
ON AXIS(0) 
FROM [Adventure Works]
CELL PROPERTIES VALUE
The following is the correct result:
COG_OQP_INT_sm1                 International Bank
COG_OQP_INT_sm2                 COG_OQP_INT_sm2
COG_OQP_INT_sm3                 COG_OQP_INT_sm3
Growth in Customer Base         Growth in Customer Base
1                               11
However, when you run the following MDX query, the query returns an incorrect result:
WITH MEMBER [Reseller].[Product Line].[COG_OQP_INT_sm2] AS 'SUM(   {[Reseller].[Product Line].[Product Line].MEMBERS},
    ([Reseller].[Last Order Year].[COG_OQP_INT_m5]))', SOLVE_ORDER = 6
MEMBER [Reseller].[Last Order Year].[COG_OQP_INT_sm3] AS 'SUM(    {[Reseller].[Last Order Year].[Last Order Year].MEMBERS},
    IIF(        ISEMPTY(  ([Measures].[Growth in Customer Base])),0,  1))', SOLVE_ORDER = 5
MEMBER [Reseller].[Last Order Year].[COG_OQP_INT_m5] AS 'SUM(    {[Reseller].[Last Order Year].[Last Order Year].MEMBERS},
    IIF(        ISEMPTY(  ([Measures].[Growth in Customer Base])),0, 1))', SOLVE_ORDER = 65534
MEMBER [Reseller].[Bank Name].[COG_OQP_INT_sm1] AS '1', SOLVE_ORDER = 7
SELECT
CROSSJOIN(
        UNION(
            CROSSJOIN(
                CROSSJOIN(
                    HEAD(
                        {[Reseller].[Bank Name].[COG_OQP_INT_sm1]},
                        -- If you replace the following parameter with a value of 1, the query returns the correct result.
                         IIF(
                             COUNT(
                                 CROSSJOIN(
                                     FILTER(
                                         {[Reseller].[Bank Name].[Bank Name].MEMBERS},
                                         ([Measures].[Growth in Customer Base],
                                          [Reseller].[Product Line].[COG_OQP_INT_sm2],
                                          [Reseller].[Last Order Year].[COG_OQP_INT_sm3])>= 11),
                                     {[Reseller].[Product Line].[Product Line].MEMBERS}
                                 ),
                                 INCLUDEEMPTY
                             ) > 0, 1, 0
                         )
                        ----------
                     ),
                    {[Reseller].[Product Line].[COG_OQP_INT_sm2]}),
                    {[Reseller].[Last Order Year].[COG_OQP_INT_sm3]}),
            CROSSJOIN(
                {[Reseller].[Bank Name].&[International Bank]},
                CROSSJOIN(
                    {[Reseller].[Product Line].[COG_OQP_INT_sm2]},
                    {[Reseller].[Last Order Year].[COG_OQP_INT_sm3]}))),
            {[Measures].[Growth in Customer Base]})
ON AXIS(0) 
FROM [Adventure Works]
 CELL PROPERTIES VALUE
Voici le résultat incorrect :
COG_OQP_INT_sm1                 International Bank
COG_OQP_INT_sm2                 COG_OQP_INT_sm2
COG_OQP_INT_sm3                 COG_OQP_INT_sm3
Growth in Customer Base         Growth in Customer Base
1                               15
dans cette requête MDX, le deuxième paramètre de la fonction HEAD, qui a une valeur de 1, est remplacé par la fonction IIF. La fonction IIF renvoie la même valeur, 1. Cependant, le résultat de cette requête MDX diffère de la requête MDX qui est mentionnée précédemment.

Pour plus d'informations sur les fichiers sont modifiés et pour des informations sur les conditions préalables pour appliquer le package de mise à jour cumulative qui contient le correctif qui est décrit dans cet article de la base de connaissances Microsoft, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft :
941450  (http://support.microsoft.com/kb/941450/LN/ ) Package de cumulative mise à jour 4 pour SQL Server 2005 Service Pack 2

Références

Pour plus d'informations sur la liste des builds sont disponibles après SQL Server Service Pack 2, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft :
937137  (http://support.microsoft.com/kb/937137/LN/ ) SQL Server 2005 crée publiés après que SQL Server 2005 Service Pack 2 a été publié
Pour plus d'informations sur le modèle de service incrémentiel pour SQL Server, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft :
935897  (http://support.microsoft.com/kb/935897/LN/ ) Un modèle de service incrémentielle est disponible auprès de l'équipe SQL Server pour fournir des correctifs pour les problèmes signalés
Pour plus d'informations sur la façon d'obtenir SQL Server 2005 Service Pack 2, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft :
913089  (http://support.microsoft.com/kb/913089/LN/ ) Comment obtenir le dernier pack service pour SQL Server 2005
Pour plus d'informations sur les nouvelles fonctionnalités et les améliorations dans SQL Server 2005 Service Pack 2, reportez-vous au site de Web Microsoft suivant :
http://go.microsoft.com/fwlink/?LinkId=71711 (http://go.microsoft.com/fwlink/?LinkId=71711)
Pour plus d'informations sur le schéma d'appellation des mises à jour SQL Server, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft :
822499  (http://support.microsoft.com/kb/822499/LN/ ) Nouveau modèle d'affectation de noms pour les packages de correctifs logiciels Microsoft SQL Server
Pour plus d'informations sur la terminologie mise à jour logicielles, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft :
824684  (http://support.microsoft.com/kb/824684/LN/ ) Description de la terminologie standard utilisée pour décrire les mises à jour logicielles Microsoft

Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Microsoft SQL Server 2005 Analysis Services
Mots-clés : 
kbmt kbsql2005as kbhotfixrollup kbfix kbpubtypekc kbqfe kbexpertiseadvanced KB942654 KbMtfr
Traduction automatiqueTraduction automatique
IMPORTANT : Cet article est issu du système de traduction automatique mis au point par Microsoft (http://support.microsoft.com/gp/mtdetails). Un certain nombre d’articles obtenus par traduction automatique sont en effet mis à votre disposition en complément des articles traduits en langue française par des traducteurs professionnels. Cela vous permet d’avoir accès, dans votre propre langue, à l’ensemble des articles de la base de connaissances rédigés originellement en langue anglaise. Les articles traduits automatiquement ne sont pas toujours parfaits et peuvent comporter des erreurs de vocabulaire, de syntaxe ou de grammaire (probablement semblables aux erreurs que ferait une personne étrangère s’exprimant dans votre langue !). Néanmoins, mis à part ces imperfections, ces articles devraient suffire à vous orienter et à vous aider à résoudre votre problème. Microsoft s’efforce aussi continuellement de faire évoluer son système de traduction automatique.
La version anglaise de cet article est la suivante: 942654  (http://support.microsoft.com/kb/942654/en-us/ )
L'INFORMATION CONTENUE DANS CE DOCUMENT EST FOURNIE PAR MICROSOFT SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. L'UTILISATEUR ASSUME LE RISQUE DE L'UTILISATION DU CONTENU DE CE DOCUMENT. CE DOCUMENT NE PEUT ETRE REVENDU OU CEDE EN ECHANGE D'UN QUELCONQUE PROFIT.
Partager
Options de support supplémentaire
Forums du support Microsoft Community
Nous contacter directement
Trouver un partenaire Microsoft Certified Partner
Microsoft Store