Automatisieren Sie Ihre Daten zeitnah um in einer SQL-Datenbank zu synchronisieren. Mit diesem Script können Sie Adressdaten und Umsätze auslesen und in Ihre SQL-Datenbank schreiben. Die Funktionsweisen sind dabei:
Unsere Beispielskripte erleichtern nicht nur die Datensynchronisation, sondern ermöglichen es Ihnen auch, das volle Potenzial von PowerBI auszuschöpfen.
Sie haben Interesse an spezifischen PowerBI Reports? Wir unterstützen Sie gerne bei der Erstellung maßgeschneiderter Berichte, die genau auf Ihre Anforderungen zugeschnitten sind.
Declare lFieldsdef as String
Declare lXMLData as XmlElement
lFieldsdef = "ID:Integer,AdrNr:String(25),ErstUmsDat:DateTime,Status:String(25),VtrNr:String(25),LtzUmsDat:DateTime,Branche:String(50),ArtPrGrp:Integer"
SyncToSQL("Adressen", "ID,AdrNr,ErstUmsDat,Status,VtrNr,LtzUmsDat", "PowerBI:Adressen", lFieldsdef, "ID")
If GetTable("Adressen\Ums") Then
lFieldsdef = "ID:String(30),AdrNr:String(25),Jahr:Integer,GesOPUms:Decimal(18,2),GesRoh:Decimal(18,2),GesUms:Decimal(18,2),"
lFieldsdef = lFieldsdef + "OPUmsJan:Decimal(18,2),OPUmsFeb:Decimal(18,2),OPUmsMrz:Decimal(18,2),OPUmsApr:Decimal(18,2),OPUmsMai:Decimal(18,2),OPUmsJun:Decimal(18,2),OPUmsJul:Decimal(18,2),OPUmsAug:Decimal(18,2),OPUmsSep:Decimal(18,2),OPUmsOkt:Decimal(18,2),OPUmsNov:Decimal(18,2),OPUmsDez:Decimal(18,2),"
lFieldsdef = lFieldsdef + "RohJan:Decimal(18,2),RohFeb:Decimal(18,2),RohMrz:Decimal(18,2),RohApr:Decimal(18,2),RohMai:Decimal(18,2),RohJun:Decimal(18,2),RohJul:Decimal(18,2),RohAug:Decimal(18,2),RohSep:Decimal(18,2),RohOkt:Decimal(18,2),RohNov:Decimal(18,2),RohDez:Decimal(18,2),"
lFieldsdef = lFieldsdef + "UmsJan:Decimal(18,2),UmsFeb:Decimal(18,2),UmsMrz:Decimal(18,2),UmsApr:Decimal(18,2),UmsMai:Decimal(18,2),UmsJun:Decimal(18,2),UmsJul:Decimal(18,2),UmsAug:Decimal(18,2),UmsSep:Decimal(18,2),UmsOkt:Decimal(18,2),UmsNov:Decimal(18,2),UmsDez:Decimal(18,2)"
Loop(Adressen\Ums)
lXMLData = XmlElementCreate()
XmlSetText(lXMLData, "ID", Adressen.AdrNr + "-" + Adressen\Ums.Jahr)
XmlSetText(lXMLData, "AdrNr", Adressen.AdrNr)
SyncToSQL("Adressen\Ums", "ID,AdrNr,Jahr,GesGewUms,GesOPUms,GesRoh,GesUms,GewUmsJan,GewUmsFeb,GewUmsMrz,GewUmsApr,GewUmsMai,GewUmsJun,GewUmsJul,GewUmsAug,GewUmsSep,GewUmsOkt,GewUmsNov,GewUmsDez,OPUmsJan,OPUmsFeb,OPUmsMrz,OPUmsApr,OPUmsMai,OPUmsJun,OPUmsJul,OPUmsAug,OPUmsSep,OPUmsOkt,OPUmsNov,OPUmsDez,RohJan,RohFeb,RohMrz,RohApr,RohMai,RohJun,RohJul,RohAug,RohSep,RohOkt,RohNov,RohDez", "PowerBI:Adressenumsatz", lFieldsdef, "ID", lXMLData)
EndLoop
EndIf
If GetTable("Anschriften", "AdrNrAnsNr", "AdrNr", Adressen.AdrNr) Then
lFieldsdef = "ID:Integer,AdrNr:String(25),LandBez:String(100),Na1:String(100),Na2:String(100),Str:String(100),PLZ:String(100),Ort:String(100)"
SyncToSQL("Anschriften", "ID,AdrNr,LandBez,Na1,Na2,Str,PLZ,Ort", "PowerBI:Anschriften", lFieldsdef, "ID")
EndIf