Frage

Gibt es eine Möglichkeit, die Namen und entsprechenden MDX-Abfragen von Diagrammen und Berichten auf einer Sharepoint-Website bereitgestellt abzurufen?
Ich bin mit Sharepoint 2010

War es hilfreich?

Lösung

Sharepoint Server 2010 verwendet die PPSAuthoringService Webdienst statt PmService. Wenn Sie es noch nicht gesehen haben, lesen Sie in diesem Beitrag auf dem Performancepoint Services Team Blog: http://blogs.msdn.com/b/performancepoint/archive/2010/09/13/using-the-ppsauthoringservice-web-service.aspx

Die Abfrage des OLAP-Bericht wird in der ReportView.CustomData Eigenschaft gespeichert. So etwas wie dies funktionieren soll (obwohl dieses Beispiel den Web-Service von der API-Aufrufen). Warnung -. Ich bin ein Amateur-Programmierer

2/4/11 - Anstelle des Berichts der Custom Stütze der Abfrage, wie unten dargestellt, können Sie einfach den Bericht Lage der Methode GetMdx passieren.

static void Main(string[] args)
{
    string pathToAuthoringService = "http://<serverName>/_vti_bin/PPS/PPSAuthoringService.asmx";
    IBIMonitoringAuthoring service = BIMonitoringAuthoringServiceProxy.CreateInstance(pathToAuthoringService);

    string listUrl = "/BICenter/Lists/PerformancePoint Content/";
    FirstClassElementCollection fcos = service.GetListItems(listUrl);
    Dashboard dashboard = new Dashboard();

    foreach (FirstClassElement fco in fcos)
    {
        if (fco.ContentType == FCOContentType.PpsDashboard && fco.Name.Text == "Contoso Sales Management")
        {
            dashboard = fco as Dashboard;
        }
    }

    // Or if you know the ItemUrl, you can retrieve the dashboard directly.
    //RepositoryLocation dashboardLocation = new RepositoryLocation("/BICenter/Lists/PerformancePoint Content/32._000");
    //Dashboard dashboard = service.GetDashboard(dashboardLocation);

    List<RepositoryLocation> childLocations = dashboard.GetChildFCOLocations();
    foreach (RepositoryLocation location in childLocations)
    {
        if (location.ItemType == FirstClassObjectType.ReportView)
        {
            ReportView report = service.GetReportView(location);

            if (report.IsAnalyticReport())
            {
                Console.WriteLine(report.CustomData);
        }
    }
}

}

Andere Tipps

Sie würden die PPS-Designer-Anwendung öffnen und Sie können die Namen der Charts auf dem Armaturenbrett verwendet und aus dem Bericht sehen Sie wechseln in den Entwurfsmodus die MDX zu sehen.

Ansonsten können Sie auch SQL Profiler ausführen, um die Anfragen von PPS zu Analysis Service gesendet zu verfolgen. Sie müssen sich bewusst sein, dass PPS tut viel Caching, ich denke, es 10-20 Minuten mit dem Standard ist so, wenn Sie vermissen, dass erste Abfrage Sie eine Weile warten müssen, bevor die Abfrage erneut gesendet wird.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top