Intersect()
Utilisez la méthode de navigation Intersect() lorsque vous souhaitez référencer les nœuds qui sont le résultat de l'intersection de deux ou plusieurs méthodes de navigation de nœuds.
Cela est illustré ci-dessous.

L'image illustre, avec Q3 comme nœud actuel, l'intersection des méthodes de navigation AllPrevious() et Parent(). Les nœuds trouvés par les deux méthodes sont Q1-Q3, 2019.
Quel que soit le trimestre correspondant au nœud actuel, l'intersection entraînera une période commençant par Q1 et se terminant par le trimestre correspondant au nœud actuel. Cela signifie qu'un cas d'utilisation typique de la méthode Intersect() est un calcul Year to Date (YTD) (voir l'exemple ci-dessous).
Exemples
Exemple de calcul Year to Date (YTD)
L'histogramme montre la somme des ventes trimestrielles au cours de la période 2016-2018.

Supposons que vous vous intéressiez aux sommes cumulées pour chacune des années. Si vous utilisez la méthode de navigation AllPrevious(), vous additionnerez tous les mois précédents. Mais au premier trimestre 2017, vous souhaitez recommencer la somme et ignorer la somme des trimestres de l'année précédente, 2016.

Par exemple, la somme cumulée Q3 2017 devrait être de 976 (317 + 307 + 352). Pour référencer uniquement ces trois barres, la méthode Intersect() est pratique. La méthode AllPrevious() inclurait Q1-Q4 2016 et Q1-Q3 2017 dans la somme, et la méthode Parent() inclurait les quatre trimestres de 2017. L'intersection de ces deux modes de navigation renverrait exactement les barres en question.
Appliquez l'expression ci-dessous où Intersect() combine les deux méthodes et affichez le résultat pour, par exemple, Q3 2017 :

Exemple d'utilisation d'Intersect() lorsque les données sont divisées par plusieurs axes
Chaque fois que vous découpez les données à l'aide de différents axes, les données sont divisées en tranches de plus en plus petites, représentées par de plus en plus de marqueurs. Lorsque vous appliquez une expression, elle fonctionnera sur la plus petite tranche de données. Dans l'exemple ci-dessus, les données sont divisées uniquement par l'axe des catégories. Mais que se passe-t-il si vous divisez, par exemple, également par l'axe des couleurs ? Un exemple vous le montrera.
L'histogramme ci-dessous affiche les statistiques de survie de la catastrophe du Titanic. Les données sont divisées uniquement par l'axe des catégories.

L'expression dans l'image suivante vous permet d'afficher ces informations en pourcentage au lieu de nombres absolus. Voir aussi la rubrique All().
Supposons que vous souhaitiez distinguer les barres représentant ceux qui ont survécu en définissant l'axe des couleurs sur « survived » comme indiqué ci-dessous.

Cependant, notez qu'en procédant ainsi, les pourcentages changent. Les barres rouges et bleues, respectivement, totalisent 100 % au lieu des quatre barres. Cela se produit parce que l'expression ne prend pas en compte le fait que les données sont divisées en tranches encore plus petites par l'axe des couleurs. La partie ...OVER (All([Axis.X]))... ignore le découpage sur l'axe des catégories, mais pas le découpage sur la couleur par axe.
Vous pouvez cependant conserver les couleurs et ajouter toutes les barres à 100 % en utilisant la méthode Intersect() comme indiqué ci-dessous.

Les parties All([Axis.X]) et All([Axis.Color]) de l'expression impliquent que le découpage sur chacun de ces axes doit être ignoré. La méthode Intersect() combine ensuite ces deux parties. Par conséquent, la valeur de chaque barre sera divisée par la somme de toutes les barres.