2017-03-25 3 views
1
var sales = d3.csv("Sales Export Friendly 3-19-17.csv", function(error, data) { 
    //var parseDate = d3.time.format("%m/%d/%Y %H:%M:%S %p").parse; 
    return { 
     unit: data["Unit Booked"], 
     date: new Date(data["Booking Date"]).getMonth() + 1, 
     checkin: new Date(data["Checkin"]).getMonth() + 1, 
     LOS: new Date(data["Checkout"]).valueOf() - new Date(data["Checkin"]).valueOf()/(24*60*60*1000), 
     total: +data["Total Stay"], 
     avgNight: (+data["Total Stay"])/((new Date(data["Checkout"]).valueOf() - new Date(data["Checkin"]).valueOf())/(24*60*60*1000)) 
     } 
}); 

console.log(sales); 
console.log(d3.keys(sales[0])); 


parcoords = d3.parcoords()("#TopLeft"); 

parcoords 

die Konsolenprotokollierung Anweisung UmsatzrenditenTypeerror: data.slice ist keine Funktion Laden csv d3 Ausgabe

Object { header: Cn/u.header(), mimeType: Cn/u.mimeType(), responseType: Cn/u.responseType(), response: Cn/u.response(), get: Cn/</u[n](), post: Cn/</u[n](), send: Cn/u.send(), abort: Cn/u.abort(), on: M/<(), row: e/o.row() } 

Ich bin nicht sicher, wie dieses seltsame Objekt passiert ist.

Und die folgende console.log-Anweisung gibt ein leeres Array zurück.

Last, ich eine Typeerror erhalten: data.slice keine Funktion ist, wenn parcoords

Antwort

2

Bis Ihr ante-penultimate question aufrufen, müssen Sie es richtig taten:

d3.csv(url, function(data){ 
    //code here 
}); 

Dann, ich weiß nicht, warum , in Ihrem previous question und in dieser Frage (nur jetzt ich bin es zu merken), begann man dies zu tun:

var data = d3.csv(url, function(data){ 
    //the rest of the code 

Welche wird nicht funktionieren.

Das ist das Problem: d3.csvgibt nichts zurück! Technisch gesehen, es gibt ein Objekt auf die Anfrage im Zusammenhang (führen Sie den Code-Schnipsel, es zu sehen) ...

var test = d3.csv("https://gist.githubusercontent.com/mbostock/3887051/raw/805adad40306cedf1a513c252ddd95e7c981885a/data.csv", function(data){ 
 
}); 
 

 
console.log(test);
<script src="https://d3js.org/d3.v4.min.js"></script>

... das ist nicht das, was Sie wollen.

ändern

dass var sales zu dem, was du getan hast ...

d3.csv("Sales Export Friendly 3-19-17.csv", function(error, data) { 
    //code here 
}) 
So zurück ... und fallen.

Denken Sie auch daran, dass asynchron ist. So haben Sie Ihre Variablen innerhalb des Rückrufs console.log:

d3.csv("Sales Export Friendly 3-19-17.csv", function(error, data) { 
    console.log(data)//this works 
}); 

console.log(data)//this will not work 
+0

Hey danke nochmal, aber ich bin jetzt eine Warnung bekommen, dass ich Code, der nach meiner Rückkehr Aussage nicht erreichbar ist. Wie kann ich das beheben? –

+0

Sie müssen eine mindestens funktionierende Version Ihres Codes in einem Plunker/CodePen/was auch immer ... –

+0

in der Hoffnung, ich habe die Formatierung richtig ... Ich sehe den unerreichbaren Code nach Rückkehr Fehler in der Konsole, so sollte es sein Okay: https://jsfiddle.net/jw7wc650/3/ –

Verwandte Themen