2016-08-09 8 views
1

以下の形式を使用して、GoogleアナリティクスAPIの応答「ga:avgTimeOnPage」を「00:00:00」のようにフォーマットしました。Googleアナリティクスの視覚化データタブ '平均時間のページ形式 '00:00:00

  1. 以下のようにクエリを割り当てます。

    \t var referral_pages_Config = { 
     
    \t \t \t \t query: { 
     
    \t \t \t \t metrics: 'ga:sessions, ga:bounceRate, ga:avgTimeOnPage', 
     
    \t \t \t \t dimensions: 'ga:fullReferrer', 
     
    \t \t \t \t 'max-results': 6, 
     
    \t \t \t \t sort: '-ga:sessions', 
     
    \t \t \t \t 'output': 'dataTable' 
     
    \t \t \t \t }, 
     
    \t \t \t \t chart: { 
     
    \t \t \t \t options: { 
     
    \t \t \t \t \t width: '100%' 
     
    \t \t \t \t } 
     
    \t \t \t \t } 
     
    \t \t \t };

  • 書式 "GA:avgTimeOnPage" を用いて以下のようなのような応答、 "avg_time_val.toHHMMSS();"。先月までうまくいきました。しかし、今では私が変更したようにフォーマットを更新していません。だから、私の研究によると、その表示形式を変更することはできません。我々は形式を変更した場合は
    \t \t referral_pages.on('success', function(response) { 
     
    
     
    \t \t \t response.dataTable.cols[0].label = 'Page'; 
     
    \t \t \t response.dataTable.cols[1].label = 'Page Views'; 
     
    \t \t \t response.dataTable.cols[2].label = 'Bounce Rate'; 
     
    \t \t \t response.dataTable.cols[3].label = 'Avg. Time on Page'; 
     
    
     
    
     
    
     
    \t \t \t var referral_pages = new google.visualization.DataTable(response.dataTable); 
     
    
     
    \t \t \t var formatter = new google.visualization.NumberFormat({ 
     
    \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t fractionDigits: 2, 
     
    \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t suffix:'%' 
     
    \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t }); 
     
    \t \t \t var formatter_visiter = new google.visualization.NumberFormat({ 
     
    \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t pattern:'###,###' 
     
    \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t }); 
     
    \t \t \t formatter_visiter.format(referral_pages, 1); 
     
    \t \t \t formatter.format(referral_pages, 2); 
     
    
     
    
     
    \t \t \t // Format Time as per the User-end 
     
    \t \t \t for (var k = 0, profile; profile = response.dataTable.rows[k]; k++) { 
     
    \t \t \t \t //alert(profile.c[3].v); 
     
    \t \t \t \t var avg_time_val = profile.c[3].v; 
     
    \t \t \t \t var formatt_time_val = avg_time_val.toHHMMSS(); 
     
    \t \t \t \t profile.c[3].v = formatt_time_val; 
     
    \t \t \t } 
     
    
     
    \t \t \t var referral_pages_table = new google.visualization.Table(document.getElementById('referral_pages_container')); 
     
    \t \t \t referral_pages_table.draw(referral_pages); 
     
    \t \t });

  • は、そのはNANとして表示します。誰でも私に解決策を案内してくれます。

    答えて

    0

    referral_pages DataTableの3番目の列は元々 'number'型であるため、この問題が発生しています。しかし、toHHMMSSを使用して書式を設定して値を置き換えると、文字列になります。このデータ型の競合のため、NaNが表示されています。残念ながら、作成されたDataTableの列のデータ型を変換する方法はありません。

    問題の解決策は、DataViewを作成することです。次のコードをチェックしてみて、試してテストしました。

    referral_pages.on('success', function(response) { 
    
    response.dataTable.cols[0].label = 'Page'; 
    response.dataTable.cols[1].label = 'Page Views'; 
    response.dataTable.cols[2].label = 'Bounce Rate'; 
    response.dataTable.cols[3].label = 'Avg. Time on Page'; 
    
    var referral_pages = new google.visualization.DataTable(response.dataTable); 
    
    var formatter = new google.visualization.NumberFormat({ 
        fractionDigits: 2, 
        suffix:'%' 
    }); 
    var formatter_visiter = new google.visualization.NumberFormat({ 
        pattern:'#,##,###' 
    }); 
    formatter_visiter.format(referral_pages, 1); 
    formatter.format(referral_pages, 2); 
    
    var columns = []; 
    
    for (var i = 0; i < referral_pages.getNumberOfColumns() - 1; i++) { 
        columns.push(i); 
    } 
    
    columns.push({ 
        type: 'string', 
        label: referral_pages.getColumnLabel(3), 
        calc: function (dt, row) { 
         var val = dt.getValue(row, 3); 
         return (val != '' && val != null) ? val.toHHMMSS() : null; 
        } 
    }); 
    
    var view = new google.visualization.DataView(referral_pages); 
    view.setColumns(columns); 
    
    var referral_pages_table = new google.visualization.Table(document.getElementById('timeline')); 
    referral_pages_table.draw(view); 
    }); 
    

    enter image description here

    +0

    ありがとうございました!その素晴らしい作業!ありがとうササンクMukkamala! – Chni

    関連する問題