Objectives linked to multiple programs show No Program Assigned in Jira Align Enterprise Insights
Summary
Portfolio and Solution tier objectives linked to multiple programs may display as "No Program Assigned" in Jira Align Enterprise Insights dashboards. This happens because multi-program objectives store relationship data in a mapping table rather than the primary objective table.
Diagnosis
To confirm this article applies to your issue, verify the following:
The objective missing a program is at the Portfolio or Solution tier.
The objective is linked to multiple programs within the Jira Align UI.
Run the following query to check the program ID value:
SELECT [Objective ID], [FK Program ID] FROM [current_dw].[Objective] WHERE [Objective ID] = <Your_Objective_ID>;
Confirm if the [FK Program ID] column returns 0.
Cause
In Jira Align Enterprise Insights, the data structure for objectives depends on the Objective Tier and the number of linked programs:
Team and Program Tier Objectives: These usually have one program assigned. The relationship is stored in the [current_dw].[Objective] table in the [FK Program ID] column.
Portfolio and Solution Tier Objectives: These allow you to link multiple programs. When you link an objective to multiple programs, the [FK Program ID] column in the [current_dw].[Objective] table is set to 0 by design. The actual program mappings are stored in a separate mapping table called [current_dw].[MAP Objective to Program].
Solution
To correctly display programs for objectives that support multiple program links, you must update your SQL query to join the mapping table. Use the following steps to adjust your query logic:
Identify the objectives in your query that are returning 0 or "No Program Assigned" for the program field.
Modify your SQL query to include a join with the [current_dw].[MAP Objective to Program] table.
Use the following foreign keys to establish the relationship:
[current_dw].[MAP Objective to Program].[FK Objective ID] (links to the Objective ID)
[current_dw].[MAP Objective to Program].[FK Program ID] (links to the Program ID)
Ensure your query accounts for the possibility of multiple rows per objective if they are linked to more than one program.
For example, instead of joining [current_dw].[Objective] directly to [current_dw].[Program] via [FK Program ID], you should route the join through the mapping table:
SELECT
obj.[Objective ID],
p.[Program Name]
FROM [current_dw].[Objective] AS obj
LEFT OUTER JOIN [current_dw].[MAP Objective to Program] AS map
ON obj.[Objective ID] = map.[FK Objective ID]
LEFT OUTER JOIN [current_dw].[Program] AS p
ON map.[FK Program ID] = p.[Program ID]
WHERE obj.[Objective ID] = <OBJECTIVE_ID>;Was this helpful?