cancel
Showing results for 
Search instead for 
Did you mean: 

FDX Cube View Rule

KrishnaS
New Contributor III

I have created a Dashboard Dara Set BR and I am attached in the data adapter. When I am trying to execute the rule am getting 0 data. See below the entity is always passing as None but when I add a log message in the code the variable is passing based on the selection and printing the correct entity. in My CV i also have the FDXentity parameter. Any Idea why it is happening ?

Original Query 

{FDX_CUbeView}{ExtractCubeViewTimePivot}{cvNameToExtract=Data,entityDimName=E#|!FDXEntity!|}

Substituted Query 

{FDX_CUbeView}{ExtractCubeViewTimePivot}{cvNameToExtract=Data,entityDimName=E#None}

 

Thanks

Krishna

 

 

2 ACCEPTED SOLUTIONS

KrishnaS
New Contributor III

Thanks.

I found the Solution & answered my own question

FDX Adapter call

{FDX_CUbeView}{ExtractCubeViewTimePivot}{cvNameToExtract=FDX_Data_CubeView,entityDimName=AccReconEntity,entityMemFilter=E#|!FDXEntity!|}

 

Dashboard BR

Dim entityDimName As String = args.NameValuePairs.XFGetValue("entityDimName")

Dim entityMemFilter As String = args.NameValuePairs.XFGetValue("entityMemFilter")

KrishnaS

 

 

 

 

 

View solution in original post

KrishnaS
New Contributor III

Here is the entire code & Steps. It is kind of very basic

1. Create a CV with the Parameter in this example it is entity. 

2. Dashboard Dataset rule is below.

3. Create an Adapter call the BR with the parameters. entityDimName parameter is your entity Dimension in the dimension library. This was the parameter I was missing in the adapter.

{FDX_CUbeView}{ExtractCubeViewTimePivot}{cvNameToExtract=FDX_Data_CubeView,entityDimName=AccReconEntity,entityMemFilter=E#|!FDXEntity!|}

 

Case Is = DashboardDataSetFunctionType.GetDataSet
If args.DataSetName.XFEqualsIgnoreCase("ExtractCubeViewTimePivot") Then

Dim cvNameToExtract As String = args.NameValuePairs.XFGetValue("cvNameToExtract", String.Empty)
Dim entityDimName As String = args.NameValuePairs.XFGetValue("entityDimName")
Brapi.ErrorLog.LogMessage(si,entityDimName)
Dim entityMemFilter As String = args.NameValuePairs.XFGetValue("entityMemFilter")
Dim scenarioDimName As String = args.NameValuePairs.XFGetValue("", String.Empty)
Dim scenarioMemFilter As String = args.NameValuePairs.XFGetValue("", String.Empty)
Dim timeMemFilter As String = args.NameValuePairs.XFGetValue("", String.Empty)
Dim nameValuePairs As NameValueFormatBuilder = New NameValueFormatBuilder(String.Empty, args.CustomSubstVars, False)
Dim includeCellText As Boolean = False
Dim useStandardFields As Boolean = True
Dim useGenericTimeColNames As Boolean = False
Dim filter As String = String.Empty
Dim parallelQueryCount As Integer = 8
Dim logStats As Boolean = False
Dim dt As DataTable = BRApi.Import.Data.FdxExecuteCubeViewTimePivot(si, cvNameToExtract,entityDimName,entityMemFilter, scenarioDimName, scenarioMemFilter, timeMemFilter, nameValuePairs, includeCellText, useStandardFields, useGenericTimeColNames, filter, parallelQueryCount, logStats)
If Not dt Is Nothing Then

Return dt
Brapi.ErrorLog.LogMessage(si,entityDimName)
Else
Brapi.ErrorLog.LogMessage(si,entityDimName)
Return Nothing

End If

End If
End Select

 

 

 

View solution in original post

12 REPLIES 12

How are you calling this? Is it part of a dashboard? I see that you are passing a parameter to the rule, so that parameter should come from somewhere. (a combo box or something). When you directly run the adapter it is not going to pick it up.

KrishnaS
New Contributor III

It is a Dashboard Parameter. and it is in my cube view POV.

Dim entityDimName As String = args.NameValuePairs.XFGetValue("entityDimName ",String.Empty)

I'm not sure what you are trying to achieve. Why is it going to an adapter to get the data when you already have a cubeview? FDX is used for exports and in business rules. If you need the data adapter to work using a dashboard data set rule then you need a dashboard that has a component that uses the parameter you are passing to the DDS rule.

KrishnaS
New Contributor III

Great. I will figure it out and post my comments. I know I have data in CV but I am trying to use in Dashboard to create a Pivot table. Thanks for your input.

You can always do that using a cubeviewmd adapter. I don't think you need FDX for that. 

FYI. I am trying different options and trying to find which is better BTW I already implemented CVMD. Thanks. I think we are deviating from the topic. 

Well, the answer was already given. If you are trying to use this from a Dashboard, you need a component to pass the parameter. Have you tried that? I believe the purpose of the forum is to provide you with options that are best.

Sai_Maganti
Contributor

Try this

{FDX_CUbeView}{ExtractCubeViewTimePivot}{cvNameToExtract=Data,entityDimName=|!FDXEntity!|}

and in the Business Rule

Dim selectedEntity as string = args.NameValuePairs.XFGetValue("entityDimName", String.Empty)

Dim entityMemFilter As String = "E#" & selectedEntity

and in the FDX call pass entityMemFilter

 

KrishnaS
New Contributor III

Thanks.

I found the Solution & answered my own question

FDX Adapter call

{FDX_CUbeView}{ExtractCubeViewTimePivot}{cvNameToExtract=FDX_Data_CubeView,entityDimName=AccReconEntity,entityMemFilter=E#|!FDXEntity!|}

 

Dashboard BR

Dim entityDimName As String = args.NameValuePairs.XFGetValue("entityDimName")

Dim entityMemFilter As String = args.NameValuePairs.XFGetValue("entityMemFilter")

KrishnaS

 

 

 

 

 

You are confusing people with this solution. Why would this work? If it did that means you didn't supply the entity dimension in your FDX call. So it is always better to post the whole thing rather than bits and pieces of it.

Stay calm. Updated the entire solution.

KrishnaS
New Contributor III

Here is the entire code & Steps. It is kind of very basic

1. Create a CV with the Parameter in this example it is entity. 

2. Dashboard Dataset rule is below.

3. Create an Adapter call the BR with the parameters. entityDimName parameter is your entity Dimension in the dimension library. This was the parameter I was missing in the adapter.

{FDX_CUbeView}{ExtractCubeViewTimePivot}{cvNameToExtract=FDX_Data_CubeView,entityDimName=AccReconEntity,entityMemFilter=E#|!FDXEntity!|}

 

Case Is = DashboardDataSetFunctionType.GetDataSet
If args.DataSetName.XFEqualsIgnoreCase("ExtractCubeViewTimePivot") Then

Dim cvNameToExtract As String = args.NameValuePairs.XFGetValue("cvNameToExtract", String.Empty)
Dim entityDimName As String = args.NameValuePairs.XFGetValue("entityDimName")
Brapi.ErrorLog.LogMessage(si,entityDimName)
Dim entityMemFilter As String = args.NameValuePairs.XFGetValue("entityMemFilter")
Dim scenarioDimName As String = args.NameValuePairs.XFGetValue("", String.Empty)
Dim scenarioMemFilter As String = args.NameValuePairs.XFGetValue("", String.Empty)
Dim timeMemFilter As String = args.NameValuePairs.XFGetValue("", String.Empty)
Dim nameValuePairs As NameValueFormatBuilder = New NameValueFormatBuilder(String.Empty, args.CustomSubstVars, False)
Dim includeCellText As Boolean = False
Dim useStandardFields As Boolean = True
Dim useGenericTimeColNames As Boolean = False
Dim filter As String = String.Empty
Dim parallelQueryCount As Integer = 8
Dim logStats As Boolean = False
Dim dt As DataTable = BRApi.Import.Data.FdxExecuteCubeViewTimePivot(si, cvNameToExtract,entityDimName,entityMemFilter, scenarioDimName, scenarioMemFilter, timeMemFilter, nameValuePairs, includeCellText, useStandardFields, useGenericTimeColNames, filter, parallelQueryCount, logStats)
If Not dt Is Nothing Then

Return dt
Brapi.ErrorLog.LogMessage(si,entityDimName)
Else
Brapi.ErrorLog.LogMessage(si,entityDimName)
Return Nothing

End If

End If
End Select