none
CRM Reports im Visual Studio RRS feed

  • Frage

  • Hallo zusammen.

     

    Ich bin gerade an einem Report der alle Aufwände eines Kundes erstellt und anzeigt.

    Nun bin ich an einen Punkt gekommen wo ich einfach nicht mehr weiter weis.

     

    Im Report "Aufwand gruppiert nach Kunde" habe ich eine gruppierung nach Firmennamen im Report. Wenn ich diesen nun im CRM ausführe, sehe ich alle Aufwände aller Kunden. Jedoch würde ich gerne über den Pre-Filter des CRM bestimmen, wieviele und welche Kunden angezeigt werden sollen. Als momentane Lösung hab ich einen Report "Aufwand nach Kunde" welcher mir mit dem Pre-Filter den Kunden anzeigt, den ich angebe. (Kunde = xx) Jedoch wenn ich mehrere anwähle, kommt trotzdem nur der erste.

     

    Meine Frage ist nun, was muss ich tun, dass ich im CRM Pre-Filter mehrere Kunden auswählen kann?

     

    Ich Danke für Eure Hilfe..

     

    Gruss Patrick


    One who can read, have a clear advantage!
    Montag, 10. Januar 2011 09:19

Antworten

Alle Antworten

  • Hallo Patrick,

    poste doch mal bitte dein SQL aus dem Report. Ich vermute, dass dort etwas nicht passt.

    Gruß,

    Nils Frohloff
    http://www.strategic-it.de

     

    Montag, 10. Januar 2011 10:10
  • Also..

    Ich habe 3 Views im SQL erstellt, da es leider zwei wege gibt..

     

    Das hier ist über den Account direkt zur activity.

     

    SELECT   TOP (100) PERCENT dbo.FilteredAccount.name AS Kunde, dbo.FilteredMw_expense.mw_expensetypeidname AS Aufwandart, 
               dbo.FilteredActivityPointer.subject AS Stichwort, dbo.FilteredActivityPointer.description AS Notiz, dbo.FilteredActivityPointer.owneridname AS Berater, CONVERT(int, 
               dbo.FilteredMw_expense.mw_expenseamount) AS Aufwand, dbo.StringMap.Value AS Einheit, dbo.FilteredMw_expense.mw_rate AS Ansatz, 
               dbo.FilteredMw_expense.mw_amount AS Betrag, CASE WHEN scheduledstart IS NULL THEN scheduledend ELSE scheduledstart END AS ErfasstAm, 
               dbo.FilteredActivityPointer.activitytypecode AS AuftragsID, 
               CASE WHEN dbo.FilteredMw_expense.mw_billable = 1 THEN 'Ja' WHEN dbo.FilteredMw_expense.mw_billable = 0 THEN 'Nein' END AS verrechenbar, 
               CASE WHEN dbo.FilteredMw_expense.mw_isbilled = 1 THEN 'Ja' WHEN dbo.FilteredMw_expense.mw_isbilled = 0 THEN 'Nein' END AS verrechnet, 
               dbo.StringMap.ObjectTypeCode, dbo.FilteredAccount.accountid, dbo.FilteredAccount.address1_city AS Ort, dbo.FilteredActivityPointer.ownerid
    FROM     dbo.FilteredMw_expense INNER JOIN
               dbo.FilteredActivityPointer ON dbo.FilteredMw_expense.mw_activitypointerid = dbo.FilteredActivityPointer.activityid INNER JOIN
               dbo.StringMap ON dbo.FilteredMw_expense.mw_unit = dbo.StringMap.AttributeValue INNER JOIN
               dbo.FilteredAccount ON dbo.FilteredActivityPointer.regardingobjectid = dbo.FilteredAccount.accountid
    WHERE   (dbo.StringMap.ObjectTypeCode = 10003) AND (dbo.FilteredActivityPointer.activitytypecode <> 4202) AND (dbo.FilteredMw_expense.mw_amount <> 0)
    

    Dieser ist vom Account über den Incident zur Activity.

     

    SELECT   TOP (100) PERCENT dbo.FilteredAccount.name AS Kunde, dbo.FilteredMw_expense.mw_expensetypeidname AS Aufwandart, 
               dbo.FilteredActivityPointer.subject AS Stichwort, dbo.FilteredActivityPointer.description AS Notiz, dbo.FilteredActivityPointer.owneridname AS Berater, CONVERT(int, 
               dbo.FilteredMw_expense.mw_expenseamount) AS Aufwand, dbo.StringMap.Value AS Einheit, dbo.FilteredMw_expense.mw_rate AS Ansatz, 
               dbo.FilteredMw_expense.mw_amount AS Betrag, CASE WHEN scheduledstart IS NULL THEN scheduledend ELSE scheduledstart END AS ErfasstAm, 
               dbo.FilteredActivityPointer.activitytypecode AS AuftragsID, 
               CASE WHEN dbo.FilteredMw_expense.mw_billable = 1 THEN 'Ja' WHEN dbo.FilteredMw_expense.mw_billable = 0 THEN 'Nein' END AS verrechenbar, 
               CASE WHEN dbo.FilteredMw_expense.mw_isbilled = 1 THEN 'Ja' WHEN dbo.FilteredMw_expense.mw_isbilled = 0 THEN 'Nein' END AS verrechnet, 
               dbo.StringMap.ObjectTypeCode, dbo.FilteredAccount.accountid, dbo.FilteredAccount.address1_city AS Ort, dbo.FilteredActivityPointer.ownerid
    FROM     dbo.FilteredMw_expense INNER JOIN
               dbo.FilteredActivityPointer ON dbo.FilteredMw_expense.mw_activitypointerid = dbo.FilteredActivityPointer.activityid INNER JOIN
               dbo.FilteredIncident ON dbo.FilteredActivityPointer.regardingobjectid = dbo.FilteredIncident.incidentid INNER JOIN
               dbo.FilteredAccount ON dbo.FilteredIncident.accountid = dbo.FilteredAccount.accountid INNER JOIN
               dbo.StringMap ON dbo.FilteredMw_expense.mw_unit = dbo.StringMap.AttributeValue
    WHERE   (dbo.StringMap.ObjectTypeCode = 10003) AND (dbo.FilteredActivityPointer.activitytypecode <> 4202) AND (dbo.FilteredMw_expense.mw_amount <> 0)
    

    Und dies ist der Union welcher ich Im Studio benutze.

    SELECT   Kunde, Aufwandart, Stichwort, Notiz, Berater, Einheit, Aufwand, Ansatz, Betrag, ErfasstAm, AuftragsID, verrechenbar, verrechnet, ObjectTypeCode, AccountID, Ort, 
               ownerid
    FROM     dbo.FilteredExpense_by_Case
    UNION ALL
    SELECT   Kunde, Aufwandart, Stichwort, Notiz, Berater, Einheit, Aufwand, Ansatz, Betrag, ErfasstAm, AuftragsID, verrechenbar, verrechnet, ObjectTypeCode, AccountID, Ort, 
               ownerid
    FROM     dbo.FilteredExpense_by_Account
    

     

    Hier der Code im Studio.

     

    SELECT    Kunde, Aufwandart, Stichwort, Notiz, Berater, Einheit, Aufwand, Ansatz, Betrag, ErfasstAm, AuftragsID, verrechenbar, verrechnet, ObjectTypeCode, AccountID, Ort, 
                 ownerid
    FROM      FilteredExpense_Report
    ORDER BY Kunde
    

     

    So sieht der Report aus. Link

     

    Gruss Patrick

     

     

     

     

     


    One who can read, have a clear advantage!
    Montag, 10. Januar 2011 10:24
  • Hallo Patrick,

    und wo sind deine Felder, damit der CRM Report auch die Filter übernimmt?

    Siehe http://technet.microsoft.com/en-us/library/bb955092.aspx


    Viele Grüße

    Michael Sulz
    MVP für Microsoft Dynamics CRM
    Blog
    Website
    • Als Antwort markiert Michael Sulz Dienstag, 18. Januar 2011 07:38
    Montag, 10. Januar 2011 12:30
  • Habe probiert im Querry FilteredAccount As CRMAF_FilteredAccount einzusetzen und dem Parameter (@CRM_FilteredAccount) übergeben.

    Jedoch wenn ich den Report hochladen will, steht dass ich keine Entität haben soll..

    Weiss nicht, irgendwie mach ich was falsch.. :) gibt es irgendwo ein HowTo oder so?

     

    Grüsse


    One who can read, have a clear advantage!
    Montag, 10. Januar 2011 13:58
  • Probier doch mal CRMAFFiltered..... (ohne "_") und keinen Parameter übergeben.

    Außerdem glaube ich, daß das erstellen von Views in der crm sql db zwar nicht kritisch, aber doch unsupported ist.

     

    lg

    • Als Antwort markiert Michael Sulz Dienstag, 18. Januar 2011 07:38
    Dienstag, 11. Januar 2011 09:07