Show Menu
SUJETS×

Syntaxe des expressions de dimension

Les expressions de Dimension ne sont jamais utilisées seules, mais elles peuvent être utilisées partout où une dimension est appelée dans une mesure ou une expression de filtrage.
  1. Les mots soulignés doivent être entrés littéralement dans le texte de l'expression.
  2. Le formulaire {TEXT}? représente du texte facultatif.
  3. Le formulaire {TEXT}* représente du texte qui peut se produire zéro ou plusieurs fois.
  4. Le formulaire {A | B | C |...} représente le texte qui comprend exactement l’une des options données, comme A, B ou C....
  5. Le formulaire [A,B) représente une plage de nombres, de A à B non compris.
Identifiant
Un identifiant fait référence à une dimension nommée. Pour les règles régissant les identifiants légaux, voir Syntaxe pour les identifiants .
Exemple : Sessions[ Session_Number = "1" ] correspond au nombre de sessions dont le numéro de session est "1". Le numéro de session est une dimension nommée référencée par l’identificateur.
(Dimension)
Le résultat de (Dimension) est le même que celui de la Dimension. Les parenthèses spécifient l’ordre des opérations dans une expression.
Exemple : Sessions[ (Page) = "/home" ] est le nombre de sessions visitant la page "/home".
Dim par niveau
Définit une dimension ayant les mêmes éléments que la dimension Dim, mais relative à d’autres dimensions au niveau de la dimension.
Plus précisément, un élément de la nouvelle dimension se rapporte aux mêmes éléments de niveau que le même élément de Dim et se rapporte aux éléments de toute autre dimension qui se rapportent à l'un quelconque de ces éléments de niveau.
Exemple : Sessions[ (Page par Visiteur)="/accueil" ] est le nombre de sessions de Visiteurs qui ont visité la page "/accueil".
shift(Dim,Level,Group,N)
Définit une dimension ayant les mêmes éléments que la dimension Dim. L’élément eth du niveau de dimension se rapporte au même élément de la nouvelle dimension que l’élément Dim lié par l’élément e+Nth du niveau, à condition que les éléments eth et e+Nth du niveau se rapportent au même élément du groupe de dimensions.
Exemple : Page_Vues[ shift(Page, Page_Vue, Session, 1)="/home" ] est le nombre de Vues de page pour lesquelles la page vue suivante dans la même session est "/home".
next(Dim,Level,Group,N)
Similaire à shift(Dim, Level, Group, N), sauf que si la dimension contient des valeurs vides, elles sont ignorées.
segment(Level {,String->Filter}*)
Définit une dimension qui classe les éléments de Niveau en fonction d’une liste de filtres. Les éléments de la nouvelle dimension sont les chaînes fournies en tant qu’arguments. Chaque élément de Niveau correspond au 1er élément de la dimension de segment dont le filtre admet l’élément de Niveau. Il s’agit de la même approche que la visualisation des segments.
Exemple : segment(Visiteur, "Visiteurs uniques" -> Visiteur_sessions = 1, "Visiteurs très fidèles" -> Visiteurs_sessions > 10, "Tous les autres" -> True) crée une dimension qui classe les Visiteurs en trois groupes — Les Visiteurs ponctuels sont ceux qui n’ont qu’une seule session, Les Visiteurs très fidèles sont ceux qui ont plus de dix sessions et tous les autres Visiteur ont la valeur "Tous les autres."
bucket(Level, Metric, Count, Format {, Début {, Size}? }?)
Définit une dimension dont les éléments sont des plages de nombres (de taille fixe, par exemple, [0-9], [10-19],...). Les éléments de Niveau sont liés à l’élément de la zone de regroupement dont la plage contient la valeur de Mesure pour cet élément de niveau. Format est la chaîne de format printf utilisée pour formater les éléments de Mesure.
Exemple : Si Page_Duration_Minutes est une dimension de niveau Vue de page représentant le nombre de minutes passées sur chaque page, bucket(Session, sum(Page_Duration_Minutes, Page_Vue), 100, "%0.0f minutes", 0, 5) est une dimension de niveau session représentant le nombre de minutes passées dans chaque session ; ses éléments sont des intervalles de 5 minutes {[0-5), [5-10),...,[495-500)} .
Début est la valeur de début du premier intervalle (par défaut : 0) et Taille est la taille de l’intervalle (par défaut : 1).
prefix(Level {,ElementName->(Prefix{,Prefix}* )}* )
Définit une dimension dont les éléments sont les chaînes ElementName données et sont associés aux jeux correspondants de chaînes Prefix. Les éléments de Niveau sont liés à l’élément du préfixe dim, qui est associé au préfixe le plus long correspondant au nom de l’élément donné de niveau. Les préfixes se terminant par le caractère spécial "$" doivent correspondre exactement.
Par exemple, prefix(URI, "Produits" -> ("/products/"), "Services" -> ("/services/", "/products/service/"), "Warranties" -> ("/products/warranty.html$", "/services/warranty.html$", "Tout le reste" -> ("/") crée une dimension qui classe les URI dans les quatre catégories répertoriées. L'effet sur diverses pages est le suivant :
/products/warranty.html entre dans la garantie, puisqu’il correspond exactement au préfixe /products/warranty.html$.
/products/cars/specialcar.html entre dans Produits, car il correspond au préfixe /products/ et ne correspond plus au préfixe
/products/service/something.html entre dans les services, car il correspond au préfixe /products/service/ qui est plus long que le préfixe /products/.
/companyinfo/aboutus.html entre dans la catégorie "Tout le reste", puisque le seul préfixe qu’il correspond est "/".
latence (Niveau, Elément, Dim, Filtre, MaxBefore, MaxAfter, FormatString)
cartesian_product(Separator {,Dim}*)
Définit une dimension dont les éléments sont toutes les combinaisons (le "produit cartésien") des éléments des dimensions données. Le nom de chaque élément est fait à partir de la concaténation des éléments correspondants dans les dimensions d’entrée, séparés par la chaîne de séparateur donnée.
Par exemple, si la dimension D1 contient des éléments {"a", "b"} et que la dimension D2 a les éléments {"x", "y"}, alors produit cartésien("-", D1, D2) a les éléments {"a-x", "a-y", "b-x", "b-y"}.
Notez que, en interne, chacune des dimensions d’entrée est traitée comme si le nombre de ses éléments était la puissance de deux suivante supérieure. Le produit cartésien contient donc des éléments factices. Lors de l’utilisation de l’API du Data Workbench, selon le format de sortie, ces éléments peuvent être omis ou affichés comme "#nnn", où nnn est l’ordinal de l’élément (et doit être ignoré par le client).
Par exemple, dans l'exemple ci-dessus, si D2 avait les trois éléments {"x", "y", "z"}, il serait traité comme s'il avait quatre éléments, et le produit cartésien aurait les éléments {"a-x", "a-y", "a-z", "#3", "b-x", "b-y", "b-z", "#7"}.
Si aucune dimension n’est donnée, le résultat est une dimension avec un élément, "#0", qui équivaut à la dimension Aucun.
most_countable(Dim)
Fait référence à une dimension existante : l'ancêtre dénombrable le plus proche de Dim dans le schéma. Par exemple, countable(URI) le plus proche est identique à Page_Vue.
normalisé(Dim,Count)
Définit une dimension normalisée à partir de la dimension Denormal Dim, avec jusqu’à Count éléments.
last_n(Dim, TimeMetric, FormatString, Count, Offset, TrimToData {, WeekStart}?)
Définit une dimension qui comporte un sous-ensemble des éléments de la dimension Dim, dont les éléments représentent des tranches de temps — par exemple, jours, semaines ou années.
Le sous-ensemble est une plage autour d'une heure spécifiée, la valeur de la mesure constante TimeMetric, qui est interprétée comme une valeur de temps en secondes depuis minuit UTC du 1er janvier 1970. La plage comprend des éléments Count, dont le dernier est des éléments Offset après l’élément Dim donné dont le nom est le résultat du formatage de la valeur de la mesure avec la chaîne FormatString donnée. FormatString utilise les mêmes % d'échappement que la fonction de bibliothèque C standard strftime.
Si trimToData a la valeur true, tous les éléments situés au début de la dimension résultante, qui se trouvent avant le début de Dim, sont supprimés. S’il est faux, il y aura toujours le nombre exact d’éléments spécifiés par Count. Notez qu’il peut toujours y avoir des éléments à la fin de la dimension résultante qui ne sont pas réellement dans Dim.
Le WeekStart facultatif, s'il est spécifié, doit être l'un des { "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat" }. Il modifie TimeMetric en le déplaçant vers l’arrière pour qu’il atteigne l’occurrence la plus récente de ce jour de semaine.
Exemple : Si Week comporte les éléments {10/03/10", "10/10/10", ..., "12/12/10" } et que la mesure In Of a la valeur 1292348109 (représentant une heure à la mi-décembre 14, 20). 10), last n(Week, As_Of, "%m/%d/%y", 4, 0, false, "Sun") définit la dimension avec des éléments { "12/12/10", "12/19/10", "12/23/10", "12/30/10" }.
Exemple 2 : Si la dimension Semaine contient uniquement des éléments {"12/19/10", "26/12/10", ..., "01/30/11"} et que la mesure A partir de est la suivante, n(Semaine, As_Of, "%m/%d/%y", 4, 0, true, "Sun") donne une dimension avec des éléments. {"12/19/10", "23/12/10", "30/12/10"}.
days_of_previous_month(Dim, TimeMetric, FormatString, nMonths, includeThisMonth, TrimToData)
Définit une dimension qui comporte un sous-ensemble des éléments de Dim, dont les éléments représentent des jours. Le sous-ensemble est une plage autour d'une heure spécifiée, la valeur de la mesure constante TimeMetric, qui est interprétée comme une valeur de temps en secondes depuis minuit UTC du 1er janvier 1970. La plage inclura les éléments correspondant à chaque jour dans les nMois précédant l'heure spécifiée. Si includeThisMonth a la valeur true, la plage inclut également chaque jour du mois qui contient l’heure spécifiée.
FormatString spécifie la mise en forme des éléments de Dim, en utilisant des échappement "%" comme dans la fonction de bibliothèque C standard strftime.
Si trimToData a la valeur true, tous les éléments situés au début de la dimension résultante, qui se trouvent avant le début de Dim, sont supprimés. S’il est faux, il y aura toujours le nombre exact d’éléments spécifiés par Count. Notez qu’il peut toujours y avoir des éléments à la fin de la dimension résultante qui ne sont pas réellement dans Dim.
Exemple : Si Day comporte les éléments { "01/01/10", "01/02/10", ..., "12/31/10" } et que la mesure In Of a la valeur 1292348109 (représentant une heure à la mi-décembre 14, 20) 10), puis jours des mois précédents (Jour, As_Of, "%m/%d/%y", 2, false, false) auront des éléments { "10/01/10", "10/02/10", ..., "11/30/10" }.
days_of_current_month(Dim, TimeMetric, FormatString, allMonth, trimToData)
Semblables aux jours des mois précédents, à l’exception des éléments qui correspondent uniquement aux jours du même mois que l’heure spécifiée par la mesure de temps. Si allMonth est vrai, il y aura un élément pour chaque jour du mois approprié ; dans le cas contraire, seuls les jours à partir du premier du mois approprié jusqu’au jour contenant l’heure spécifiée font partie de la dimension.
days_of_future_month(Dim, TimeMetric, FormatString, nMonths, includeThisMonth, TrimToData)
Semblables aux jours des mois précédents, sauf que les éléments correspondent aux jours des mois qui suivent, plutôt qu’avant, le mois contenant l’heure spécifiée par la mesure de temps.
hours_of_day(Dim, Metric, TimeFormatString, nDaysForward, TrimData)
Définit une dimension qui comporte un sous-ensemble des éléments de Dim, dont les éléments représentent les heures. Le sous-ensemble est une plage autour d'une heure spécifiée, la valeur de la mesure constante TimeMetric, qui est interprétée comme une valeur de temps en secondes depuis minuit UTC du 1er janvier 1970. La plage comprend les éléments correspondant à chaque heure du jour nDaysForward après le jour contenant l’heure spécifiée par la mesure de temps.
FormatString spécifie la mise en forme des éléments de Dim, en utilisant des échappement "%" comme dans la fonction de bibliothèque C standard strftime. La chaîne de format doit toujours générer une chaîne représentant minuit au début du jour de l’heure passée.
Si trimToData a la valeur true, tous les éléments situés au début de la dimension résultante, qui se trouvent avant le début de Dim, sont supprimés. S’il est faux, il y aura toujours le nombre exact d’éléments spécifiés par Count. Notez qu’il peut toujours y avoir des éléments à la fin de la dimension résultante qui ne sont pas réellement dans Dim.
Exemple : Si l’heure comporte les éléments { "01/01/10 00:00", "01/01/10 01:00", ..., "12/31/10 23:00" }, et que la mesure A partir de contient la valeur 1292348. 109 (représentant une heure au milieu du 14 décembre 2010), puis heures du jour (Heure, As_Of, "%x 00:00", 0, false) contient des éléments { "12/12/10 00:00", "12/12/100:01" , ..., "12/12/10 23:00" }.