Acuity PPM API
Power BI

Datasets & modeling

Available tables, key relationships, and financial reporting rules.

Your manifest and OData $metadata list the fields and types available in your environment. Tables can be empty; availability depends on your Acuity version.

Jump to Financial example, Relationships, or Custom fields.

Dataset catalog

Core tables

DatasetRowKey
projectsProjectproject_pk
proposalsProposal, including retained converted proposalsproposal_pk
financialsAnnual or monthly financial detailfinancial_pk
organizationsOrganizationorganization_pk
portfoliosProject portfolioportfolio_pk
proposal_portfoliosProposal portfolioproposal_portfolio_pk
team_membersTeam memberteam_member_pk
resourcesResource roster entryresource_pk

BI resources contains availability and archive fields, not period allocation or NPT cells. Those are in the separate project and proposal resource snapshots.

Project and proposal records

These tables include parent context such as parent_type, parent_id, project_id, proposal_id, and parent_name.

DatasetRowKey
risksRiskrisk_pk
issuesIssueissue_pk
status_reportsStatus reportstatus_report_pk
milestonesMilestonemilestone_pk
project_tasksTaskproject_task_pk
benefitsBenefitbenefit_pk
decisionsDecisiondecision_pk
action_itemsAction itemaction_item_pk
lessonsLearned lessonlesson_pk
dependenciesDependencydependency_pk
project_scoring_criteria_valuesScoring valueproject_scoring_value_pk
project_learned_lesson_optionsLesson-option assignmentproject_learned_lesson_option_pk

Reference and portfolio tables

DatasetRowKey
scoring_criteriaScoring criterionscoring_criterion_pk
scoring_criterion_optionsScoring optionscoring_criterion_option_pk
categoriesCategorycategory_pk
departmentsDepartmentdepartment_pk
strategic_objectivesStrategic objectivestrategic_objective_pk
project_prioritiesPriorityproject_priority_pk
dependency_typesDependency typedependency_type_pk
lifecyclesLifecyclelifecycle_pk
milestone_performancesMilestone performance optionmilestone_performance_pk
company_learned_lesson_optionsCompany lesson optioncompany_learned_lesson_option_pk
portfolio_decisionsPortfolio decisionportfolio_decision_pk
portfolio_risksPortfolio riskportfolio_risk_pk

phases is not currently an enabled BI dataset.

Financial example

Use financials.parent_type, parent_name, project_number, period_type, year, and financial_category with these measures:

Planned Amount = SUM(financials[planned_amount])

Actual Amount = SUM(financials[actual_amount])

Actual Minus Planned = [Actual Amount] - [Planned Amount]
  • Amounts are already in company currency units. Do not divide by 100. Keep benefit signs.
  • Select the intended categories: capital_expenditure, operating_expenditure, financial_benefit, or depreciation. Keep depreciation separate for cash-expenditure measures.
  • Annual mode exports annual detail rows; monthly mode exports monthly rows. For monthly charts, filter period_type = monthly and use month with year. Set year to Don't summarize.
  • Keep financial_pk as text. Use parent_name for combined project/proposal visuals.
  • Avoid adding project/proposal summary amounts such as planned_cost to financial detail amounts.
  • After financial-mode changes, wait for a successful Acuity export and run a full table refresh. Compare a known project and proposal for the same category and period.

Relationships

Use unique IDs with one-to-many, single-direction relationships from dimension to child. Avoid competing filter paths. Check the manifest for additional joins.

Dimension keyChild column
organizations.organization_pkprojects.organization_id, proposals.organization_id, financials.organization_id
portfolios.portfolio_pkprojects.portfolio_id
proposal_portfolios.proposal_portfolio_pkproposals.proposal_portfolio_id
projects.project_pkChild project_id, including financials.project_id
proposals.proposal_pkChild proposal_id, including financials.proposal_id
team_members.team_member_pkProject/proposal project_manager_id or sponsor_id
resources.resource_pkOwner/assignee IDs, such as risks.risk_owner_resource_id or project_tasks.assigned_resource_id

Use separate role dimensions or inactive relationships where manager and sponsor paths would be ambiguous. Preserve null values where they differ from zero or false; CSV represents missing scalar values as empty cells.

Converted proposals

A converted proposal can appear in both projects and proposals. Appending them can double-count the record. Financials uses its current parent_type, with either project_id or proposal_id populated.

For a combined parent dimension, keep one row per underlying ID, prefer the project row when duplicated, and join that ID to child parent_id.

Custom fields

Reportable custom fields are published columns in projects, proposals, risks, and resources. Use the manifest's actual column name, display_name, custom_field_id, and type metadata. Do not derive column names from current UI labels.

New or changed fields may need schema publication and generation. Check published_schema.published_at and pending_changes; ask Support about missing fields or incompatible type changes. Then refresh the schema in Desktop and review affected transformations and visuals. Deprecated columns may remain for compatibility.