Campos personalizados y la base de datos de informes (traducción automática)

Importante

Este artículo se ha traducido con traducción automática; vea la declinación de responsabilidades. Para su referencia, puede encontrar la versión en inglés de este artículo aquí.

La base de datos de informes (RDB) en Microsoft Project Server 2010 incluye tablas y vistas diseñadas para hacer que las consultas de informes de datos de Project Server sean más fáciles que las consultas a la base de datos publicada. La RDB agrega datos de campos personalizados en tablas especiales de grupos de columnas. Los datos en la RDB se actualizan casi en tiempo real (a los pocos minutos) cuando hay cambios en la base de datos publicada.

En este artículo se incluyen las siguientes secciones:

  • Consultas simples con campos personalizados

  • Organización de los datos en las tablas del grupo de columna

  • Búsqueda de datos de campo personalizado en el RDB

  • Cambiar los campos personalizados en los partes de horas

  • Localización de las tablas de búsqueda

Para obtener una referencia del esquema RDB, consulte pj14_ReportingDB.chm en la descarga SDK de Project 2010. Para un vínculo a la descarga, consulte Documentación del SDK de Project 2010 (traducción automática).

Consultas simples con campos personalizados

La base de datos publicada contiene todos los campos personalizados y los datos de la tabla de búsqueda, pero la extracción de datos de tabla de búsqueda y de campo personalizado de la base de datos publicados requiere instrucciones JOIN compleja o mucho tiempo desarrollo de aplicaciones que utilizan Project Server Interface (PSI). Las tablas del grupo de columna de los datos de campo personalizado agregado RDB para proyectos, recursos, tareas, asignaciones y partes de horas, con lo que los informes que incluyen los campos personalizados fáciles de crear.

Las siguientes vistas de usuario incluyen los datos de campo personalizado que extrae el RDB de las tablas de grupo de la columna. Por ejemplo, MSP_EpmAssignment_UserView incluye columnas para el campo personalizado de RBS y el campo personalizado de Cost Type en una instalación predeterminada de Project Server. Los nombres de estos campos personalizados en MSP_EpmAssignment_UserView son RBS_R y Cost Type_R, porque son campos personalizados de recursos. Los nombres de campo para los mismos campos en MSP_EpmResource_UserView son RBS y Cost Type. MSP_TimesheetLine_UserViewCF incluye el campo personalizado de RBS de forma predeterminada y otros campos personalizados que se guardan en las vistas personalizadas de la parte de horas:

  • MSP_EpmAssignment_UserView

  • MSP_EpmProject_UserView

  • MSP_EpmResource_UserView

  • MSP_EpmTask_UserView

  • MSP_TimesheetLine_UserViewCF

Al crear un campo personalizado y guardar los datos del campo personalizado, Project Server agrega los campos personalizados a las tablas relevantes de RDB. Por ejemplo, si crea un campo de tarea personalizado denominado Información de tarea y guardar un proyecto con datos en el campo Task Info, MSP_EpmTask_UserView incluye el campo Task Info. Al crear una vista personalizada de la parte de horas que incluye el campo personalizado de Task Info y guardar una parte de horas que utiliza la vista personalizada, Project Server agrega el campo Task Info_T_AT a la vista de MSP_TimesheetLine_UserViewCF. Project Server crea el sufijo _AT para mantener los metadatos de la parte de horas independientemente de los principales proyectos, tareas y metadatos de recursos. Para un campo de recurso personalizado denominado Resource Info, MSP_EpmAssignment_UserView agregaría un campo denominado Resource Info_R y MSP_TimesheetLine_UserViewCF agregaría un campo denominado Resource Info_R_AR.

No es necesario utilizar las tablas de grupo de la columna en las consultas sencillas para las entidades que han especificado valores de campo personalizado; de hecho, debe evitar el uso de instrucciones de JOIN con las tablas de grupo de columna para consultas para las entidades que tienen datos de campo personalizado. El RDB puede reorganizar los datos del grupo de columna durante las actualizaciones y las vistas de usuario mantienen los datos actuales para los campos personalizados. Por ejemplo, crear un empresa proyecto campo personalizado de texto denominado Campo de ejemplo, agregue el valor de datos de prueba a Sample Field en algunos proyectos y, a continuación, publicar los proyectos. La siguiente consulta busca todos los proyectos que tienen el campo personalizado de proyecto Sample Field con el valor de "Datos de prueba".

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

Organización de los datos en las tablas del grupo de columna

En una nueva instalación de Project Server, hay no hay proyectos publicados y campos personalizados de empresa predeterminada aproximadamente 20. Muchos de los nuevos campos personalizados de predeterminada en Project Server 2010 son para el análisis de cartera, como, por ejemplo, Sample Business Need y Sample Approved Finish Date. Los campos personalizados de Project Departments y Resource Departments permanecen vacíos hasta que la tabla de consulta de departamento contiene valores de texto. Las tablas de búsqueda predeterminada, tipo de coste, EDR y estado están vacías; no contienen valores texto.

Tabla de agrupación de la columna nombres comiencen con MSP_EpmCP. Después de publicar algunos proyectos que contienen datos de campo personalizado, el RDB contiene las siguientes tablas de grupo de columna para las entidades de proyecto, recursos, tareas y asignaciones:

  • Las tablas de proyecto: MSP_EpmCPPrjStr0, MSP_EpmCPPrjUid0 y MSP_EpmCPPrjVar0

  • Las tablas de recursos: MSP_EpmCPResStr0, MSP_EpmCPResUid0 y MSP_EpmCPResVar0

  • Las tablas de la tarea: MSP_EpmCPTaskStr0, MSP_EpmCPTaskUid0 y MSP_EpmCPTaskVar0

  • Las tablas de asignación: MSP_EpmCPAssnStr0, MSP_EpmCPAssnUid0 y MSP_EpmCPAssnVar0

Los nombres de tabla de grupo de columnas que contienen el Uid incluyen los GUID de las entidades y los GUID de los valores de campo personalizado de las tablas de búsqueda relacionados, que se almacenan en la tabla de MSP_EpmLookupTable de la RDB. Los nombres de tabla de grupo de columnas que contienen Str incluyen el GUID de la entidad con los valores de los campos de texto personalizado. Los nombres de tabla de grupo de columnas que contienen Var incluyen los GUID de la entidad con valores numéricos de otros tipos de campos personalizados como, por ejemplo, Flag, Number, Cost, Duration, Date y así sucesivamente. Al agregar campos personalizados de empresa y publica proyectos que utilizan los campos personalizados, si tienen tablas de consulta o valores escritos manualmente, Project Server crea tablas de grupo de columna adicional según sea necesario.

Por ejemplo, en una base de datos de ejemplo que contiene los valores de texto en las tablas de búsqueda, la tabla de MSP_EpmCPPrjStr0 muestra los valores de hasta 50 campos personalizados de proyecto en todos los proyectos publicados. Si hay más de 50 campos personalizados de proyecto, el RDB agrega MSP_EpmCPPrjStr1; Para más de 100 campos personalizados de proyecto, el RDB agrega MSP_EpmCPPrjStr2; y así sucesivamente. Tabla 1 muestra parte de una tabla de ejemplo MSP_EpmCPPrjStr0.

Tabla 1. Parte de una tabla de ejemplo MSP_EpmCPPrjStr0

EntityUID

CFVal0

CFVal1

CFVal2

CFVal3

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

Infrapresupuestado

Según lo programado

15

NULL

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

Sin línea de base

Sin línea de base

NULL

NULL

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

Presupuesto sobrepasado

Según lo programado

15

NULL

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

Infrapresupuestado

Retraso de más de 5 días

10

NULL

DCCD00EB-3301-4155-9A71-9BE4B67F60AD

Presupuesto sobrepasado

Retraso de más de 5 días

10

NULL

F8C71F4A-FD26-4EB8-A199-A3E737DBEC3C

Sobrepresupuestado en un 20% o más

Retraso de más de 5 días

NULL

NULL

La columna EntityUID contiene el GUID del proyecto. Puede utilizar la siguiente consulta de ejemplo para obtener la fecha de estado y el nombre del proyecto desde la tabla MSP_EpmProject, junto con los datos de campo personalizado en el 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

Búsqueda de datos de campo personalizado en el RDB

Para buscar datos de campo personalizado en las tablas de grupo de la columna, puede utilizar la siguiente consulta en la base de datos de informes en Microsoft SQL Server. La consulta, utiliza la función de MFN_Epm_GetAllCustomFieldsInformation definido por el usuario (UDF) en el Project Server 2010 RDB.

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

Por ejemplo, la siguiente consulta muestra todas las columnas de 17 para la tarea de los campos personalizados, incluidos el tipo de datos de campo personalizado, nombre de la tabla de búsqueda y fecha de modificación:

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

Campos personalizados con múltiples valores   El RDB incluye una vista de tabla de asociación para cada campo personalizado con múltiples valores que contiene los valores. Ver los nombres de campos personalizados con múltiples valores tienen el formatoxxxMSPCF _ _AssociationView, donde xxx puede ser PRJ, RES o TSK, para un campo personalizado de tarea, recurso o proyecto deNombre de campo personalizado. Por ejemplo, MSPCFPRJ_Project (Departments_AssociationView) contiene las asociaciones de varios valores para el campo personalizado de Project Departments. Para determinar si un campo de texto personalizado utiliza una tabla de búsqueda y permite múltiples valores, abra la definición de campo personalizado en la página de campos personalizados de empresa y las tablas de búsqueda en Project Web App y, a continuación, examine la sección Atributos personalizados .

Las bases de datos OLAP de Project Server no incluyen compatibilidad para campos personalizados con múltiples valores. Sin embargo, los datos de varios valores de campo personalizado están accesibles en el RDB, donde puede escribir una consulta para mostrar los valores de una entidad específica. Por ejemplo, cambiar el campo personalizado de Project Departments para permitir varios valores y, a continuación, agregue algunos valores en la tabla de consulta de departamento. Cree un proyecto con Project Professional. En el cuadro de diálogo Información del proyecto , seleccione más de un valor en la lista desplegable de Departamento y, a continuación, guarde y publique el proyecto.

En Microsoft SQL Server Management Studio, cree la siguiente consulta para la base de datos de informes y, a continuación, ejecute la consulta. El valor de LookupTableUID es el mismo en todas las instalaciones 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

Tabla 2 muestra el conjunto de resultados para el proyecto TestProj, donde se seleccionan los cuatro valores del campo personalizado Project Departments. La tabla de consulta de departamento en este ejemplo también contiene dos niveles de valores.

Tabla 2. Conjunto de resultados para el proyecto TestProj

Nombre de proyecto

Departamentos (s)

TestProj

Development.Server

TestProj

Prueba

TestProj

Administración de programas

TestProj

Asistencia al usuario

Cambiar los campos personalizados en los partes de horas

Las vistas de la parte de horas pueden incluir campos personalizados. Al crear un parte de horas con una vista que incluye los campos personalizados y, a continuación, guardar el parte de horas, proporciona una instantánea del valor de cada campo personalizado en el momento de guardar. Si posteriormente elimina un campo personalizado y, a continuación, vuelva a crearlo con el mismo nombre, el RDB mantiene un historial de los valores y tipos de campo personalizado de cada parte de horas guardado. De hecho, los partes de horas guardados son tipo 2 (SCDs) de las dimensiones de variación lenta porque contienen grupos (dimensiones) de datos que cambian lentamente. Para obtener más información, consulte Dimensión de variación lenta.

Puede obtener el historial de cambios cuando se vuelve a crear un campo personalizado mediante el procedimiento almacenado de MSP_TS_GetTimesheetCustomFieldsInformation. El procedimiento siguiente muestra un ejemplo. El procedimiento supone que tiempo semanal reporting períodos se han creado en la página de informes de períodos de tiempo (https://ServerName/ProjectServerName/_layouts/pwa/Admin/TimePeriod.aspx) en Project Web App.

Advertencia

Cuando un usuario crea un parte de horas mediante el uso de una vista personalizada, esa parte de horas mantiene los datos de la vista para que no sea utilizables otras vistas. Debe hacer el siguiente procedimiento únicamente en una instalación de prueba de Project Server.

Para mostrar el historial de cambios en un campo personalizado de la parte de horas

  1. En Project Web App, vaya a la página de campos personalizados de empresa y tablas de consulta (https://ServerName/ProjectServerName/_layouts/pwa/Admin/CustomizeFields.aspx) y, a continuación, cree un campo personalizado de texto de tarea que utiliza una tabla de búsqueda de texto. Por ejemplo, crear una tabla de búsqueda de Text de tipo denominado TestLUT_Text, agregar algunos valores y, a continuación, cree un campo personalizado denominado Estado de asignación para la entidad de la tarea de tipo Text.

  2. Ir a la página Administrar vistas (https://ServerName/ProjectServerName/_layouts/pwa/Admin/ViewsMain.aspx) y, a continuación, cree una vista de parte de horas que incluye el campo personalizado de Assignment Health. Por ejemplo, nombre la vista Vista de TS con 1 de la salud de asignación.

  3. Crear un proyecto que tiene tareas que abarcan más de un período de parte de horas y, a continuación, asignar las tareas a usted o a un integrante del grupo que comprende cómo proceder con la prueba. Para completar rápidamente la prueba, establecer las fechas de proyecto en el pasado para los períodos de tiempo que no tiene partes de horas ya creado para la persona que realiza la prueba. Guarde y publique el proyecto en Project Server. Por ejemplo, nombre del Estado de asignación de pruebadel proyecto.

  4. En la cinta de opciones de la página de parte de horas, haga clic en Seleccionar períodoy, a continuación, establecer el período de parte de horas para la primera semana del proyecto de prueba.

  5. En la lista desplegable Ver , seleccione la Vista de TS con 1 de la salud de asignación. Rellene algún tiempo de trabajo y, a continuación, al hacer clic en una celda de la Salud de la asignación , seleccione un valor para cada tarea de la lista de TestLUT_Text de valores. Guardar el parte de horas y, a continuación, haga clic en Enviar estado para obtener la aprobación para las tareas. En Microsoft SQL Server Management Studio en el equipo de Project Server, la vista de MSP_TimesheetLine_UserViewCF en el RDB ahora incluye el campo Assignment Health_T_AT, que es de nvarchar de tipo de datos de SQL Server.

  6. Ir a la página de campos personalizados de empresa y las tablas de búsqueda y, a continuación, elimine el campo personalizado de Assignment Health. Crear una tabla de búsqueda de Duration de tipo denominado TestLUT_Duration, agregar algunos valores (como por ejemplo 1D, 2d, 1S, 2w) y a continuación, cree otro campo personalizado, denominado Estado de asignación para la entidad de la tarea de tipo Duration.

  7. En la página Administrar vistas, crear una vista de parte de horas que incluye el nuevo campo personalizado de Assignment Health. Por ejemplo, nombre la vista Vista de TS con 2 de la salud de asignación.

    Nota

    Porque no existe el campo Assignment Health anterior, la vista de TS con vista de asignación salud 1 ya no funciona. También puede cambiar la primera vista para utilizar el nuevo campo de Assignment Health.

  8. En la cinta de opciones de la página de parte de horas, haga clic en Seleccionar períodoy, a continuación, establecer el período de parte de horas para la segunda semana del proyecto de estado de asignación de prueba.

  9. En la lista desplegable Ver , seleccione la Vista de TS con 2 de la salud de asignación. Rellene algún tiempo de trabajo y, a continuación, al hacer clic en una celda de la Salud de la asignación , seleccione un valor para cada tarea de la lista de TestLUT_Duration de valores (figura 1). Guardar el parte de horas y, a continuación, haga clic en Enviar estado para obtener la aprobación para las tareas. En Microsoft SQL Server Management Studio en el equipo de Project Server, la vista MSP_TimesheetLine_UserViewCF siendo RDB contiene el campo Assignment Health_T_AT, pero el tipo de datos de SQL Server ahora es decimal.

    Figura 1. Establecer el valor de duración para el campo personalizado de la salud de asignación

    Configuración del valor de duración para el estado de la asignación

  10. Para obtener el historial de cambios para el campo personalizado de Assignment Health partes de horas guardados, utilice la siguiente consulta:

    -- 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
    

Tabla 3 muestra el conjunto de resultados de consulta.

Tabla 3. Conjunto de resultados de consulta

CustomFieldUID

Nombre de campo personalizado

Tipo de datos de campo personalizado.

ColumnPoolColumnName

ColumnPoolTableName

C31C9199-CC0F-4A80-A004-B7D3B27CC248

Asignación (Health_T_AT)

21

CFVal3

MSP_TimesheetCPUid0

2D7631A6-AD8E-405F-B701-DFDC2EB6759F

Asignación (Health_T_AT)

6

CFVal4

MSP_TimesheetCPUid0

Project Server crea la tabla MSP_TimesheetCPUid0 en el RDB cuando se guarda la primera parte de horas que contiene un campo personalizado. El 21 de tipo de datos de campo personalizado es Text y 6 de tipo de datos es Duration. Para obtener información acerca de los tipos de campo personalizado, vea la enumeración de CustomField.Type.

Columnas adicionales en el conjunto de resultados incluyen IsRollDown, PresentInUserView, CreatedDate y ModificationDate. Aunque los campos personalizados pueden eliminarse y volver a crear con el mismo nombre, no se cambian parte de horas datos en el momento de envío. Informes de la parte de horas pueden mostrar con precisión los datos históricos.

Localización de las tablas de búsqueda

Tablas de búsqueda pueden localizarse a través de PSI. Project Web App y Project Professional no incluyen una forma de localizar las tablas de búsqueda. Project Web App siempre muestra los valores de tabla de consulta utilizando el lenguaje de Internet Explorer disponible de mayor preferencia. Si no se encuentra ningún idioma de la tabla de búsqueda que coincide con un idioma de Internet Explorer, Project Web App utiliza el idioma de la tabla de búsqueda principal.

Por ejemplo, si una tabla de consulta contiene valores de varios idiomas en inglés y español, y establecer la preferencia de idioma en Internet Explorer en el orden de francés, español, inglés, Project Web App muestra la tabla de consulta en español. Para establecer el orden y preferencia de idioma de Internet Explorer:

  1. En el menú Herramientas, haga clic en Opciones de Internet.

  2. En la ficha General, haga clic en Idiomas.

  3. En el cuadro de diálogo Preferencias de idioma , establezca el orden y preferencia de idioma.

Nota

Para que varios idiomas campos personalizados trabajar en Project Web App, debe instalar los paquetes de idioma para Microsoft SharePoint Foundation 2010 y Project Server 2010, para los idiomas que desee en el servidor de Project Web App. Para Project Standard 2010 y Project Professional 2010, puede utilizar la utilidad de las preferencias de idioma de Microsoft Office para establecer el idioma de presentación.

Además de registrar, retirar y eliminar tablas de búsqueda, la clase de LookupTable PSI incluye cuatro métodos para leer, crear o actualizar las tablas de búsqueda: CreateLookupTables, ReadLookupTables, ReadLookupTablesByUids y UpdateLookupTables. Cada método se utiliza o devuelve un LookupTableDataSet y tiene también un equivalente en varios idiomas, como sigue:

Los métodos multilenguaje utilizan o devuelven un LookupTableMultiLangDataSet. Las filas de la LookupTableLanguagesDataTable incluyen la propiedad de LCID (identificador de configuración regional) que especifica el idioma. Para obtener una lista de todos los LCID, consulte Locale ID (LCID) Chart en MSDN Library. Por ejemplo, 0x409 el valor de la tabla es 1033 decimal para inglés (Estados Unidos).

La aplicación de ProjTool incluye código que crea y administra las tablas de búsqueda de varios idiomas para una instalación de prueba de Project Server. Para obtener más información, consulte Uso de la aplicación de prueba ProjTool en Project Server 2010 (traducción automática).

Nota

Declinación de responsabilidades de traducción automática: Este artículo se ha traducido con un sistema informático sin intervención humana. Microsoft ofrece estas traducciones automáticas para que los hablantes de otros idiomas distintos del inglés puedan disfrutar del contenido sobre los productos, los servicios y las tecnologías de Microsoft. Puesto que este artículo se ha traducido con traducción automática, es posible que contenga errores de vocabulario, sintaxis o gramática.

Vea también

Conceptos

Campos personalizados locales y de empresa (traducción automática)

Creación de tablas de búsqueda y campos personalizados de empresa (traducción automática)

Resumen y aplicación de campos personalizados (traducción automática)

Uso de fórmulas e indicadores gráficos con campos personalizados (traducción automática)

Campos personalizados y cubos OLAP (traducción automática)

Uso de la aplicación de prueba ProjTool en Project Server 2010 (traducción automática)

Otros recursos

Using the Reporting Database

Locale ID (LCID) Chart

dimensión de variación lenta

Historial de cambios

Fecha

Descripción

Motivo

Julio de 2010

Jul2010

Actualización del contenido

Mayo de 2010

Publicación inicial