2017-10-04 2 views
0

J'utilise googleanalyticsR pour télécharger toutes les données que je peux trouver dans Google Analytics Mon objectif est de créer une petite base de données à analyser .Boucle googleanalyticsR - Erreur dans if (nrow (out) <all_rows {: l'argument est de longueur zéro

Pour télécharger toutes les données que j'ai créé une boucle:

for (i in 1:length(metricsarray)) { 
    print(paste(i)) 
    tryCatch( google_analytics_4(my_id, 
           date_range = c(start_date, end_date), 
           metrics = metricsarray[i], 
           dimensions = c('transactionId'), 
           max = -1)) %>% 
    assign(gsub(" ", "", paste("metricsarray",i, sep="")), ., inherits = TRUE) 
} 

la boucle passe de 1 à 11 sans problème, à savoir imprime le nombre de i et me donne le message:

Downloaded [3537] rows from a total of [3537]

Mais je suis arrivé cette erreur quand il atteint i = 12 metricsarray [i]:

2017-10-04 10:37:56> Downloaded [0] rows from a total of []. Error in if (nrow(out) < all_rows) { : argument is of length zero

je le TryCatch, mais sans effet, il continue. Mon objectif était de continuer à tester chacun des metricsarray [i] jusqu'à la fin. En outre, continuer aussi quand il trouve l'erreur:

JSON fetch error: Selected dimensions and metrics cannot be queried together.

Je suis nouveau à l'aide de l'API GoogleAnalytics dans R, ne hésitez pas à proposer des solutions, des articles ou quoi que ce soit nous pourrions penser qu'il va me aider à acquérir plus de connaissances à ce sujet . Merci,

+0

Le tryCatch devrait fonctionner pour votre cas d'utilisation, que se passe-t-il à la place? Je fais semblable et ça marche bien. N'hésitez pas à soulever un problème sur le GitHub si c'est plus facile. – MarkeD

Répondre

0

JSON fetch error: Selected dimensions and metrics cannot be queried together.

Toutes les dimensions Google Analytics et des mesures peuvent être interrogés ensemble. Les principales raisons de cela sont soit les données n'existent pas ou les données ne feraient pas de différence.

La meilleure façon de tester quelles métadonnées peuvent être interrogées ensemble est de vérifier le dimensions and metrics reference. Les éléments non valides seront grisés.

+0

Merci pour votre réponse. Je le sais, mais je voudrais télécharger toutes les combinaisons de données possibles, et pour que la boucle ignore cette erreur quand c'est la réponse du serveur. Mais plus important encore, c'est que la boucle ignore quand elle ne trouve aucune donnée ('Error in if (nrow (out) Cads