Skip to main content
Skip table of contents

Import für PowerBI


  1. Logge Dich ein in Deinen Systemverwalter Account auf mein.nextfarming.de

  2. Gehe auf Administration > Scripting Console

  3. 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

    CODE
    var 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 + ";" : ";");
    } 
  4. Kopiere die Daten in eine CSV-Tabelle

  5. Klicke in Zelle A1
  6. Markiere alle Dateien mit Strg + A und kopiere Sie erneut Strg + C
  7. 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)

  8. Öffne die Datei NFL_User 

  9. Klicke in Zelle A1 und markiere alles mit Strg + A

  10. Klicke nochmals in die Zelle A1

  11. Füge alle Dateien mit Strg + V ein

  12. Erledige nun den Import der Neuanmeldungen. Die Anleitung dazu findest du hier: Kundeninformationen + Neuanmeldungen NFL > CRM


JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.