I want to export data from different data sources to Excel. This also works without problems. But I also want to output the relations here. This doesn't work or I don't quite understand how this should work.
Example: I have a data source called Company and a data source called Software. These two tables are related (n-m) to each other.
Now I want to export these relations again.
I have seen that App Maker has such a function, but unfortunately I don't quite understand how this should work.
Enclosed my code, this is the server code: Can someone explain to me how to export the relation? Thank you in advance.
//define function to do the data export
function ExportDaten(SoftwareUnternehmen) {
//create sheet to populate data
var fileName = new Date()+"Dienstleisterverzeichnis "; //file name
var newExport = SpreadsheetApp.create(fileName); // create new spreadsheet
var header = ["Name", "Vertragsgegenstand", "Ansprechpartner Dienstleister","Vertragseigner bzw. Verantwortlicher natGAS","Ansprechpartner natGAS","Verträge","App","AVV","NDA","letztes Projekt bzw. letzter Kontakt","Kreditor#","Kdnr beim Lieferanten","Klasse","ISO270001?","DSGVO Tätigkeit nach Verfahrensverzeichnis","Text AVV: Tätigkeit","Text AVV: Bewertung"]; //define header
newExport.appendRow(header); // append header to spreadsheet
//get all Unternehmen records
var ds = app.models.Unternehmen.newQuery();
var dssoftware = app.models.Software.newQuery();
var allSoftware = dssoftware.run();
var allUnternehmen = ds.run();
// Sets a rollback point and starts a new transaction.
app.transaction.cloudSql.start();
// Locks all records that are read in the transaction until the end of the transaction.
app.transaction.cloudSql.setLockOnRead(app.transaction.cloudSql.lockOnRead.UPDATE);
// Relation
var query = app.models.Unternehmen.newQuery();
query.filters.Software._key._equals = SoftwareUnternehmen;
var records = query.run();
for(var i=0; i< allUnternehmen.length; i++) {
//get each student data
var Unternehmen = allUnternehmen[i];
var UnternehmenName =Unternehmen.Hersteller;
// var UnternehmenVertragsgegenstand = Software.;
// var UnternehmenAnsprechpartnerD =Unternehmen.Ansprechpartner_Dienstleister;
// var UnternehmenVertragseigner =Unternehmen.Vertragseigner_Verantwortlicher_Unternehmen;
// var UnternehmenAnsprechpartnerNG =Unternehmen.Ansprechpartner;
// var UnternehmenVertraege =Unternehmen.Vertraege;
// var UnternehmenApp =Unternehmen.App;
// var UnternehmenAVV =Unternehmen.AVV;
// var UnternehmenNDA =Unternehmen.NDA;
// var UnternehmenProjekt =Unternehmen.letztes_Projekt_letzter_Kontakt;
// var UnternehmenKreditor =Unternehmen.Kreditor;
// var UnternehmenKdnr =Unternehmen.Kdnr;
// var UnternehmenKlasse =Unternehmen.Klasse;
// var UnternehmenISO270001 =Unternehmen.ISO270001;
// var UnternehmenDSGVO =Unternehmen.DSGVO_Taetigkeit;
// var UnternehmenText_AVV1 =Unternehmen.Text_AVV1;
// var UnternehmenText_AVV2 =Unternehmen.Text_AVV2;
for (var j= 0; j< allSoftware.length; j++) {
var Software = allSoftware[j];
var UnternehmenVertragsgegenstand = Software.Vertragsgegenstand;
var UnternehmenAnsprechpartnerD =Software.AnSP_Lieferant;
var UnternehmenVertragseigner =Software.Vetragseigner_Vertantwortlicher;
var UnternehmenAnsprechpartnerNG =Software.Ansprechpartner;
var UnternehmenVertraege =Software.Vertraege;
var UnternehmenApp =Software.App;
var UnternehmenAVV =Software.AVV;
var UnternehmenNDA =Software.NDA;
var UnternehmenProjekt =Software.letztes_Projekt;
var UnternehmenKreditor =Software.Kreditor;
var UnternehmenKdnr =Software.KDNR;
var UnternehmenKlasse =Software.Klasse1;
var UnternehmenISO270001 =Software.ISO270001;
var UnternehmenDSGVO =Software.DSGVO_Taetigkeit;
var UnternehmenText_AVV1 =Software.Text_AVV_Taetigkeit;
var UnternehmenText_AVV2 =Software.Text_AVV_Bewertung;
var newRow = [UnternehmenName, UnternehmenVertragsgegenstand, UnternehmenAnsprechpartnerD, UnternehmenVertragseigner, UnternehmenAnsprechpartnerNG, UnternehmenVertraege, UnternehmenApp, UnternehmenAVV, UnternehmenNDA, UnternehmenProjekt, UnternehmenKreditor, UnternehmenKdnr, UnternehmenKlasse, UnternehmenISO270001, UnternehmenDSGVO, UnternehmenText_AVV1, UnternehmenText_AVV2 ]; //save Unternehmensdaten in a row
newExport.appendRow(newRow); //append Unternehmen data row to spreadsheet
}
console.log("Export fertig");
return records;
} }