Propriétés d’attribut - Définir un membre par défaut
S’applique à : SQL Server Analysis Services Azure Analysis Services Fabric/Power BI Premium
Le membre par défaut d'une hiérarchie d'attributs sert à évaluer les expressions lorsque la hiérarchie d'attributs n'est pas incluse dans une requête. Le membre par défaut est ignoré lorsqu'une requête inclut une hiérarchie d'attributs ou une hiérarchie d'utilisateurs contenant l'attribut qui source la hiérarchie d'attributs. Cela est dû au fait que le membre spécifié dans la requête est utilisé.
Le membre par défaut d’une hiérarchie d’attributs est défini en spécifiant un membre d’attribut comme valeur de la propriété DefaultMember pour la hiérarchie d’attributs. Vous pouvez définir cette propriété sous l’onglet Structure de dimension dans dimension Designer, ou dans le script de calcul du cube sous l’onglet Calcul dans Cube Designer dans SQL Server Data Tools. Vous pouvez également spécifier la propriété DefaultMember pour un rôle de sécurité (et remplacer ainsi le membre par défaut défini sur la dimension) sous l’onglet Données de la dimension lors de la définition de la sécurité de dimension. Pour éviter tout problème de résolution de noms, définissez le membre par défaut dans le script MDX du cube dans les situations suivantes : si le cube fait référence à une dimension de base de données à plusieurs reprises, si la dimension dans le cube a un nom différent de celle dans la base de données ou si vous souhaitez avoir différents membres par défaut dans différents cubes.
Le membre par défaut d'un attribut sert à évaluer des expressions lorsqu'un attribut n'est pas inclus dans une requête. Le membre par défaut d’un attribut est spécifié par la propriété DefaultMember de l’attribut. Lorsqu'une hiérarchie de dimension est incluse dans une requête, tous les membres par défaut des attributs correspondant aux niveaux de la hiérarchie sont ignorés. Si aucune hiérarchie de dimension n'est incluse dans une requête, les membres par défaut sont utilisés pour tous les attributs de la dimension.
Résolution du membre par défaut lorsque aucun membre par défaut n'est spécifié
Si aucun membre par défaut n’est spécifié pour une hiérarchie d’attributs et que celle-ci peut être agrégée (la propriété IsAggregatable de l’attribut a la valeur True), le membre (All) est le membre par défaut. Si aucun membre par défaut n’est spécifié et que la hiérarchie d’attributs ne peut pas être agrégée (la propriété IsAggregatable de l’attribut a la valeur False), un membre par défaut est sélectionné à partir du niveau supérieur de la hiérarchie d’attributs.
Spécification du membre par défaut
Chaque attribut d’une dimension dans Microsoft SQL Server SQL Server Analysis Services a un membre par défaut, que vous pouvez spécifier à l’aide de la propriété DefaultMember pour un attribut. Ce paramètre est utilisé pour évaluer les expressions si un attribut est omis dans une requête. Si une requête spécifie une hiérarchie dans une dimension, les membres par défaut des attributs de cette hiérarchie sont ignorés. Si une requête ne spécifie pas de hiérarchie dans une dimension, les paramètres DefaultMember des attributs de la dimension sont appliqués.
Si le paramètre DefaultMember d’un attribut est vide et que sa propriété IsAggregatable a la valeur True, le membre par défaut est le membre All. Si la propriété IsAggregatable a la valeur False, le membre par défaut est le premier membre du premier niveau visible.
Le paramètre DefaultMember d’un attribut s’applique à chaque hiérarchie à laquelle participe l’attribut. Vous ne pouvez pas utiliser des paramètres différents pour des hiérarchies différentes dans une dimension. Par exemple, si le membre [1998] est le membre par défaut d'un attribut [Année], ce paramètre s'applique à toute hiérarchie dans la dimension. Dans ce cas, le paramètre DefaultMember ne peut pas être [1998] dans une hiérarchie et [1997] dans une autre hiérarchie.
Si vous définissez un membre par défaut pour un niveau particulier d'une hiérarchie qui ne s'agrège pas naturellement, vous devez définir des membres par défaut dans tous les niveaux au-dessus de ce niveau de la hiérarchie. Par exemple, dans la hiérarchie All-Countries-Climate, vous ne pouvez pas définir un membre par défaut pour Climate, sauf si vous définissez un membre par défaut pour Countries. La violation de cette règle provoque des erreurs lors du traitement des requêtes.
Lorsque les niveaux d'une hiérarchie s'agrègent naturellement, vous pouvez définir un membre par défaut pour un attribut de la hiérarchie sans tenir compte des autres attributs de cette hiérarchie. Par exemple, dans la hiérarchie Country-Province-City, vous pouvez définir un membre par défaut pour City, tel que [Ville]. [Montréal] sans définir le membre par défaut pour State ou pour Country.