Champs personnalisés et base de données de création de rapports (traduction automatique)

Dernière modification : jeudi 3 octobre 2013

S’applique à : Office 2010 | Project 2010 | Project Server 2010 | SharePoint Server 2010

Dans cet article
Requêtes simples avec des champs personnalisés
Organisation des données dans les Tables de Pool de colonne
Recherche de données du champ personnalisé dans le RDB
Modification de champs personnalisés dans les feuilles de temps
Localisation des Tables de choix

Important

Cet article a été traduit automatiquement, voir l’avertissement. Vous pouvez consulter la version en anglais de cet article ici.

La base de données de création de rapports de Microsoft Project Server 2010 inclut des tables et des vues qui sont conçues pour vous aider à faire des requêtes pour des rapports de données Project Server plus faciles que des requêtes sur la base de données publiée. La base de données de création de rapports agrège les données des champs personnalisés dans des tables de pool de colonnes spéciales. Les données de la base de données de création de rapports sont mises à jour presqu’en temps réel (dans un délai de quelques minutes) lorsque des modifications sont apportées à la base de données publiée.

Le présent article contient les sections suivantes :

  • Requêtes simples avec des champs personnalisés

  • Organisation des données dans les Tables de Pool de colonne

  • Recherche de données du champ personnalisé dans le RDB

  • Modification de champs personnalisés dans les feuilles de temps

  • Localisation des Tables de choix

Pour obtenir une référence au schéma RDB, consultez pj14_ReportingDB.chm dans le téléchargement du Kit de développement logiciel Project 2010. Pour un lien vers le téléchargement, consultez Documentation du SDK Project 2010 (traduction automatique).

Requêtes simples avec des champs personnalisés

La base de données publiée contient tous les champs personnalisés et les données de table de recherche, mais extraire les données de la table personnalisées du champ et la recherche à partir de la base de données publiée nécessite les instructions complexes JOIN ou beaucoup de temps développement d'applications qui utilisent l'Interface de Project Server (PSI). Tables de la plage de colonnes dans les données de champ personnalisé d'agrégation RDB pour les projets, ressources, tâches, affectations et les feuilles de temps, rendant ainsi les rapports qui incluent plus faciles de créer des champs personnalisés.

Les vues utilisateur suivantes comprennent des données de champ personnalisé du RDB extrait à partir des tables de pool de colonne. Par exemple, MSP_EpmAssignment_UserView inclut des colonnes pour le champ personnalisé RBS et le champ personnalisé Cost Type dans une installation par défaut de Project Server. Les noms de ces champs personnalisés dans MSP_EpmAssignment_UserView sont RBS_R et Cost Type_R, car ils sont des champs personnalisés de ressource. Les noms de champ pour les mêmes champs dans MSP_EpmResource_UserView sont RBS et Cost Type. MSP_TimesheetLine_UserViewCF contient le champ personnalisé RBS par défaut et les autres champs personnalisés sont enregistrés dans les affichages personnalisés de feuille de temps :

  • MSP_EpmAssignment_UserView

  • MSP_EpmProject_UserView

  • MSP_EpmResource_UserView

  • MSP_EpmTask_UserView

  • MSP_TimesheetLine_UserViewCF

Lorsque vous créez un champ personnalisé et enregistrez les données du champ personnalisé, Project Server ajoute les champs personnalisés dans les tableaux RDB. Par exemple, si vous créez un champ personnalisé de tâche appelé Infos sur la tâche et enregistrez un projet avec des données dans le champ Task Info, MSP_EpmTask_UserView inclut le champ Task Info. Lorsque vous créez une vue personnalisée de feuille de temps qui contient le champ personnalisé Task Info et enregistrez une feuille de temps qui utilise l'affichage personnalisé, Project Server ajoute le champ Task Info_T_AT dans la vue MSP_TimesheetLine_UserViewCF. Project Server crée le suffixe _AT pour gérer les métadonnées de la feuille de temps indépendamment de la base, de tâche et métadonnées des ressources. Pour un champ personnalisé ressource nommé Resource Info, MSP_EpmAssignment_UserView devez ajouter un champ nommé Resource Info_R et MSP_TimesheetLine_UserViewCF ajouter un champ nommé Resource Info_R_AR.

Il n'est pas nécessaire d'utiliser les tables de pool de colonne dans les requêtes simples pour les entités que vous ont spécifié les valeurs de champ personnalisé ; en fait, évitez d'utiliser des instructions de JOIN avec les tables de pool de colonne pour la requête pour les entités qui ont des données de champ personnalisé. Le RDB pouvez réorganiser les données du pool de colonne au cours des mises à jour et les vues utilisateur conservent les données actuelles pour les champs personnalisés. Par exemple, créez un champs Entreprise Projet texte personnalisé nommé Exemple de champ, ajoutez la valeur des données de TestSample Field dans certains projets, puis publier les projets. La requête suivante recherche tous les projets dont le champ personnalisé du projet Sample Field avec la valeur « Données de Test ».

SELECT ProjectUid, ProjectName
FROM MSP_EpmProject_UserView
WHERE [Sample Field] = N'Test data'

Organisation des données dans les Tables de Pool de colonne

Dans une nouvelle installation de Project Server, il n'y a aucune projets publiés et les champs personnalisés d'entreprise environ 20 par défaut. La plupart des nouveaux champs personnalisés par défaut dans Project Server 2010 sont pour l'analyse de portefeuille, tels que Sample Business Need et Sample Approved Finish Date. Les champs personnalisés Project Departments et Resource Departments restent vides jusqu'à ce que la table de choix de service contient des valeurs de texte. Les tables de recherche de Type coût, RBS et l'état par défaut sont vides ; ils ne contiennent aucune valeur de texte.

Les noms de colonne pool table tous démarrer avec MSP_EpmCP. Après la publication de certains projets qui contiennent des données de champ personnalisé, la RDB contienne les tables de pool de colonne suivantes pour les projet, ressources, tâche et affectation des entités :

  • Tables du projet : MSP_EpmCPPrjStr0, MSP_EpmCPPrjUid0 et MSP_EpmCPPrjVar0

  • Les tables de ressources : MSP_EpmCPResStr0, MSP_EpmCPResUid0 et MSP_EpmCPResVar0

  • Tables de la tâche : MSP_EpmCPTaskStr0, MSP_EpmCPTaskUid0 et MSP_EpmCPTaskVar0

  • Tables d'affectation : MSP_EpmCPAssnStr0, MSP_EpmCPAssnUid0 et MSP_EpmCPAssnVar0

Les noms de table de pool de colonnes qui contiennent des Uid incluent les GUID des entités et les GUID des valeurs de champ personnalisé des tables de recherche connexes, qui sont stockés dans la table MSP_EpmLookupTable de la RDB. Les noms de table de pool de colonne contenant des Str incluent l'entité GUID avec les valeurs des champs texte personnalisés. Les noms de table de pool de colonnes qui contiennent les Var incluent entité GUID avec des valeurs numériques d'autres types de champs personnalisés tels que Flag, Number, Cost, Duration, Date et ainsi de suite. Lorsque vous ajoutez des champs personnalisés d'entreprise et publiez des projets qui utilisent des champs personnalisés, s'ils disposent de tables de recherche ou les valeurs entrées manuellement, Project Server crée des tables de pool de colonne supplémentaire si nécessaire.

Par exemple, une base de données exemple qui contient les valeurs de texte dans les tables de recherche, la table MSP_EpmCPPrjStr0 affiche les valeurs de jusqu'à 50 champs personnalisés du projet dans tous les projets publiés. S'il y a plus de 50 champs personnalisés du projet, le RDB ajoute MSP_EpmCPPrjStr1 ; Pour plus de 100 champs personnalisés du projet, le RDB ajoute MSP_EpmCPPrjStr2 ; et ainsi de suite. Le tableau 1 montre une partie d'un exemple de table MSP_EpmCPPrjStr0.

Tableau 1. Partie d'un exemple de table MSP_EpmCPPrjStr0

EntityUID

CFVal0

CFVal1

CFVal2

CFVal3

AF129A8C-DCB5-4FB0- 9E30-406458614A31

En dessous du budget

Sans retard

15

NULL

4D607B14-E40C-4549- 8E92-45A3A96D6892

Pas de planification initiale

Pas de planification initiale

NULL

NULL

8496EA23-4B25-4DBE- B68A-755A27246842

Dépasse le budget

Sans retard

15

NULL

8DFAD3DE-5CEC-4238-932D-78D0F1BA12C8

En dessous du budget

Retard de plus de 5 jours

10

NULL

DCCD00EB-3301-4155-9A71-9BE4B67F60AD

Dépasse le budget

Retard de plus de 5 jours

10

NULL

F8C71F4A-FD26-4EB8-A199-A3E737DBEC3C

Dépassant le budget de 20 % ou plus

Retard de plus de 5 jours

NULL

NULL

La colonne EntityUID contient le GUID du projet. Vous pouvez utiliser l'exemple de requête suivant pour obtenir la date de nom et l'état du projet à partir de la table MSP_EpmProject, avec les données de champ personnalisé dans le RDB.

SELECT MSP_EpmProject.ProjectName, MSP_EpmProject.ProjectStatusDate, 
       MSP_EpmCPPrjStr0.CFVal0, MSP_EpmCPPrjStr0.CFVal1, MSP_EpmCPPrjStr0.CFVal2
FROM MSP_EpmCPPrjStr0 INNER JOIN 
       MSP_EpmProject ON 
           MSP_EpmCPPrjStr0.EntityUID = MSP_EpmProject.ProjectUID

Recherche de données du champ personnalisé dans le RDB

Pour rechercher des données de champ personnalisé dans les tables de pool de colonne, vous pouvez utiliser la requête suivante sur la base de données de rapports dans Microsoft SQL Server. La requête utilise la fonction définie par l'utilisateur MFN_Epm_GetAllCustomFieldsInformation (UDF) dans le RDB Project Server 2010.

-- Change EntityType to Project, Resource, Task, Assignment, or Timesheet.
 
SELECT CustomFieldName, ColumnPoolTableName, ColumnPoolColumnName
FROM MFN_Epm_GetAllCustomFieldsInformation()
WHERE EntityName = N'EntityType'

Par exemple, la requête suivante affiche toutes les 17 colonnes pour la tâche des champs personnalisés, y compris le type de données de champ personnalisé, le nom de table de recherche et la date de modification :

SELECT * FROM MFN_Epm_GetAllCustomFieldsInformation()
WHERE EntityName = N'Task'

Champs personnalisés à valeurs multiples   Le RDB inclut une vue de table d'association pour chaque champ personnalisé à valeurs multiples qui contient des valeurs. Afficher les noms des champs personnalisés à valeurs multiples sont de la forme MSPCFxxx_ _Nom de champ personnaliséAssociationView, où xxx peut être PRJ, RES ou TSK, pour un projet, une ressource ou un champ personnalisé de tâche. Par exemple, MSPCFPRJ_Project Departments_AssociationView contient des associations à valeurs multiples du champ personnalisé Project Departments. Pour déterminer si un champ de texte personnalisé utilise une table de recherche et permet à plusieurs valeurs, ouvrir la définition de champ personnalisé dans la page champs personnalisés d'entreprise et des Tables de choix dans Project Web App et examinez la section Attributs personnalisés .

Les bases de données OLAP pour Project Server n'incluent pas de prise en charge pour les champs personnalisés à valeurs multiples. Toutefois, les données de champ personnalisé à valeurs multiples sont accessibles dans le RDB, où vous pouvez écrire une requête pour afficher les valeurs d'une entité spécifique. Par exemple, modifier le champ personnalisé Project Departments pour autoriser plusieurs valeurs et ensuite ajouter certaines valeurs dans la table de choix du département. Créez un projet à l'aide de Project Professional. Dans la boîte de dialogue Informations sur le projet , sélectionnez plus d'une valeur dans la liste déroulante Service , puis enregistrez et publiez le projet.

Dans Microsoft SQL Server Management Studio, créez la requête suivante pour la base de données MOM Reporting et puis exécutez la requête. La valeur LookupTableUID est le même dans toutes les installations de Project Server 2010.

SELECT proj.ProjectName, lt.MemberFullValue AS N'Department(s)'
FROM dbo.MSP_EpmProject_UserView AS proj
-- Use the association table view.
INNER JOIN [dbo].[MSPCFPRJ_Project Departments_AssociationView] AS depassoc
   ON proj.ProjectUID = depassoc.EntityUID
INNER JOIN dbo.MSP_EpmLookupTable AS lt
   ON depassoc.LookupMemberUID = lt.MemberUID
WHERE lt.LCID = 1033
AND lt.LookupTableUID = N'e7397277-1ab0-4096-b2dd-57029a055ba4' -- Department Lookup Table

Le tableau 2 montre le jeu de résultats pour le projet TestProj, où les quatre valeurs du champ personnalisé Project Departments sont sélectionnés. La table de choix de département dans cet exemple contient également deux niveaux de valeurs.

Tableau 2. Jeu de résultats pour le projet TestProj

Nomprojet

Départements (s)

TestProj

Development.Server

TestProj

Tester

TestProj

Gestion du programme

TestProj

Assistance utilisateur

Modification de champs personnalisés dans les feuilles de temps

Vues de la feuille de temps peuvent inclure des champs personnalisés. Lorsque vous créez une feuille de temps à l'aide d'une vue qui inclut des champs personnalisés, puis enregistrez la feuille de temps, il fournit un instantané de la valeur de chaque champ personnalisé au moment de l'enregistrement. Si vous supprimez un champ personnalisé, puis de le recréer avec le même nom, le RDB conserve un historique des valeurs et types de champ personnalisé pour chaque feuille de temps enregistrée. En effet, des feuilles de temps enregistrés sont de Type 2 (SCDs) de dimensions à évolution lente car ils contiennent des groupes (dimensions) des données qui changent lentement. Pour plus d'informations, consultez de Dimension à variation lente (éventuellement en anglais).

Lorsqu'un champ personnalisé est recréé à l'aide de la procédure stockée de MSP_TS_GetTimesheetCustomFieldsInformation, vous pouvez obtenir l'historique des modifications. La procédure suivante montre un exemple. La procédure suppose que durée hebdomadaire reporting périodes ont été créés dans la page de périodes de Reporting (https://ServerName/ProjectServerName/_layouts/pwa/Admin/TimePeriod.aspx) dans Project Web App.

Avertissement

Lorsqu'un utilisateur crée une feuille de temps à l'aide d'un affichage personnalisé, cette feuille de temps gère les données d'affichage afin que les autres vues ne peuvent pas être utilisables. Vous devez effectuer la procédure suivante uniquement sur une installation d'essai de Project Server.

Pour afficher l'historique des modifications dans un champ personnalisé de feuille de temps

  1. Dans Project Web App, accédez à la page champs personnalisés d'entreprise et des Tables de choix (https://ServerName/ProjectServerName/_layouts/pwa/Admin/CustomizeFields.aspx) et ensuite créer un champ personnalisé de texte tâche qui utilise une table de recherche de texte. Par exemple, créer une table de choix de Text de type nommé TestLUT_Text, ajouter certaines valeurs et ensuite créer un champ personnalisé nommé Affectation sanitaire pour l'entité de la tâche de type Text.

  2. Accédez à la page Gérer les vues (https://ServerName/ProjectServerName/_layouts/pwa/Admin/ViewsMain.aspx) et ensuite créer un affichage de la feuille de temps qui contient le champ personnalisé Assignment Health. Par exemple, nommez la vue Mode TS affectation santé 1.

  3. Créez un projet comportant des tâches qui s'étendent sur plus d'une période de feuille de temps et ensuite affecter les tâches pour vous ou un membre de l'équipe qui sait comment procéder à l'essai. Pour rapidement effectuer le test, définir les dates de projet dans le passé pour des périodes de temps aucune feuille de temps déjà créées pour la personne qui effectue l'essai. Enregistrez et publiez le projet sur Project Server. Par exemple, nommez le projet Test Affectation santé.

  4. Sur le ruban de page de feuille de temps, cliquez sur Sélectionner la périodeet définissez la période pour la première semaine du projet de test.

  5. Dans la liste déroulante Affichage , sélectionnez Affichage TS avec affectation de santé 1. Renseignez du temps de travail et ensuite, lorsque vous cliquez sur une cellule de la Santé de l'affectation , sélectionnez une valeur pour chaque tâche dans la liste de TestLUT_Text des valeurs. Enregistrez la feuille de temps et puis cliquez sur Envoyer état pour obtenir l'approbation pour les tâches. Dans Microsoft SQL Server Management Studio sur l'ordinateur de Project Server, la vue de MSP_TimesheetLine_UserViewCF dans le RDB inclut désormais le champ Assignment Health_T_AT, qui est de nvarchar de type de données SQL Server.

  6. Accédez à la page champs personnalisés d'entreprise et des Tables de choix et supprimez le champ personnalisé Assignment Health. Créer une table de choix de Duration de type nommé TestLUT_Duration, ajouter certaines valeurs (par exemple 1D, 2d, 1w, 2w) et ensuite créer un autre champ personnalisé nommé Affectation sanitaire pour l'entité de la tâche de type Duration.

  7. Dans la page Gérer les vues, créer un affichage de la feuille de temps qui inclut le nouveau champ personnalisé Assignment Health. Par exemple, nommez la vue Mode TS affectation santé 2.

    Notes

    Dans la mesure où le champ Assignment Health précédent n'existe pas, l'affichage de TS avec affichage de l'affectation santé 1 ne fonctionne plus. Vous pouvez également modifier la première vue pour utiliser le nouveau champ de Assignment Health.

  8. Sur le ruban de page de feuille de temps, cliquez sur Sélectionner la périodeet définissez la période de feuille de temps pour la deuxième semaine du projet de santé d'affectation de Test.

  9. Dans la liste déroulante Affichage , sélectionnez Affichage TS avec affectation de santé 2. Renseignez du temps de travail et ensuite, lorsque vous cliquez sur une cellule de la Santé de l'affectation , sélectionnez une valeur pour chaque tâche dans la liste de TestLUT_Duration des valeurs (Figure 1). Enregistrez la feuille de temps et puis cliquez sur Envoyer état pour obtenir l'approbation pour les tâches. Dans Microsoft SQL Server Management Studio sur l'ordinateur de Project Server, la vue de MSP_TimesheetLine_UserViewCF dans le fixes RDB contient le champ Assignment Health_T_AT, mais le type de données SQL Server est désormais decimal.

    La figure 1. Définition de la valeur de durée pour le champ personnalisé de santé de l'affectation

    Définition de la durée pour de l’état de l’affectation

  10. Pour obtenir l'historique des modifications du champ personnalisé Assignment Health dans des feuilles de temps enregistré, utilisez la requête suivante :

    -- Get the history of changes and current information for a 
    -- specified timesheet custom field. 
    DECLARE @RC              int
    DECLARE @CustomFieldName NAME
    
    -- TODO: Set the custom field name for the 
    -- MSP_TS_GetTimesheetCustomFieldsInformation parameter.
    SET @CustomFieldName = N'Assignment Health_T_AT'
    
    EXECUTE @RC = [ProjectServer_Reporting].dbo.MSP_TS_GetTimesheetCustomFieldsInformation 
       @CustomFieldName
    GO
    

Le tableau 3 montre le jeu de résultats de requête.

Tableau 3. Jeu de résultats de requête

CustomFieldUID

Nom de champ personnalisé

Type de données de champ personnalisé.

ColumnPoolColumnName

ColumnPoolTableName

C31C9199-CC0F-4A80-A004-B7D3B27CC248

Affectation Health_T_AT

21

CFVal3

MSP_TimesheetCPUid0

2D7631A6-AD8E-405F-B701-DFDC2EB6759F

Affectation Health_T_AT

6

CFVal4

MSP_TimesheetCPUid0

Project Server crée la table MSP_TimesheetCPUid0 dans le RDB lors de l'enregistrement de la première feuille de temps qui contient un champ personnalisé. Le 21 de type de données de champ personnalisé est Text et 6 de type de données est Duration. Pour plus d'informations sur les types de champ personnalisé, consultez l'énumération CustomField.Type.

Des colonnes supplémentaires dans le jeu de résultats incluent IsRollDown, PresentInUserView, CreatedDate et ModificationDate. Bien que les champs personnalisés peuvent supprimés et recréés avec le même nom, des données de feuille de temps au moment de la soumission ne sont pas modifiées. Rapports de feuille de temps peuvent afficher correctement les données historiques.

Localisation des Tables de choix

Tables de recherche peuvent être localisés par le biais de la PSI. Project Web App et Project Professional n'incluent pas un moyen de localiser les tables de recherche. Project Web App affiche toujours les valeurs de table de choix à l'aide de la langue d'Internet Explorer disponible de préférence plus élevée. Si aucune langue de table de recherche n'est trouvé qui corresponde à une langue de Internet Explorer, Project Web App utilise la langue de table de recherche principale.

Par exemple, si une table de choix contient des valeurs multilingues en espagnol et en anglais et que vous définissez la préférence linguistique dans Internet Explorer dans l'ordre de français, espagnol, français, Project Web App affiche la table de choix en espagnol. Pour définir la préférence de langue de Internet Explorer et l'ordre :

  1. Dans le menu Outils, cliquez sur Options Internet.

  2. Dans l’onglet Général, cliquez sur Langues.

  3. Dans la boîte de dialogue Préférences de langue , définir l'ordre et la préférence de langue.

Notes

Pour les champs personnalisés multilingues à travailler dans Project Web App, vous devez installer les packs de langue pour Microsoft SharePoint Foundation 2010 et Project Server 2010, pour les langues que vous voulez sur le serveur Project Web App. Pour Project Standard 2010 et Project Professionnel 2010, vous pouvez utiliser l'utilitaire de préférences de langue de Microsoft Office pour définir la langue d'affichage.

Outre la vérification de l'extraction et la suppression des tables de choix, la classe LookupTable PSI comprend quatre méthodes pour lire, créer ou mettre à jour des tables de choix : CreateLookupTables, ReadLookupTables, ReadLookupTablesByUids et UpdateLookupTables. Chaque méthode utilise ou renvoie une LookupTableDataSet et possède également un équivalent multilingue, comme suit :

Les méthodes multilingues ou un LookupTableMultiLangDataSet. Les lignes dans la LookupTableLanguagesDataTable incluent la propriété (identificateur de paramètres régionaux) LCID qui spécifie le langage. Pour obtenir une liste des LCID, consultez Locale ID (LCID) Chart dans MSDN Library. Par exemple, la valeur 0x409 dans la table est 1033 décimal pour anglais (États-Unis).

L'application ProjTool inclut le code qui crée et gère les tables de recherche multilingue pour une installation d'essai de Project Server. Pour plus d'informations, consultez Utilisation de l’application de test ProjTool dans Project Server 2010 (traduction automatique).

Notes

Avertissement traduction automatique : cet article a été traduit par un ordinateur, sans intervention humaine. Microsoft propose cette traduction automatique pour offrir aux personnes ne maîtrisant pas l’anglais l’accès au contenu relatif aux produits, services et technologies Microsoft. Comme cet article a été traduit automatiquement, il risque de contenir des erreurs de grammaire, de syntaxe ou de terminologie.

Voir aussi

Concepts

Champs personnalisés locaux et d’entreprise (traduction automatique)

Création de tables de recherche et de champs personnalisés d’entreprise (traduction automatique)

Agrégation et distribution de champs personnalisés (traduction automatique)

Utilisation de formules et d’indicateurs graphiques avec des champs personnalisés (traduction automatique)

Champs personnalisés et cubes OLAP (traduction automatique)

Utilisation de l’application de test ProjTool dans Project Server 2010 (traduction automatique)

Autres ressources

Using the Reporting Database

Locale ID (LCID) Chart

de Dimension à variation lente (éventuellement en anglais)