Import für PowerBI
- Logge Dich ein in Deinen Systemverwalter Account auf mein.nextfarming.de
- Gehe auf Administration > Scripting Console
Lösche den vorausgefüllten Text aus der Console und füge folgendes ein: (klicke auf bearbeiten bevor du den Code kopierst) - Weitere Skript in dem Ticket AOCL-17511
Skript
CODEvar query = " SELECT DISTINCT(person.id), " + " person.typ, " + " person.akademischertitel, " + " person.anrede, " + " person.vorname, " + " person.nachname, " + " person.email, " + " person.gezielte_werbung, " + " person.datennutzung_einwilligung, " + " mitarbeiter.telefonnummer, " + " companyTelefon.nummer, " + " languages.locale, " + " date(objekt.erstellt) as erstelt, " + " date(person.ersterlogin) as ersterlogin, " + " person.anzahllogins, " + " date(person.letzterlogin) as letzterlogindate," + " company.angezeigtername, " + " REPLACE(CAST(company.bewirtschafteteflaecheinhektar AS TEXT),'.',',' ) AS areainhectare, " + " employee.vorname as geschaeftsfuehrervorname, " + " employee.nachname as geschaeftsfuehrernachname, " + " company.kundennummer, " + " company.nummererp, " + " (SELECT (CASE WHEN now() <= flatrate.endet THEN 'YES' ELSE 'NO' END)) AS NMM_Lizenz_vorhanden, " + " waehrung.alphabeticcode, " + " adresse.strasse, " + " adresse.hausnummer, " + " adresse.adresserweiterung, " + " adresse.postleitzahl, " + " adresse.ort, " + " adresse.ortsteil, " + " (SELECT objekt.name FROM objekt WHERE objekt.id=bundesland.id) AS Bundesland, " + " land.deutschebezeichnung FROM person person " + " LEFT JOIN languages languages ON (languages.id = person.language_id) " + " LEFT JOIN company company ON (company.id = person.activecompany_id) " + " LEFT JOIN company_telefon b2t ON (company.id = b2t.company_id) " + " LEFT JOIN telefon companyTelefon ON (companyTelefon.id = b2t.telefon_id) " + " LEFT JOIN mitarbeiter mitarbeiter ON (mitarbeiter.person_id = person.id) " + " LEFT JOIN adresse adresse ON (adresse.id=company.adresse_id) " + " LEFT JOIN bundesland bundesland ON (bundesland.id = adresse.bundesland_id) " + " LEFT JOIN land land ON (land.id=adresse.land_id) " + " LEFT JOIN waehrung waehrung ON (waehrung.id = company.waehrung_id) " + " LEFT JOIN objekt flatrate_obj ON (flatrate_obj.dtype = 'Flatrate' and flatrate_obj.name = 'MACHINEMANAGEMENT' and flatrate_obj.besitzer_id = company.id) " + " LEFT JOIN flatrate flatrate ON (flatrate.id = flatrate_obj.id) " + " LEFT JOIN mitarbeiter employee on employee.id = company.manager_id " + " JOIN objekt objekt ON (objekt.id = person.id) " + " WHERE person.aktiv=true AND person.emailconfirmed=true AND person.email IS NOT NULL"; var list = em.createNativeQuery(query).getResultList(); println("NEXT-ID;Typ;Titel;Anrede;Vorname;Nachname;eMail;Gezielte Werbung;Datennutzung Einwilligung;GF_Telefon;Telefon;Sprache;Registriert am;Erstlogin;Anzahl Logins;Letzter Login;Name 2;Hektar gesamt;GF_Vorname;GF_Nachname;Metro-Kd-ID;ERP-Nummer;NMM Lizenz Vorhanden;Währung;Straße;Hausnr.;Adr.-Zusatz;PLZ;Ort;Ortsteil;Bundesland;Land;Quelle;NMM-Schlüssel;Anzahl Maßnahmen gesamt;Anzahl Anbau mit Fruchtart"); query = "select id, activecompany_id from person where activecompany_id is not null"; var personList = em.createNativeQuery(query).getResultList(); var personObject = {}; var gebuchteBetriebePersonen = {}; personList.forEach(function(row) { personObject[row[0]] = {}; if(!gebuchteBetriebePersonen[row[1]]) gebuchteBetriebePersonen[row[1]] = []; gebuchteBetriebePersonen[row[1]].push(row[0]); }); query = "select objekt.besitzer_id, count(massnahme.id) from objekt, massnahme where objekt.id = massnahme.id group by objekt.besitzer_id"; var massnahmeList = em.createNativeQuery(query).getResultList(); massnahmeList.forEach(function(row) { if(gebuchteBetriebePersonen[row[0]]){ gebuchteBetriebePersonen[row[0]].forEach(function(person_id){ if(personObject[person_id]) personObject[person_id].massnahmeCount = row[1]; } ); } }); query = "select objekt.besitzer_id, count(anbau.id) from objekt, anbau where objekt.id = anbau.id and anbau.fruchtart_id is not null group by objekt.besitzer_id"; var anbauList = em.createNativeQuery(query).getResultList(); anbauList.forEach(function(row) { if(gebuchteBetriebePersonen[row[0]]){ gebuchteBetriebePersonen[row[0]].forEach(function(person_id) { if(personObject[person_id]) personObject[person_id].anbauCount = row[1]; } ); } }); var it = list.iterator(); while(it.hasNext()) { var row = it.next(); var i=0; var text; var person_id = row[0]; while (i < row.length-1) { text = row[i]; print ((text !== null ? text : "") + ";"); i++; } text = row[i]; print(text !== null ? text + ";;;" : ";;;"); print(personObject[person_id] && personObject[person_id].massnahmeCount ? personObject[person_id].massnahmeCount + ";" : ";"); println(personObject[person_id] && personObject[person_id].anbauCount ? personObject[person_id].anbauCount + ";" : ";"); }- Kopiere die Daten in eine CSV-Tabelle
- Klicke in Zelle A1
- Markiere alle Dateien mit Strg + A und kopiere Sie erneut Strg + C
- In Remote Desktop Umgebung (wo das CRM ist) Windows-Explorer öffnen und folgenden Pfad eingeben \\bbjedv.local\shares\Reporting\NF_LIVE_Customer_Success
(Verknüpfung auf Remote Desktop Desktop erstellen ist sinnvoll) - Öffne die Datei NFL_User
- Klicke in Zelle A1 und markiere alles mit Strg + A
- Klicke nochmals in die Zelle A1
- Füge alle Dateien mit Strg + V ein
- Erledige nun den Import der Neuanmeldungen. Die Anleitung dazu findest du hier: Kundeninformationen + Neuanmeldungen NFL > CRM