Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.

Reply
mark_carlisle
Advocate IV
Advocate IV

cell magic %%dax returning error

I have a notebook thats using Semantic Link to get data from a Power BI semantic model. I am able to successfully access data using fabric.evaluate_measure, however the limitation of the filter only supporting the in operator, has lead me to explore

fabric.evaluate_dax and %%dax cell magic but these return errors. I'm more interested in using %%dax as this would allow me to use parameters that I have in the notebook with the DAX expression.

 

When I run the following:

 

%%dax "REDACTED" -w "REDACTED"
EVALUATE
SUMMARIZECOLUMNS (
    'dim_date'[calendar_start_of_week],
    'dim_ga_session'[ga_page_path_session_landing],
    'dim_ga_session'[ga_is_login_session],
    'dim_ga_session'[ga_channel],
    'dim_ga_session'[ga_site_variant],
    FILTER (
        KEEPFILTERS (
            VALUES ( 'dim_date'[calendar_start_of_week] )
        ),
        'dim_date'[calendar_start_of_week]
            >= DATE ( 2024, 1, 1 )
    ),
        'dim_ga_session'[ga_site_variant]
    ),
    "sessions", 'model_metrics'[# Sessions],
    "bounce_sessions", 'model_metrics'[# Bounce Sessions]
)

 

I get the error:

 

---------------------------------------------------------------------------
AdomdErrorResponseException               Traceback (most recent call last)
AdomdErrorResponseException: Query (16, 6) The syntax for '<ccon>,</ccon>' is incorrect. (<ccon>EVALUATE
SUMMARIZECOLUMNS (
    'dim_date'[calendar_start_of_week],
    'dim_ga_session'[ga_page_path_session_landing],
    'dim_ga_session'[ga_is_login_session],
    'dim_ga_session'[ga_channel],
    'dim_ga_session'[ga_site_variant],
    FILTER (
        KEEPFILTERS (
            VALUES ( 'dim_date'[calendar_start_of_week] )
        ),
        'dim_date'[calendar_start_of_week]
            >= DATE ( 2024, 1, 1 )
    ),
        'dim_ga_session'[ga_site_variant]
    ),
    "sessions", 'model_metrics'[# Sessions],
    "bounce_sessions", 'model_metrics'[# Bounce Sessions]
)
</ccon>).

Technical Details:
RootActivityId: e3a15cb7-c090-4074-bd51-561af95fd7eb
Date (UTC): 1/11/2024 12:41:53 PM
   at Microsoft.AnalysisServices.AdomdClient.XmlaClient.CheckForSoapFault(XmlReader reader, XmlaResult xmlaResult, Boolean throwIfError)
   at Microsoft.AnalysisServices.AdomdClient.XmlaClient.CheckForError(XmlReader reader, XmlaResult xmlaResult, Boolean throwIfError)
   at Microsoft.AnalysisServices.AdomdClient.XmlaClient.SendMessage(Boolean endReceivalIfException, Boolean readSession, Boolean readNamespaceCompatibility)
   at Microsoft.AnalysisServices.AdomdClient.XmlaClient.ExecuteStatement(String statement, IDictionary connectionProperties, IDictionary commandProperties, IDataParameterCollection parameters, Boolean isMdx)
   at Microsoft.AnalysisServices.AdomdClient.AdomdConnection.XmlaClientProvider.Microsoft.AnalysisServices.AdomdClient.IExecuteProvider.ExecuteTabular(CommandBehavior behavior, ICommandContentProvider contentProvider, AdomdPropertyCollection commandProperties, IDataParameterCollection parameters)
   at Microsoft.AnalysisServices.AdomdClient.AdomdCommand.ExecuteReader(CommandBehavior behavior)
   at Microsoft.AnalysisServices.AdomdClient.AdomdCommand.ExecuteReader()
   at Microsoft.Fabric.SemanticLink.ParquetWriter.WriteAsync()

The above exception was the direct cause of the following exception:

AggregateException                        Traceback (most recent call last)
Cell In[13], line 1
----> 1 get_ipython().run_cell_magic('dax', '"REDACTED" -w "REDACTED"', 'EVALUATE\nSUMMARIZECOLUMNS (\n    \'dim_date\'[calendar_start_of_week],\n    \'dim_ga_session\'[ga_page_path_session_landing],\n    \'dim_ga_session\'[ga_is_login_session],\n    \'dim_ga_session\'[ga_channel],\n    \'dim_ga_session\'[ga_site_variant],\n    FILTER (\n        KEEPFILTERS (\n            VALUES ( \'dim_date\'[calendar_start_of_week] )\n        ),\n        \'dim_date\'[calendar_start_of_week]\n            >= DATE ( 2024, 1, 1 )\n    ),\n        \'dim_ga_session\'[ga_site_variant]\n    ),\n    "sessions", \'model_metrics\'[# Sessions],\n    "bounce_sessions", \'model_metrics\'[# Bounce Sessions]\n)\n')

File ~/cluster-env/clonedenv/lib/python3.10/site-packages/IPython/core/interactiveshell.py:2478, in InteractiveShell.run_cell_magic(self, magic_name, line, cell)
   2476 with self.builtin_trap:
   2477     args = (magic_arg_s, cell)
-> 2478     result = fn(*args, **kwargs)
   2480 # The code below prevents the output from being displayed
   2481 # when using magics with decodator @output_can_be_silenced
   2482 # when the last Python token in the expression is a ';'.
   2483 if getattr(fn, magic.MAGIC_OUTPUT_CAN_BE_SILENCED, False):

File ~/cluster-env/clonedenv/lib/python3.10/site-packages/sempy/fabric/_daxmagics.py:44, in DAXMagics.dax(self, line, cell)
     41 cell = cell.format(**self.shell.user_ns)  # type: ignore[attr-defined]
     43 # evaluate the dax
---> 44 df = fabric.evaluate_dax(dataset, cell, workspace=workspace)
     46 # store in output variable (following https://ipython.readthedocs.io/en/stable/interactive/magics.html#cellmagic-script)
     47 if args.output:

File ~/cluster-env/clonedenv/lib/python3.10/site-packages/sempy/_utils/_log.py:269, in mds_log.<locals>.get_wrapper.<locals>.log_decorator_wrapper(*args, **kwargs)
    266     raise
    268 try:
--> 269     result = func(*args, **kwargs)
    271     # The invocation for get_message_dict moves after the function
    272     # so it can access the state after the method call
    273     message.update(extractor.get_completion_message_dict(result, arg_dict))

File ~/cluster-env/clonedenv/lib/python3.10/site-packages/sempy/fabric/_flat.py:891, in evaluate_dax(dataset, dax_string, workspace, verbose)
    869 """
    870 Compute `DAX <https://learn.microsoft.com/en-us/dax/>`_ query for a given dataset.
    871 
   (...)
    888     :class:`~sempy.fabric.FabricDataFrame` holding the result of the DAX query.
    889 """
    890 client: DatasetXmlaClient = _get_or_create_workspace_client(workspace).get_dataset_client(dataset, mode=ConnectionMode.XMLA)  # type: ignore
--> 891 return client.evaluate_dax(dax_string, verbose)

File ~/cluster-env/clonedenv/lib/python3.10/site-packages/sempy/fabric/_client/_base_dataset_client.py:103, in BaseDatasetClient.evaluate_dax(self, query, verbose)
     87 def evaluate_dax(self, query: str, verbose: int = 0) -> FabricDataFrame:
     88     """
     89     Retrieve results of DAX query as a FabricDataFrame.
     90 
   (...)
    101         FabricDataFrame converted from the results of a DAX query.
    102     """
--> 103     df = self._evaluate_dax(query, verbose)
    104     return FabricDataFrame(df, dataset=self._dataset_name, workspace=self._workspace_client.get_workspace_name())

File ~/cluster-env/clonedenv/lib/python3.10/site-packages/sempy/fabric/_client/_dataset_xmla_client.py:68, in DatasetXmlaClient._evaluate_dax(self, query, verbose, batch_size)
     67 def _evaluate_dax(self, query: str, verbose: int = 0, batch_size: int = 100000) -> pd.DataFrame:
---> 68     return self._get_DAX(dax_string=query, batch_size=batch_size, verbose=verbose)

File ~/cluster-env/clonedenv/lib/python3.10/site-packages/sempy/_utils/_log.py:269, in mds_log.<locals>.get_wrapper.<locals>.log_decorator_wrapper(*args, **kwargs)
    266     raise
    268 try:
--> 269     result = func(*args, **kwargs)
    271     # The invocation for get_message_dict moves after the function
    272     # so it can access the state after the method call
    273     message.update(extractor.get_completion_message_dict(result, arg_dict))

File ~/cluster-env/clonedenv/lib/python3.10/site-packages/sempy/fabric/_client/_dataset_xmla_client.py:195, in DatasetXmlaClient._get_DAX(self, dax_string, batch_size, verbose)
    193         df, fields = dax_to_parquet()
    194     else:
--> 195         raise e
    197 return self._convert_dtypes(df, fields)

File ~/cluster-env/clonedenv/lib/python3.10/site-packages/sempy/fabric/_client/_dataset_xmla_client.py:185, in DatasetXmlaClient._get_DAX(self, dax_string, batch_size, verbose)
    182             pass
    184 try:
--> 185     df, fields = dax_to_parquet()
    186 except AdomdConnectionException:
    187     # retry on connection error - examples include "The connection either timed out or was lost." or "The request was routed to the wrong node"
    188     df, fields = dax_to_parquet()

File ~/cluster-env/clonedenv/lib/python3.10/site-packages/sempy/_utils/_log.py:269, in mds_log.<locals>.get_wrapper.<locals>.log_decorator_wrapper(*args, **kwargs)
    266     raise
    268 try:
--> 269     result = func(*args, **kwargs)
    271     # The invocation for get_message_dict moves after the function
    272     # so it can access the state after the method call
    273     message.update(extractor.get_completion_message_dict(result, arg_dict))

File ~/cluster-env/clonedenv/lib/python3.10/site-packages/sempy/fabric/_client/_dataset_xmla_client.py:168, in DatasetXmlaClient._get_DAX.<locals>.dax_to_parquet()
    166 try:
    167     with self.get_adomd_connection() as adomd_connection:
--> 168         fields = ParquetWriter.DAXToParquet(
    169             dax_string,
    170             temp_file_name,
    171             batch_size,
    172             adomd_connection,
    173             verbose
    174         )
    175         df = pd.read_parquet(temp_file_name)
    176         return df, fields

AggregateException: One or more errors occurred. (Query (16, 6) The syntax for '<ccon>,</ccon>' is incorrect. (<ccon>EVALUATE
SUMMARIZECOLUMNS (
    'dim_date'[calendar_start_of_week],
    'dim_ga_session'[ga_page_path_session_landing],
    'dim_ga_session'[ga_is_login_session],
    'dim_ga_session'[ga_channel],
    'dim_ga_session'[ga_site_variant],
    FILTER (
        KEEPFILTERS (
            VALUES ( 'dim_date'[calendar_start_of_week] )
        ),
        'dim_date'[calendar_start_of_week]
            >= DATE ( 2024, 1, 1 )
    ),
        'dim_ga_session'[ga_site_variant]
    ),
    "sessions", 'model_metrics'[# Sessions],
    "bounce_sessions", 'model_metrics'[# Bounce Sessions]
)
</ccon>).

Technical Details:
RootActivityId: e3a15cb7-c090-4074-bd51-561af95fd7eb
Date (UTC): 1/11/2024 12:41:53 PM)
 ---> Microsoft.AnalysisServices.AdomdClient.AdomdErrorResponseException: Query (16, 6) The syntax for '<ccon>,</ccon>' is incorrect. (<ccon>EVALUATE
SUMMARIZECOLUMNS (
    'dim_date'[calendar_start_of_week],
    'dim_ga_session'[ga_page_path_session_landing],
    'dim_ga_session'[ga_is_login_session],
    'dim_ga_session'[ga_channel],
    'dim_ga_session'[ga_site_variant],
    FILTER (
        KEEPFILTERS (
            VALUES ( 'dim_date'[calendar_start_of_week] )
        ),
        'dim_date'[calendar_start_of_week]
            >= DATE ( 2024, 1, 1 )
    ),
        'dim_ga_session'[ga_site_variant]
    ),
    "sessions", 'model_metrics'[# Sessions],
    "bounce_sessions", 'model_metrics'[# Bounce Sessions]
)
</ccon>).

Technical Details:
RootActivityId: e3a15cb7-c090-4074-bd51-561af95fd7eb
Date (UTC): 1/11/2024 12:41:53 PM
   at Microsoft.AnalysisServices.AdomdClient.XmlaClient.CheckForSoapFault(XmlReader reader, XmlaResult xmlaResult, Boolean throwIfError)
   at Microsoft.AnalysisServices.AdomdClient.XmlaClient.CheckForError(XmlReader reader, XmlaResult xmlaResult, Boolean throwIfError)
   at Microsoft.AnalysisServices.AdomdClient.XmlaClient.SendMessage(Boolean endReceivalIfException, Boolean readSession, Boolean readNamespaceCompatibility)
   at Microsoft.AnalysisServices.AdomdClient.XmlaClient.ExecuteStatement(String statement, IDictionary connectionProperties, IDictionary commandProperties, IDataParameterCollection parameters, Boolean isMdx)
   at Microsoft.AnalysisServices.AdomdClient.AdomdConnection.XmlaClientProvider.Microsoft.AnalysisServices.AdomdClient.IExecuteProvider.ExecuteTabular(CommandBehavior behavior, ICommandContentProvider contentProvider, AdomdPropertyCollection commandProperties, IDataParameterCollection parameters)
   at Microsoft.AnalysisServices.AdomdClient.AdomdCommand.ExecuteReader(CommandBehavior behavior)
   at Microsoft.AnalysisServices.AdomdClient.AdomdCommand.ExecuteReader()
   at Microsoft.Fabric.SemanticLink.ParquetWriter.WriteAsync()
   --- End of inner exception stack trace ---
   at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)
   at System.Threading.Tasks.Task`1.GetResultCore(Boolean waitCompletionNotification)
   at System.Threading.Tasks.Task`1.get_Result()
   at Microsoft.Fabric.SemanticLink.ParquetWriter.DAXToParquet(String dax, String fileName, Int32 batchSize, AdomdConnection adomdConnection, Int32 verbose)

 

What am I missing here?

9 REPLIES 9
v-gchenna-msft
Community Support
Community Support

Hi @mark_carlisle ,

Thanks for using Fabric Community. 
Let me check and try to find out if there is any syntax issue with your code.

Hi @v-gchenna-msft - any progress we're still trying but with no success.

Hi @mark_carlisle ,

I can find some issue with your syntax, would like to understand what you are trying to do.

As I understand you are trying to apply filters greater than particular date.

For that you can try to use syntax - For eg:

 

 

import sempy.fabric as fabric

df_dax = fabric.evaluate_dax(
    "Customer Profitability Sample",
    """
    EVALUATE SUMMARIZECOLUMNS(
        'State'[Region],
        'Calendar'[Year],
        'Calendar'[Month],
        'State'[State],
        FILTER('Calendar', 'Calendar'[Year] >= 2009 && 'Calendar'[Year] <= 2011),
        )
    """)

df_dax

 


Inorder to get some idea please refer below link,
Read data from semantic models and write data that semantic models can consume - Microsoft Fabric | ...
FILTER function (DAX) - DAX | Microsoft Learn

Hope this is helpful. Please let me know incase of further queries.

Hi,

I noticed a syntax error in my previously supplied code and I've tried using fabric.evaluate_dax() as you suggest:

 

df_dax = fabric.evaluate_dax(
    dataset = "REDACTED", \
    workspace = "REDACTED", \
    dax_string = 
    """
    EVALUATE
    SUMMARIZECOLUMNS (
        'dim_date'[calendar_start_of_week],
        'dim_ga_session'[ga_page_path_session_landing],
        'dim_ga_session'[ga_is_login_session],
        'dim_ga_session'[ga_channel],
        'dim_ga_session'[ga_site_variant],
        FILTER (
            KEEPFILTERS ( VALUES ( 'dim_date'[calendar_start_of_week] ) ),
            'dim_date'[calendar_start_of_week] >= DATE ( 2014, 1, 1 )
        ),
        TREATAS ( { "Canada" }, 'dim_ga_session'[ga_site_variant] ),
        "sessions", 'model_metrics'[# Sessions],
        "bounce_sessions", 'model_metrics'[# Bounce Sessions]
    )
    """
)

 

However this code still generates an error:

 

---------------------------------------------------------------------------
NotSupportedException                     Traceback (most recent call last)
NotSupportedException: type System.Object is not supported
   at Parquet.Schema.DataField..ctor(String name, Type clrType, Nullable`1 isNullable, Nullable`1 isArray, String propertyName)
   at Parquet.Schema.DataField`1..ctor(String name, Nullable`1 nullable)

The above exception was the direct cause of the following exception:

TargetInvocationException                 Traceback (most recent call last)
TargetInvocationException: Exception has been thrown by the target of an invocation.
 ---> System.NotSupportedException: type System.Object is not supported
   at Parquet.Schema.DataField..ctor(String name, Type clrType, Nullable`1 isNullable, Nullable`1 isArray, String propertyName)
   at Parquet.Schema.DataField`1..ctor(String name, Nullable`1 nullable)
   --- End of inner exception stack trace ---
   at System.RuntimeMethodHandle.InvokeMethod(Object target, Span`1& arguments, Signature sig, Boolean constructor, Boolean wrapExceptions)
   at System.Reflection.RuntimeConstructorInfo.Invoke(BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
   at System.RuntimeType.CreateInstanceImpl(BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo culture)
   at System.Activator.CreateInstance(Type type, BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo culture, Object[] activationAttributes)
   at Microsoft.Fabric.SemanticLink.ParquetWriter.GetFields(AdomdDataReader reader)
   at Microsoft.Fabric.SemanticLink.ParquetWriter.WriteAsync(AdomdDataReader reader)
   at Microsoft.Fabric.SemanticLink.ParquetWriter.WriteAsync()

The above exception was the direct cause of the following exception:

AggregateException                        Traceback (most recent call last)
Cell In[43], line 1
----> 1 df_dax = fabric.evaluate_dax(
      2     dataset = "REDACTED", \
      3     workspace = "REDACTED", \
      4     dax_string = 
      5     """
      6     EVALUATE
      7     SUMMARIZECOLUMNS (
      8         'dim_date'[calendar_start_of_week],
      9         'dim_ga_session'[ga_page_path_session_landing],
     10         'dim_ga_session'[ga_is_login_session],
     11         'dim_ga_session'[ga_channel],
     12         'dim_ga_session'[ga_site_variant],
     13         FILTER (
     14             KEEPFILTERS ( VALUES ( 'dim_date'[calendar_start_of_week] ) ),
     15             'dim_date'[calendar_start_of_week] >= DATE ( 2014, 1, 1 )
     16         ),
     17         TREATAS ( { "United Kingdom" }, 'dim_ga_session'[ga_site_variant] ),
     18         "sessions", 'model_metrics'[# Sessions],
     19         "bounce_sessions", 'model_metrics'[# Bounce Sessions]
     20     )
     21     """
     22 )

File ~/cluster-env/clonedenv/lib/python3.10/site-packages/sempy/_utils/_log.py:269, in mds_log.<locals>.get_wrapper.<locals>.log_decorator_wrapper(*args, **kwargs)
    266     raise
    268 try:
--> 269     result = func(*args, **kwargs)
    271     # The invocation for get_message_dict moves after the function
    272     # so it can access the state after the method call
    273     message.update(extractor.get_completion_message_dict(result, arg_dict))

File ~/cluster-env/clonedenv/lib/python3.10/site-packages/sempy/fabric/_flat.py:891, in evaluate_dax(dataset, dax_string, workspace, verbose)
    869 """
    870 Compute `DAX <https://learn.microsoft.com/en-us/dax/>`_ query for a given dataset.
    871 
   (...)
    888     :class:`~sempy.fabric.FabricDataFrame` holding the result of the DAX query.
    889 """
    890 client: DatasetXmlaClient = _get_or_create_workspace_client(workspace).get_dataset_client(dataset, mode=ConnectionMode.XMLA)  # type: ignore
--> 891 return client.evaluate_dax(dax_string, verbose)

File ~/cluster-env/clonedenv/lib/python3.10/site-packages/sempy/fabric/_client/_base_dataset_client.py:103, in BaseDatasetClient.evaluate_dax(self, query, verbose)
     87 def evaluate_dax(self, query: str, verbose: int = 0) -> FabricDataFrame:
     88     """
     89     Retrieve results of DAX query as a FabricDataFrame.
     90 
   (...)
    101         FabricDataFrame converted from the results of a DAX query.
    102     """
--> 103     df = self._evaluate_dax(query, verbose)
    104     return FabricDataFrame(df, dataset=self._dataset_name, workspace=self._workspace_client.get_workspace_name())

File ~/cluster-env/clonedenv/lib/python3.10/site-packages/sempy/fabric/_client/_dataset_xmla_client.py:68, in DatasetXmlaClient._evaluate_dax(self, query, verbose, batch_size)
     67 def _evaluate_dax(self, query: str, verbose: int = 0, batch_size: int = 100000) -> pd.DataFrame:
---> 68     return self._get_DAX(dax_string=query, batch_size=batch_size, verbose=verbose)

File ~/cluster-env/clonedenv/lib/python3.10/site-packages/sempy/_utils/_log.py:269, in mds_log.<locals>.get_wrapper.<locals>.log_decorator_wrapper(*args, **kwargs)
    266     raise
    268 try:
--> 269     result = func(*args, **kwargs)
    271     # The invocation for get_message_dict moves after the function
    272     # so it can access the state after the method call
    273     message.update(extractor.get_completion_message_dict(result, arg_dict))

File ~/cluster-env/clonedenv/lib/python3.10/site-packages/sempy/fabric/_client/_dataset_xmla_client.py:195, in DatasetXmlaClient._get_DAX(self, dax_string, batch_size, verbose)
    193         df, fields = dax_to_parquet()
    194     else:
--> 195         raise e
    197 return self._convert_dtypes(df, fields)

File ~/cluster-env/clonedenv/lib/python3.10/site-packages/sempy/fabric/_client/_dataset_xmla_client.py:185, in DatasetXmlaClient._get_DAX(self, dax_string, batch_size, verbose)
    182             pass
    184 try:
--> 185     df, fields = dax_to_parquet()
    186 except AdomdConnectionException:
    187     # retry on connection error - examples include "The connection either timed out or was lost." or "The request was routed to the wrong node"
    188     df, fields = dax_to_parquet()

File ~/cluster-env/clonedenv/lib/python3.10/site-packages/sempy/_utils/_log.py:269, in mds_log.<locals>.get_wrapper.<locals>.log_decorator_wrapper(*args, **kwargs)
    266     raise
    268 try:
--> 269     result = func(*args, **kwargs)
    271     # The invocation for get_message_dict moves after the function
    272     # so it can access the state after the method call
    273     message.update(extractor.get_completion_message_dict(result, arg_dict))

File ~/cluster-env/clonedenv/lib/python3.10/site-packages/sempy/fabric/_client/_dataset_xmla_client.py:168, in DatasetXmlaClient._get_DAX.<locals>.dax_to_parquet()
    166 try:
    167     with self.get_adomd_connection() as adomd_connection:
--> 168         fields = ParquetWriter.DAXToParquet(
    169             dax_string,
    170             temp_file_name,
    171             batch_size,
    172             adomd_connection,
    173             verbose
    174         )
    175         df = pd.read_parquet(temp_file_name)
    176         return df, fields

AggregateException: One or more errors occurred. (Exception has been thrown by the target of an invocation.)
 ---> System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation.
 ---> System.NotSupportedException: type System.Object is not supported
   at Parquet.Schema.DataField..ctor(String name, Type clrType, Nullable`1 isNullable, Nullable`1 isArray, String propertyName)
   at Parquet.Schema.DataField`1..ctor(String name, Nullable`1 nullable)
   --- End of inner exception stack trace ---
   at System.RuntimeMethodHandle.InvokeMethod(Object target, Span`1& arguments, Signature sig, Boolean constructor, Boolean wrapExceptions)
   at System.Reflection.RuntimeConstructorInfo.Invoke(BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
   at System.RuntimeType.CreateInstanceImpl(BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo culture)
   at System.Activator.CreateInstance(Type type, BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo culture, Object[] activationAttributes)
   at Microsoft.Fabric.SemanticLink.ParquetWriter.GetFields(AdomdDataReader reader)
   at Microsoft.Fabric.SemanticLink.ParquetWriter.WriteAsync(AdomdDataReader reader)
   at Microsoft.Fabric.SemanticLink.ParquetWriter.WriteAsync()
   --- End of inner exception stack trace ---
   at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)
   at System.Threading.Tasks.Task`1.GetResultCore(Boolean waitCompletionNotification)
   at Microsoft.Fabric.SemanticLink.ParquetWriter.DAXToParquet(String dax, String fileName, Int32 batchSize, AdomdConnection adomdConnection, Int32 verbose)

Hi @mark_carlisle ,

It looks like there is some syntax issue - while working with FILTER and KEEPFILTERS.
Try to refer this Link - Using KEEPFILTERS in DAX - SQLBI inorder to debug your syntax issue.

Additional References -
Solved: 1. Diff between Filter() and KeepFilters() - Microsoft Fabric Community

Hope this is helpful. Please let me know incase of further queries.

The DAX runs without issue in DAX Studio so unless you can highlight the specific syntax issue then I'm not confident your reply is correct.

mark_carlisle_0-1705659131588.png

 

I think the more likely issue is that theres some issue with how its been implemented in the fabric.evaluate_dax() function.

Hi @mark_carlisle ,

Apologies for the issue you have been facing. As you were able to execute DAX query without any issue, this might be problem with fabric.evaluate_dax() function.

This might require a deeper investigation from our engineering team and they can guide you better.

Please go ahead and raise a support ticket to reach our support team:

https://support.fabric.microsoft.com/support
Please provide the ticket number here as we can keep an eye on it.

Hope this is helpful. Please let me know incase of further queries.

Hello @mark_carlisle ,

We haven’t heard from you on the last response and was just checking back to see if you got a chance to create a support ticket. If yes, please provide the ticket number here as we can keep an eye on it.

Hi @mark_carlisle ,

We haven’t heard from you on the last response and was just checking back to see if you have a resolution yet .
In case if you have any resolution please do share that same with the community as it can be helpful to others .
Otherwise, will respond back with the more details and we will try to help .

Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

April Fabric Community Update

Fabric Community Update - April 2024

Find out what's new and trending in the Fabric Community.

Top Kudoed Authors