Bug 169596 - Data Provider 8 out of 12 Transformations are not saved to file
Summary: Data Provider 8 out of 12 Transformations are not saved to file
Status: UNCONFIRMED
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Calc (show other bugs)
Version:
(earliest affected)
26.2.0.0 alpha0+ master
Hardware: All All
: medium normal
Assignee: Not Assigned
URL:
Whiteboard:
Keywords:
Depends on: 165619 169568 169570 169572
Blocks: Data-Provider 169581 169608 169609 169610 169612 169615
  Show dependency treegraph
 
Reported: 2025-11-21 16:01 UTC by Michael Otto
Modified: 2025-11-22 16:00 UTC (History)
7 users (show)

See Also:
Crash report or crash signature:


Attachments
Data Provider with 5x3numbersN.csv and all Transformations (12.32 KB, application/vnd.oasis.opendocument.spreadsheet)
2025-11-21 16:01 UTC, Michael Otto
Details
screen shot (edited) of Data Provider all Transformations (70.70 KB, image/png)
2025-11-21 16:06 UTC, Michael Otto
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Michael Otto 2025-11-21 16:01:58 UTC
Created attachment 204176 [details]
Data Provider with 5x3numbersN.csv and all Transformations

PRECONDITION:
new Calc spreadsheet, Data > Define Range 
Data > Data Provider
select Range, CSV, URL e.g. 5x3numbersN.csv from #169570
https://bugs.documentfoundation.org/attachment.cgi?id=204142
[Add] all types of transformations: see attached screen shot
save Calc file --> attached DBrangeH16-5x3numbersN-allTrsfm.ods

PROBLEM DESCRIPTION:
only few transformations are saved in the file
(this means that Data > Refresh Data Provider does not fill the expected data)

[Delete Column OK]
Delete Rows -- not saved: NOK
Swap Rows -- not saved: NOK
[Split Column OK]
[Merge Columns OK]
‍‍‍‍‍[Text Transformation OK]
‍‍Sort Columns -- not saved: NOK
‍‍‍‍‍Aggregate Functions -- not saved: NOK
Numeric  -- not saved: NOK
‍Replace Null -- not saved: NOK
‍‍‍‍‍‍‍‍‍Date and Time  -- not saved: NOK
‍‍‍Find and Replace -- not saved: NOK

data-transformations in content.xml:
<calcext:data-transformations>
   <calcext:column-remove-transformation>
      <calcext:column calcext:column="6"/>
   </calcext:column-remove-transformation>
   <calcext:column-split-transformation calcext:column="5" calcext:separator="n"/>
   <calcext:column-merge-transformation calcext:merge-string="+">
      <calcext:column calcext:column="5"/>
      <calcext:column calcext:column="6"/>
   </calcext:column-merge-transformation>
   <calcext:column-text-transformation calcext:type="lowercase">
      <calcext:column calcext:column="2"/>
   </calcext:column-text-transformation>
</calcext:data-transformations>


EXPECTED BEHAVIOR:
all transformations shall be saved

is it an enhancement to demand that the Data Provider dialog
shall show the least used parameters?
(otherwise the user can not see what he did before saving the file)


Version: 26.2.0.0.alpha0+ (X86_64) / LibreOffice Community
Build ID: 480ef73deef62c458e5735cd496a1d74ef408ed8
CPU threads: 2; OS: Linux 6.8; UI render: default; VCL: gtk3
Locale: de-DE (de_DE.UTF-8); UI: en-US
Calc: threaded
Comment 1 Michael Otto 2025-11-21 16:06:15 UTC
Created attachment 204177 [details]
screen shot (edited) of Data Provider all Transformations
Comment 2 Regina Henschel 2025-11-21 20:37:08 UTC
We are pleased that you are testing the Data Provider tool. However, in order to reproduce the issues, we require the file to be imported.

If you encounter problems with transformations, it is better to examine each transformation individually first and, if necessary, write a bug report. This allows you to initially disregard any problems that arise from executing the transformations in sequence.
Comment 3 Michael Otto 2025-11-22 11:18:35 UTC
(In reply to Regina Henschel from comment #2)
> We are pleased that you are testing the Data Provider tool. However, in
> order to reproduce the issues, we require the file to be imported.
> 
> If you encounter problems with transformations, it is better to examine each
> transformation individually first and, if necessary, write a bug report.
> This allows you to initially disregard any problems that arise from
> executing the transformations in sequence.

The file to be imported was not attached to the bugreport but referenced 
in the Description:
> ... URL e.g. 5x3numbersN.csv from #169570
> https://bugs.documentfoundation.org/attachment.cgi?id=204142

Testing transformations individually you are right. 
Indeed some of the transformations saved separately work fine (Aggregate 
Functions, Numeric, Replace Null, Date and Time), maybe I can still find 
out more details, at what conditions they are not saved.
Now I wrote bug reports for those transformations that are not saved even 
alone (#169608 Delete Rows, #169609 Swap Rows, #169610 Sort Columns, ‍‍‍‍‍‍‍‍‍‍‍‍‍‍
#169612 Find and Replace).

Finally I wrote a separate enhancement request: #169615

Thanks for your help.
Comment 4 Regina Henschel 2025-11-22 16:00:59 UTC
Currently (Nov 25) I see in
https://opengrok.libreoffice.org/xref/core/sc/source/ui/inc/datatransformation.hxx?r=5b112c8f8843613873181fce50990a8feef837ca#23
enum class TransformationType
24  {
25      MERGE_TRANSFORMATION,
26      SPLIT_TRANSFORMATION,
27      DELETE_TRANSFORMATION,
28      SORT_TRANSFORMATION,
29      TEXT_TRANSFORMATION,
30      AGGREGATE_FUNCTION,
31      NUMBER_TRANSFORMATION,
32      REMOVE_NULL_TRANSFORMATION,
33      DATETIME_TRANSFORMATION,
34      FINDREPLACE_TRANSFORMATION,
35      DELETEROW_TRANSFORMATION,
36      SWAPROWS_TRANSFORMATION
37  };

In https://opengrok.libreoffice.org/xref/core/sc/source/filter/xml/xmlexprt.cxx?r=48cf7f1123637be847140ef9acc49e8f5f056677#4212
in the switch
sc::TransformationType::DELETE_TRANSFORMATION -> XML_COLUMN_REMOVE_TRANSFORMATION
sc::TransformationType::SPLIT_TRANSFORMATION -> XML_COLUMN_SPLIT_TRANSFORMATION
sc::TransformationType::MERGE_TRANSFORMATION -> XML_COLUMN_MERGE_TRANSFORMATION
sc::TransformationType::SORT_TRANSFORMATION -> XML_COLUMN_SORT_TRANSFORMATION
sc::TransformationType::TEXT_TRANSFORMATION -> XML_COLUMN_TEXT_TRANSFORMATION
sc::TransformationType::AGGREGATE_FUNCTION -> XML_COLUMN_AGGREGATE_TRANSFORMATION
sc::TransformationType::NUMBER_TRANSFORMATION -> XML_COLUMN_NUMBER_TRANSFORMATION
sc::TransformationType::REMOVE_NULL_TRANSFORMATION -> XML_COLUMN_REPLACENULL_TRANSFORMATION
sc::TransformationType::DATETIME_TRANSFORMATION -> XML_COLUMN_DATETIME_TRANSFORMATION

So obviously the implementation of the export to ODF is missing for
34      FINDREPLACE_TRANSFORMATION,
35      DELETEROW_TRANSFORMATION,
36      SWAPROWS_TRANSFORMATION