none
Automatisches Mailen von Reports und weiteres (Special) RRS feed

  • Frage

  • Hallo, NG,

    ich habe einen relativ kleinen Olap Cube, aus dem Reports generiert werden. Und zwar geht es um den Vergleich der Umsatzentwicklung des laufenden Jahres zum Vorjahr (und dem damit verbundenen Vertriebsrabatt).

    Zunächst einmal habe ich noch keine Möglichkeit gefunden, die Zahlen auf das laufende bzw. Vorjahr (parallelperiod) dynamisch zu beschränken, also, ich möchte nicht fest das Jahr 2012 einbrennen, sondern ab dem nächsten Jahr soll natürlich auf 2013 zugegriffen werden, etc. Aber das ist mein kleineres Problem.

    Die Vertriebspartner sollen einmal monatlich ihren eigenen Status automatisch zugemailt bekommen. Gleichzeitig soll jeder Vertriebspartner nur seinen eigenen Status zu sehen bekommen und keinen Zugriff auf den der Kollegen haben (egal ob der Report online bereitgestellt wird oder, was das Optimum wäre, per Mail zugestellt wird).

    D. h. gibt es eine Möglichkeit, den Parameter automatisch auf den jeweiligen Kunden zu setzen? Die allgemeinen Infos zum automatischen Mailen der Reports habe ich, es geht, wie gesagt darum, die individuellen Reports automatisch zu generieren und vermailen. Habt Ihr mir da einen Tipp oder geht das nicht?

    Vielen Dank schon mal!

    Gruß aus München

    Susanne

    Donnerstag, 11. Oktober 2012 06:42

Antworten

  • Hallo Susanne,

    In SSRS kannst Du mit Parametern arbeiten und die Daten darauf filtern, das ist soweit kein Problem.

    Man kann Abonnements für Berichte anlegen, sodass sie zeitgesteuert versendet werden; im Abo kann man auch den gewünschten Parameterwert vorgeben. Nur bei 3000 verschiedenen Empfängern müssten auch 3.000 Abos angelegt werden.

    Andere Option wäre eine eigene Applikation zu erstellen, die das erledigt. Dabei könntest Du entweder das ReportViewer Control verwenden, um den Reports mit den jeweiligen Parameter zu rendern und diesen dann von der Applikation per E-Mail zu versenden. Oder Du nutzt die SSRS Soap Api ReportExecution, um das zu erledigen; siehe Integrieren von Reporting Services mit SOAP


    Olaf Helper

    Blog Xing

    Freitag, 12. Oktober 2012 08:38

Alle Antworten

  • Hallo Susanne,

    mit was genau generierst du deine Reports? Visual Studio? SQL Server Reporting Services ? Oder ein anderes FrontEnd?

    Du könntest meiner Meinung nach die Berichte für jeden Vertriebspartner vordefinieren. Diese Berichte akutalisiert es dann wenn du den Cube neu aufgebaut hast.

    Aber man sollte schon wissen mit welcher Software du arbeitest :)

    Freitag, 12. Oktober 2012 07:56
  • ich möchte nicht fest das Jahr 2012 einbrennen, sondern ab dem nächsten Jahr soll natürlich auf 2013 zugegriffen werden, etc. Aber das ist mein kleineres Problem.

    Hallo Susanne,

    das ist wirklich das kleinere Problem. In SSAS ist das Excel Assembly integriert und dadurch steht auch VBA zur Verfügung und von dort kannst Du die Now() und Year Funktion verwenden, um das aktuelle Datum zu ermitteln und davon nur den Jahreswert.

    Hier ein kleines Beispiel mit dem AdventureWorks 2012 Cube; Zahlen stehen dort nur für die Jahre 2005-2010 zur Verfügung, deswegen ziehe ich im Beispiel ein paar Jahr ab. Das Präfix VBA! ist nicht zwingend notwendig, ich habe es mehr zur Verdeutlichung eingefügt, damit man sieht, das es kein Standard MDX ist:

    WITH SET [PrevoiusYear] AS
          StrToMember("[Date].[Calendar Year].&[" + VBA!CStr(VBA!Year(VBA!Now()) - 7) + "]")
    	  :
    	  StrToMember("[Date].[Calendar Year].&[" + VBA!Cstr(VBA!Year(VBA!Now()) - 5) + "]")
    
    SELECT 
    	{ [Measures].[Internet Sales Amount] } ON 0
    	,
    	{ [PrevoiusYear] } ON 1
    FROM [Adventure Works]


    Olaf Helper

    Blog Xing

    Freitag, 12. Oktober 2012 08:20
  • Hallo, Sascha,

    tut mir leid, dass ich das nicht erwähnt habe, ich generiere die Reports mit Visual Studio.

    Aber wenn ich für jeden Vertriebspartner den Report vordefinieren muss, bin ich eine Weile beschäftigt, es handelt sich um ca. 3000 verschiedene! Daher hatte ich gedacht, dass man bei den Reports irgendwie parametrisiert auf die Partnerliste zugreifen kann.

    Gruß aus München

    Susanne

    Freitag, 12. Oktober 2012 08:22
  • Hallo Susanne,

    leider habe ich noch keinen Reports mit Visual Studio erstellt. Wir nutzen hier ein externes FrontEnd.

    Ich werde mir das mal heute Abend anschauen und mich hierzu wieder melden :)

    Freitag, 12. Oktober 2012 08:32
  • Hallo Susanne,

    In SSRS kannst Du mit Parametern arbeiten und die Daten darauf filtern, das ist soweit kein Problem.

    Man kann Abonnements für Berichte anlegen, sodass sie zeitgesteuert versendet werden; im Abo kann man auch den gewünschten Parameterwert vorgeben. Nur bei 3000 verschiedenen Empfängern müssten auch 3.000 Abos angelegt werden.

    Andere Option wäre eine eigene Applikation zu erstellen, die das erledigt. Dabei könntest Du entweder das ReportViewer Control verwenden, um den Reports mit den jeweiligen Parameter zu rendern und diesen dann von der Applikation per E-Mail zu versenden. Oder Du nutzt die SSRS Soap Api ReportExecution, um das zu erledigen; siehe Integrieren von Reporting Services mit SOAP


    Olaf Helper

    Blog Xing

    Freitag, 12. Oktober 2012 08:38
  • Hallo, Olaf,

    cool, vielen Dank!

    Viele Grüße

    Susanne

    Freitag, 12. Oktober 2012 08:50