Dodawanie złożonych kryteriów celu

Użyj encji zapytania sumującego (GoalRollupQuery), aby dodać do celu złożone kryteria celu. Można na przykład określić przychód dla określonej linii produktu lub przychodu wygenerowanego na określonym terytorium.

Różne cele mogą używać tego samego zapytania agregującego. Jednak zapytanie zbiorcze skojarzone z określonym celem ma zastosowanie tylko do tego celu. Zapytanie zbiorcze określone dla celu nadrzędnego nie jest propagowane do celu podrzędnego. Cel podrzędny może korzystać z tego samego zapytania lub innego zapytania. Zagregowane zapytanie powinno używać tych samych typów jednostek określonych w rekordach pól zestawienia skojarzonych z celem. Jeśli cel śledzi przychody z zamówień, ale skojarzone zapytanie korzysta z obiektu szansy sprzedaży, podczas tworzenia lub aktualizowania rekordu celu jest zgłaszany wyjątek.

Uwaga / Notatka

Maksymalna liczba rekordów, które mogą zostać zwrócone w zapytaniu zbiorczym dotyczącym celów, wynosi 5000.

Aby określić kryteria zapytania, użyj atrybutu GoalRollupQuery.FetchXml . Aby określić typ jednostki dla zapytania, użyj atrybutu GoalRollupQuery.QueryEntityType .

Uwaga / Notatka

Tabele, które można określić w atrybucie GoalRollupQuery.QueryEntityType , muszą mieć następujące EntityMetadata atrybuty ustawione na true: IsValidForAdvancedFind, IsUserOwned, IsCustomizable, i CanCreateAttributes. W tym atrybucie nie można określić następujących tabel: SharePointDocumentLocation, SharePointSitei MailMergeTemplate.

W zależności od rodzaju metryki celu, można użyć zapytań do filtrowania danych dotyczących rzeczywistej, bieżącej lub niestandardowej ilości albo liczby. W poniższej tabeli przedstawiono typy metryk celów i atrybuty jednostki celu, których można użyć do określenia zapytań dla każdego typu.

Typ metryki celu Atrybuty zapytania podsumowania
Kwota (pieniądze) Goal.RollUpQueryActualMoneyId

Goal.RollUpQueryCustomMoneyId

Goal.RollUpQueryInprogressMoneyId
Kwota (liczba całkowita) lub Liczba Goal.RollupQueryActualIntegerId

Goal.RollUpQueryCustomIntegerId

Goal.RollUpQueryInprogressIntegerId
Ilość (liczba dziesiętna) Goal.RollUpQueryActualDecimalId

Goal.RollUpQueryCustomDecimalId

Goal.RollUpQueryInprogressDecimalId

Zapytanie dotyczące uczestniczących rekordów celu dla danego atrybutu zestawienia powinno zawierać następujące klauzule:

  • Wartość Goal.ConsiderOnlyGoalOwnersRecords.

  • Wyrażenie FetchXML określone w pliku GoalRollupQuery.FetchXml.

  • Zakres dat (RollupField.DateAttribute), stan i status określone w odpowiednim polu podsumowania dla metryki celu, do której się odwołuje.

Zapobiegaj podwójnemu zliczaniu i innym błędnym wynikom

Zapytania skutecznie filtrują wyniki agregacji. Jeśli jednak nie używasz ich ostrożnie, mogą wprowadzać podwójne zliczanie lub inne błędne wyniki. W poniższych przykładach pokazano, jak zapytania mogą przyczynić się do niepożądanych wyników:

  • Śledzisz zamówienia sprzedaży dla określonego sprzedawcy. Zestawienie zbiorcze jednak nie zwraca żadnych zamówień sprzedaży. Ten scenariusz może wystąpić, jeśli użyte zapytanie filtruje terytoria, w których sprzedawca ma klientów.

  • Ustawiasz dwa cele dla sprzedawcy. Jeden cel śledzi możliwości konkretnego produktu, a drugi cel śledzi szanse sprzedaży na określonym terytorium. Jeśli szansa sprzedaży obejmuje sprzedaż określonego produktu na określonym terytorium, przychody z tej szansy są uwzględniane w obu celach. Jeśli cele mają ten sam cel nadrzędny, ich sumy są dodawane do celu nadrzędnego, co powoduje podwójne zliczanie.

    Możesz zapobiec podwójnemu zliczaniu i innym nieprawidłowym wynikom, postępując zgodnie z następującymi wytycznymi:

  • Ustaw atrybut Goal.ConsiderOnlyGoalOwnersRecords na true, aby używać tylko rekordów należących do właściciela celu.

  • Nie przypisuj wielu celów sprzedawcy na ten sam okres.

  • Nie używaj zapytania, jeśli nie masz pewności, że zapewni oczekiwane wyniki.

Tabele do zarządzania zadaniami/działaniami
Przykład: Korzystanie z zapytań zbiorczych do śledzenia celów
Zestawianie łącznych wartości celu