Forum Discussion
Krishna
4 years agoValued Contributor
FDX Cube View Rule
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
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
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
14 Replies
- ckattookaranValued Contributor
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.
- KrishnaValued Contributor
It is a Dashboard Parameter. and it is in my cube view POV.
Dim entityDimName As String = args.NameValuePairs.XFGetValue("entityDimName ",String.Empty)
- ckattookaranValued Contributor
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.
- KrishnaValued Contributor
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.
- ckattookaranValued Contributor
You can always do that using a cubeviewmd adapter. I don't think you need FDX for that.
- KrishnaValued Contributor
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.
- Sai_MagantiContributor II
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
- KrishnaValued Contributor
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
- ckattookaranValued Contributor
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.
- KrishnaValued Contributor
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 - Sergey
OneStream Employee
Hi ! Could you please specify if the E#|!FdxEntity!| should be written somewhere in the cube view ? Is it a dashboard parameter that you have created ?
Regards,
- KrishnaValued Contributor
It is a Dashboard Parameter which is passing the entity as a parameter.
Related Content
- 2 years ago
- 4 years ago
- 2 years ago
- 1 month ago