If you are unable to create a new account, please email support@bspsoftware.com

 

News:

MetaManager - Administrative Tools for IBM Cognos
Pricing starting at $2,100
Download Now    Learn More

Main Menu

join multiple packages in a data module

Started by sukanya, 27 Jun 2019 12:48:41 PM

Previous topic - Next topic

sukanya

Hi,
Can you join multiple packages using a data module. Please advice.

Thanks,

bus_pass_man

No, you cannot join two FM packages to each other in a module.  You can join objects from a FM package to objects in the module.   

If you need to use objects from two or more FM packages, you can bring them in via the tables wizard and join them in the module.   

An alternative would be to bring the contents of the packages into one big package in FM.  It is possible that they all originate from the same FM model.  If they are from different models you could bring into one big model via linking.   

You need to understand the implications of the actions and the nature of the metadata as this is a tricky matter.   

sukanya

can you please elaborate more on linking? are you referring to Linked segments. If yes,Do you have any samples or any documentation notes of how to build them. Much appreciated.

Thanks in advance.

MFGF

Quote from: sukanya on 27 Jun 2019 11:49:14 PM
can you please elaborate more on linking? are you referring to Linked segments. If yes,Do you have any samples or any documentation notes of how to build them. Much appreciated.

Thanks in advance.

Hi,

Probably the best place to start is the Framework Manager User Guide:

https://www.ibm.com/support/knowledgecenter/en/SSEP7J_11.0.0/com.ibm.swg.ba.cognos.ug_fm.doc/c_segmenting_and_linking_projects.html#segmenting_and_linking_projects

Cheers!

MF.
Meep!

bus_pass_man

Here's the documentation of linking.

https://www.ibm.com/support/knowledgecenter/en/SSEP7J_11.1.0/com.ibm.swg.ba.cognos.ug_fm.doc/c_segmenting_and_linking_projects.html


My advice is that it would be easier if you created views in the module which use those objects in your FM packages that you want to use and then to create relationships to them.     

srmoure

I'm having errors when reporting from a data module that consist  on a framework package linked to table (external data). When I drag some of the information from the package I get errors.
The only way to fix it, is to remove the relationship in the data module and join the 2 sources in Reporting.

Not sure if this is a defect or a limitation of data modules.

bus_pass_man

The first thing to do when you encounter errors is to read the error messages.

The second thing to do is try to understand what the error messages are trying to say.

If you don't understand them or do not know how to address the complaint and if you reach out for assistance, then including the error messages would be helpful.

I think you have a module which consists of a FM package and an uploaded file.  There is a relationship between the file and some thing or several things in the FM package. Is that a correct understanding?

What is the error?

When you mention external data, are you meaning the uploaded file?

srmoure

Yes, I'm creating a module with an existing package and an external file.  I need to link one field of the external file to one field in a package dimension.  I created the relationship without  issues, but when tryin to do a report using field form the external data and measures from the packages I get errors. There was one really strange that cannot remember how to reporduce. But for the purpose of this email I replicated the following one:

XQE-PLN-0248 The column 'XX' of 'FACT_DIM_AA' could not be found in the model. Possibly caused by out-of-date query subject definition: 'FACT_DIM_AAA'   

I think the issue of this error could be happening because the data module changes the original expression from "[PackageName].[AAA].[XX]"  to "[M1].[PackageName].[AAA].[XX]"

The only solution I found is to add the package and the external file into a data module but without establishing a realtionship. Then I could create the JOINS in report studio and create the reports.


*External data is an uploaded excel file, but the issue is related to the relationship created within the data module.

BTW, I can create reports from the data model using only the package without problems. The error shows when the report contains columns from both sources.  If I join the 2 sources in report studio everything works fine.  That's the reason I wanted to know if there's a bug or something (I'm on 11.1.5) . It doesn't seem reasonable to do the joins in Report Studio when using data modules.

bus_pass_man

QuoteI think the issue of this error could be happening because the data module changes the original expression from "[PackageName].[AAA].[XX]"  to "[M1].[PackageName].[AAA].[XX]"
I don't think so.

I have a module with several relationships between uploaded files and a FM package. It works without error in reports.

You would need to identify the other factors involved.

In the expression editor you can test the relationship and see the data which is returned.  Did you do that?  If so, did data get returned?

What is xx?  What's it usage etc.?

srmoure

This is the error I get when the join is done between package and dataset in a data module


XQE-GEN-0010 Found an internal error: 'addEdge():  Unable to process the join. One of the nodes is missing from the graph.'.
RSV-SRV-0042 Trace back:
RSReportService.cpp(764): XQEException: CCL_CAUGHT: RSReportService::processImpl()
RSReportServiceMethod.cpp(254): XQEException: CCL_RETHROW: RSReportServiceMethod::process(): asynchRunSpecification_Request
RSASyncExecutionThread.cpp(887): XQEException: RSASyncExecutionThread::checkException
RSASyncExecutionThread.cpp(331): XQEException: CCL_CAUGHT: RSASyncExecutionThread::runImpl(): asynchRunSpecification_Request
RSASyncExecutionThread.cpp(932): XQEException: CCL_RETHROW: RSASyncExecutionThread::processCommand(): asynchRunSpecification_Request
Execution/RSRenderExecution.cpp(585): XQEException: CCL_RETHROW: RSRenderExecution::execute
Assembly/RSDocAssemblyDispatch.cpp(340): XQEException: CCL_RETHROW: RSDocAssemblyDispatch::dispatchAssembly
Assembly/RSLayoutAssembly.cpp(79): XQEException: CCL_RETHROW: RSLayoutAssembly::assemble
Assembly/RSDocAssemblyDispatch.cpp(449): XQEException: CCL_RETHROW: RSDocAssemblyDispatch::dispatchChildrenAssemblyForward
Assembly/RSReportPagesAssembly.cpp(185): XQEException: CCL_RETHROW: RSReportPagesAssembly::assemble
Assembly/RSDocAssemblyDispatch.cpp(385): XQEException: CCL_RETHROW: RSDocAssemblyDispatch::dispatchAssembly
Assembly/RSPageAssembly.cpp(314): XQEException: CCL_RETHROW: RSPageAssembly::assemble
Assembly/RSDocAssemblyDispatch.cpp(385): XQEException: CCL_RETHROW: RSDocAssemblyDispatch::dispatchAssembly
Assembly/RSTableRowAssembly.cpp(177): XQEException: CCL_RETHROW: RSTableRowAssembly::assemble
Assembly/RSDocAssemblyDispatch.cpp(385): XQEException: CCL_RETHROW: RSDocAssemblyDispatch::dispatchAssembly
Assembly/RSTableCellAssembly.cpp(151): XQEException: CCL_RETHROW: RSTableCellAssembly::assemble
Assembly/RSDocAssemblyDispatch.cpp(449): XQEException: CCL_RETHROW: RSDocAssemblyDispatch::dispatchChildrenAssemblyForward
Assembly/RSDocAssemblyDispatch.cpp(385): XQEException: CCL_RETHROW: RSDocAssemblyDispatch::dispatchAssembly
Assembly/RSAssembly.cpp(699): XQEException: CCL_RETHROW: RSAssembly::createListIterator
Assembly/RSAssembly.cpp(767): XQEException: CCL_RETHROW: RSAssembly::createListIterator
RSQueryMgr.cpp(840): XQEException: CCL_RETHROW: RSQueryMgr::getListIterator
RSQueryMgr.cpp(912): XQEException: CCL_RETHROW: RSQueryMgr::getResultSetIterator
RSQueryMgr.cpp(1020): XQEException: CCL_RETHROW: RSQueryMgr::createIterator
RSQueryMgrBasic.cpp(296): XQEException: CCL_RETHROW: RSQueryMgrBasic::executeRsapiCommand
RSQueryMgrExecutionHandlerImpl.cpp(167): XQEException: CCL_RETHROW: RSQueryMgrExecutionHandlerImpl::execute()
QFSSession.cpp(1190): XQEException: CCL_RETHROW: QFSSession::ProcessDoRequest()
QFSSession.cpp(1188): XQEException: CCL_CAUGHT: QFSSession::ProcessDoRequest()
QFSSession.cpp(1145): XQEException: CCL_RETHROW: QFSSession::ProcessDoRequest()
QFSConnection.cpp(888): XQEException: CCL_RETHROW: QFSConnection::Execute
QFSQuery.cpp(311): XQEException: CCL_RETHROW: QFSQuery::Execute v2
XQEConnector.cpp(300): XQEException: CCL_THROW: XQEConnector::send

dougp

Hmmm...  What are you trying to do?  What is your end game?

You can use a data module to create a data set.
You can use a data set to feed a report or dashboard.
Dashboards generally perform more smoothly if fed by a data set rather than one or more packages.

srmoure

I am trying to connect and existing framework package to an uploaded excel spreadsheet. The issue is about issues of data models handling packages.
The problem only happens when I establish the relationship between the data and the package in the data module.  If I don't establish the relationship in the data module and I connect the data using a join query in reporting all works fine.
The data's extremely simple, the package contains daily information about worked hours, employee role, employee name. The excel spreadsheet only has employee id, date, and information if the employee worked from home on that day.

Data module is either buggy handling framework packages or I'm making a mistake, but cannot make the reporting work when I connect the data within the data model. The only solution I found is to add package and spreadsheet to the data module but left the tables without relationship. Then I create one query with the WFH data and the main query with all the information about the employee.  Joining those 2 queries using employe id and date in reporting works fine.   Joining the package to the data within the data module doesn't seem to work.  It seems the problem is related to the date being on the date dimension of the package, the employee id being on the employee dimension and the worked hours being a measure on the fact.  This requires a relationship form the excel spreadsheet to 3 different tables of the package.

I just want to know if this is not working because I don't know how to do it or because data modules is limited when using framework packages as source.

dougp

It probably has nothing to do with FM.  It's more likely a limitation in the data module editor.  You didn't say what version you are using.  I use 11.0.13.  I think this was improved in 11.1.x.

But you're not joining two packages (see subject line).  You're joining a package to a spreadsheet.

Because of the relationships within the package and the relationships you are defining between the package and the spreadsheet, you probably have circular relationships.  That never ends well.

If you want to institutionalize this as a source:
Create a data set that gets the subset of data you need from the package.
Create a data module that joins the data set to the spreadsheet.
Create a data set from the data module.
Refresh both data sets, in order, on a schedule.
Use the second data set for dashboards and reports.

But if this is for one report (read:  one report developer), it's simpler to create the relationships in the report.