Quest-ce que le self en Python ? Exemples concrets
Qu'est-ce que le self en Python ? Exemples concrets
Dans ce didacticiel, vous apprendrez comment la fonction fonctionne dans DAX à l'aide du volet Server Timings et de son plan de requête.
La fonction CROSSJOIN peut être utilisée pour créer un produit cartésien de deux tables. Un produit cartésien est un ensemble de toutes les combinaisons possibles de lignes de deux tables ou plus.
Le code DAX ci-dessous sera utilisé dans ce tutoriel.
Vous pouvez voir que la fonction CROSSJOIN donne une combinaison du produit Brand et Color même si certaines de ces combinaisons n'existent pas dans la table Fact . Cela donne un tableau avec un total de 176 lignes.
Dans l'onglet Server Timings, la première requête récupère la marque de la table Products, tandis que la seconde requête récupère la couleur.
Dans le plan de requête logique , la première ligne renvoie le résultat sous la forme d'un tableau. Les deuxième et troisième lignes du tableau des produits analysent respectivement la couleur et la marque.
Une fois les données reçues, le moteur de formule parcourt la table et produit une combinaison des deux colonnes. Le CrossApply en ligne 2 correspond à la fonction CROSSJOIN.
Table des matières
Filtrer les résultats CROSSJOIN dans DAX
Vous pouvez utiliser la fonction pour filtrer les résultats d'un CROSSJOIN. Par exemple, vous pouvez l'utiliser pour afficher uniquement les produits rouges.
Cependant, rappelez-vous que vous ne pouvez pas placer une fonction CROSSJOIN dans un argument FILTER .
Maintenant, si vous exécutez ce code et vérifiez l'onglet Server Timings, vous verrez que le contexte de filtre n'apparaît pas comme une clause WHERE dans la requête.
La fonction CROSSJOIN ne peut être résolue que par le Formula Engine . Le code ne fonctionne pas car il se situe entre FILTER et qui sont des fonctions qui ne peuvent être résolues que par le Storage Engine . Ainsi, le CROSSJOIN a provoqué la rupture de la boucle entre ces deux fonctions.
Par conséquent, vous devez placer la fonction FILTER dans l'argument CROSSJOIN pour que le filtre fonctionne.
Maintenant, si vous exécutez ce code et vérifiez l'onglet Server Timings, vous verrez que la fonction FILTER est maintenant représentée par la clause WHERE.
Dans le plan de requête logique, vous pouvez voir qu'au lieu de l'opérateur de filtre, le filtre VertiPaq est utilisé.
En effet, la nouvelle condition de filtre dans le code peut être transmise au moteur de stockage. Une fois le résultat renvoyé, l'argument CROSSJOIN est ensuite exécuté dans le moteur de formule.
L'opérateur IN
Vous pouvez également utiliser l' opérateur au lieu du signe égal dans un argument FILTER.
L'opérateur IN peut être utilisé dans l'argument d'expression de la fonction FILTER pour filtrer une table selon qu'une valeur est contenue dans une liste de valeurs ou dans une table.
Lorsque vous utilisez la combinaison FILTER – IN , le moteur DAX doit effectuer un filtre IsEmpty qui confirme si la couleur du produit est Rouge ou Noir.
Ajouter la colonne des ventes totales dans le résultat CROSSJOIN DAX
D'autres fonctions peuvent également être utilisées avec CROSSJOIN.
Vous pouvez utiliser la fonction pour ajouter une autre colonne dans votre table, puis écrire l'argument des informations que vous souhaitez afficher.
Dans cet exemple, ajoutons une colonne Total Sales.
Lorsque vous exécutez le code, les résultats renverront toujours 176 lignes. Cependant, certaines combinaisons auront des valeurs vides dans la colonne Total des ventes. En effet, ces combinaisons n'ont pas de ligne correspondante dans la table Sales.
Dans l'onglet Server Timings, le code sélectionne d'abord la marque et la couleur. Il résume ensuite le produit de la quantité et du prix net de vente.
Dans ce cas, le moteur DAX récupère d'abord toutes les combinaisons de marque et de couleur qui existent dans la table Products, ainsi que celles avec une ligne correspondante dans la table Sales. Ensuite, il récupère les colonnes marque et couleur séparément.
Dans le plan de requête physique, vous pouvez voir deux caches de données ; un pour la marque et un autre pour la couleur. Lorsque vous multipliez leurs enregistrements totaux, vous obtenez 176 lignes.
Ensuite, une recherche est effectuée sur ces 176 lignes pour voir si elles ont une valeur correspondante dans la table Sales. Vous pouvez voir que seules 111 lignes ont des valeurs. Les 65 autres lignes renverront des blancs.
De plus, si vous ajoutez plus de colonnes dans l'argument CROSSJOIN, le résultat renverra également plus de lignes.
Conclusion
La fonction DAX CROSSJOIN génère une nouvelle table en combinant les lignes d'une table avec les lignes d'une autre. Cette fonction est similaire à la clause CROSS JOIN dans SQL et peut être utilisée pour créer des requêtes plus complexes dans votre modèle de données.
Il peut générer une liste de toutes les combinaisons de valeurs possibles à partir de deux tables ou plus. Il peut également être utilisé pour créer rapidement une nouvelle table avec un grand nombre de lignes, ce qui peut être utile pour l'analyse des données, les tests ou l'analyse comparative des performances.
Dans l'ensemble, la fonction CROSSJOIN est un outil pratique dans les scénarios où vous devez combiner des données de plusieurs tables ou générer une liste de toutes les combinaisons possibles.
Tous mes vœux,
Qu'est-ce que le self en Python ? Exemples concrets
Vous apprendrez à enregistrer et à charger des objets à partir d'un fichier .rds dans R. Ce blog expliquera également comment importer des objets de R vers LuckyTemplates.
Dans ce didacticiel sur le langage de codage DAX, découvrez comment utiliser la fonction GENERATE et comment modifier dynamiquement le titre d'une mesure.
Ce didacticiel explique comment utiliser la technique Multi Threaded Dynamic Visuals pour créer des informations à partir de visualisations de données dynamiques dans vos rapports.
Dans cet article, je vais parcourir le contexte du filtre. Le contexte de filtrage est l'un des principaux sujets que tout utilisateur de LuckyTemplates doit d'abord connaître.
Je souhaite montrer comment le service en ligne LuckyTemplates Apps peut aider à gérer différents rapports et informations générés à partir de diverses sources.
Découvrez comment calculer les modifications de votre marge bénéficiaire à l'aide de techniques telles que la création de branches de mesure et la combinaison de formules DAX dans LuckyTemplates.
Ce didacticiel abordera les idées de matérialisation des caches de données et comment elles affectent les performances des DAX dans la fourniture de résultats.
Si vous utilisez encore Excel jusqu'à présent, c'est le meilleur moment pour commencer à utiliser LuckyTemplates pour vos besoins en matière de rapports commerciaux.
Qu'est-ce que la passerelle LuckyTemplates ? Tout ce que tu as besoin de savoir