How to read the MDX query at service in JavaScript PivotClient?
This KB illustrates that how to read MDX query at service.
Solution:
To read the MDX query at service, refer to the following code example.
C#
public Dictionary<string, object> InitializeClient(string action, string customObject, string clientParams)
{
OlapDataManager DataManager = null;
dynamic customData = serializer.Deserialize<dynamic>(customObject.ToString());
if (customData.ContainsKey("Language"))
{
var cultureIDInfo = new System.Globalization.CultureInfo((customData["Language"])).LCID;
connectionString = connectionString.Replace("" + cultureIDInfoVal + "", "" + cultureIDInfo + "");
cultureIDInfoVal = cultureIDInfo;
DataManager = new OlapDataManager(connectionString);
DataManager.Culture = new System.Globalization.CultureInfo((customData["Language"]));
}
else
DataManager = new OlapDataManager(connectionString);
DataManager.BeforeMdxQueryExecute += DataManager_BeforeMdxQueryExecute;
DataManager.SetCurrentReport(CreateOlapReport());
return olapClientHelper.GetJsonData(action, DataManager, clientParams);
}
void DataManager_BeforeMdxQueryExecute(object sender, QueryExecutingEventArgs e)
{
//other code
}
VB
Public Function InitializeClient(ByVal action As String, ByVal customObject As String, ByVal clientParams As String) As Dictionary(Of String, Object)
Dim DataManager As OlapDataManager = Nothing
Dim customData As dynamic = serializer.Deserialize(Of dynamic)(customObject.ToString())
If customData.ContainsKey("Language") Then
Dim cultureIDInfo = New System.Globalization.CultureInfo((customData("Language"))).LCID
connectionString = connectionString.Replace("" & cultureIDInfoVal & "", "" & cultureIDInfo & "")
cultureIDInfoVal = cultureIDInfo
DataManager = New OlapDataManager(connectionString)
DataManager.Culture = New System.Globalization.CultureInfo((customData("Language")))
Else
DataManager = New OlapDataManager(connectionString)
End If
AddHandler DataManager.BeforeMdxQueryExecute, AddressOf DataManager_BeforeMdxQueryExecute
DataManager.SetCurrentReport(CreateOlapReport())
Return olapClientHelper.GetJsonData(action, DataManager, clientParams)
End Function
Private Sub DataManager_BeforeMdxQueryExecute(ByVal sender As Object, ByVal e As QueryExecutingEventArgs)
'other code
End Sub