Quest-ce que le self en Python ? Exemples concrets
Qu'est-ce que le self en Python ? Exemples concrets
Dans ce didacticiel, vous apprendrez ce qu'est un cache de données et pourquoi il est important. Un cache de données stocke des bits de données qui pourraient devenir utiles pour une utilisation future.
Si vous avez besoin des mêmes éléments d'information dans une mesure ou une action future, le cache de données fournira les informations dont vous avez besoin. Cela évite que le système récupère à nouveau les mêmes ensembles de données.
Dans ce didacticiel, vous passerez en revue huit éléments importants à retenir lorsque vous traitez des caches de données dans LuckyTemplates :
Table des matières
Définition et objectif d'un cache de données
Un cache de données est une table temporaire créée en mémoire par le moteur de stockage . Cette table temporaire est envoyée au moteur de formule qui itère ensuite sur ces informations et effectue différentes opérations suite à la requête.
Toutes les communications entre le moteur de formule et le moteur de stockage se font toujours sous la forme d'un cache de données. Le moteur de formule prépare les plans de requête, puis envoie les instructions au moteur de stockage. Le moteur de stockage le renvoie ensuite au moteur de formule qui renvoie le résultat à l'utilisateur.
Étant donné que le moteur de formule n'a pas d'accès direct aux données stockées dans DirectQuery et VertiPaq, il s'appuie sur le moteur de stockage pour les caches de données.
Le cache de données envoyé par le moteur de stockage est dans un format non compressé. Cela signifie que la taille des données stockées dans l'outil Vertipaq peut être réduite.
Mais lorsqu'il est temps de renvoyer le cache de données au moteur de formule, il ne peut pas être compressé car le moteur de formule ne fonctionne pas avec les jeux de données compressés.
Quel est l'impact d'un cache de données sur la RAM
Si le moteur de stockage envoie d'énormes morceaux de caches de données, cela prendra beaucoup d'espace sur la RAM du logiciel. Cela va également demander beaucoup de temps au moteur de formule pour effectuer des itérations et produire un résultat.
Ainsi, lorsque vous écrivez votre code DAX, vous devez comprendre qu'il doit être écrit de manière à minimiser les lignes dans le cache de données.
Le meilleur scénario serait de faire correspondre le nombre de lignes affichées dans le visuel avec le nombre de lignes renvoyées dans le cache de données.
La plupart du temps, il est difficile de renvoyer le même nombre de lignes. Si cela se produit, vous devrez revoir votre code DAX et le décomposer de manière à optimiser le cache de données produit par le moteur de stockage.
Comment un cache de données optimise les requêtes
Fonctions non optimisées
Certaines fonctions du langage DAX ne sont pas optimisées pour le moteur de stockage. Pour mieux comprendre cela, regardons un exemple.
Par exemple, dans votre code, au lieu d'utiliser SUMMARIZE, vous pouvez utiliser la fonction Les fonctions SUMMARIZE et GROUPBY effectuent la même opération. Cependant, il existe des différences notables selon le scénario.
La fonction GROUPBY n'est pas optimisée pour le moteur de stockage. Si vous utilisez la fonction GROUPBY sur une table de faits avec 12 millions de lignes, elle produira un cache de données avec le même nombre de lignes. Cela peut aller de 600 Mo à 1 Go.
Cette taille peut mettre beaucoup de pression sur votre RAM. Ainsi, au lieu d'utiliser GROUPBY, utilisez . La fonction SUMMARIZE réduit la taille du cache de données. Vous pouvez l'associer à GROUPBY en tant que fonction de niveau supérieur.
Réitérations réduites
Lorsque vous écrivez vos mesures ou requêtes DAX, vous devez vous assurer que le code produit en coulisse est adapté au moteur de stockage.
Vous devez écrire votre code DAX de manière à produire un cache de données pouvant également être utilisé dans des requêtes ultérieures. L'avantage de cela est qu'au lieu d'effectuer une analyse séparée à l'aide de VertiPaq , le moteur de stockage vérifiera si une requête similaire a déjà été reçue.
Si cela est vrai, cela signifie que son cache de données est disponible en mémoire. Ainsi, au lieu d'analyser à nouveau la requête, VertiPaq la renverra simplement de la mémoire cache au moteur de formule.
Si vous voyez un opérateur CALLBACKDATAID dans votre requête de moteur de stockage, cela signifie que ces requêtes ne peuvent pas être mises en cache. Si une requête similaire est envoyée au moteur de stockage, il effectuera une réitération.
Ainsi, VertiPaq devra appeler le moteur de formule pour résoudre la requête. Cela augmente le temps d'exécution global car la mémoire cache ne peut pas être utilisée dans ce cas.
Conclusion
Le cache de données est votre meilleur ami dans le langage DAX. N'oubliez pas d'écrire votre code DAX de manière à maximiser l'espace de stockage et à réduire le nombre d'itérations de l'outil VertiPaq. Vous pouvez réutiliser le cache de données déjà produit par le moteur de stockage pour réduire le temps d'exécution des requêtes.
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