Grouping data feature in Smart Markers using C#.NET

Hi everybody,



I’m studing Aspose.Cells for a reporting project and I see the Smart Marker feature. I tried it and it works great :slight_smile:

But I need some informations. In all samples I saw, Smart Markers repeat data but I didn’t see how to repeat a group of rows instead.

I explain my issue.

I need to display users and dispatch them by business then by category (internal staff or external staff).



Actually, I have the following template fill by 2 DataSet.



----------------

Internal Staff:

&=InternalUsers.FullName



External Staff:

&=ExternalUsers.FullName

----------------





Now, I need to add the Business line. So I want to have something like that:



------------------------

&=Business Line:

Internal Staff:

&=InternalUsers.FullName



External Staff:

&=ExternalUsers.FullName

------------------------



But I don’t know by advance the several business line. All data is getting dynamically.



How Smart Marker can help me ? Or maybe I should see in Excel macro ?



Thx for your help.

Hi ,

Do you means you want to set the data as the following?

Business1
InternalStaff1
InternalStaff2
InternalStaff3
Business2
InternalStaff4
InternalStaff5
InternalStaff6

If yes, i think you can treat the Business data as the part of the dataSet1. You do not need to set "&=Business Line:"

Hi :)

Not exactly. This is what I want to obtain:

Business Line : BL1
Internal Staff:
Staff1
Staff2
Staff3
External Staff:
Staff4
Staff5
Staff6

Business Line : BL2
Internal Staff:
Staff7
Staff8
Staff9
External Staff:
Staff10
Staff11
Staff12
(...)

So I'm asking if Smart Marker can help me or if finally I should use Excel feature (like macro?).
Because I didn't found out to resolve my issue. Maybe Smart Marker isn't the good way ?

PS: I think (real?) looping mechanism is missing into Aspose.Cells component :)

Thank for helping me :)

Hi,

I think you can gather all data to a DataSet and only set a smart maker in the file.See following sql codes:

Select * from(
Select businessId,.. from business
union
Select businessId,.. from internalStaff
union
Select businessId,.. from ExternalStaff
) order by businessId

Or you can build a sql view in the database.

Hi :slight_smile:

Yes, I understand, but it isn’t a database issue :slight_smile: I already have my stored procedure done.
In my database, I have flatten data, something like the following example
User1 | BL1
User2 | BL1
User3 | BL2
User4 | BL3
User5 | BL3 and so on…
How smart markers can help to group user by BL ? How Aspose know User1 & User2 have the same business ? In fact: how to group data by a specific criteria ? I’m not sure that smart marker will answer my problem, this is why I’m asking. Maybe, I finally generate myself rows & columns… But il will be a lost while smart marker are a good idea :slight_smile: Maybe, there is an another way to use template feature in Aspose component ?

Thank for your help :slight_smile:

In these days we are working to enhance smart marker feature to enable grouping data. For you specific need, we will consider carefully about how to implement it.

Hi :slight_smile:

Thanks for your answer. I wil wait with care this new feature :wink:

By the time, I will generate myself cells and columns.

Thanks for your help.

Did this implementation done? Can you please guide for similar scenario?

Hi Shiv Ojha,


We did support grouping data feature in Smart Markers a few years back. We also made enhancements to Smart Markers in newer versions. We recommend you to kindly see the following sub-topics (with examples) which will help you to accomplish your task:

Thank you.

Hello,

Did someone succeeded to achive this with smart markers ?

The question was building this structure (before people start to answer off topic :slight_smile:):
Business Line : BL1
Internal Staff :
Staff1
Staff2
Staff3
External Staff :
Staff4
Staff5
Staff6

Business Line : BL2
Internal Staff :
Staff7
Staff8
Staff9
External Staff :
Staff10
Staff11
Staff12
(…)

Thanks for any help

@anissou,

We already mentioned above, i.e., we did support grouping data feature in Smart Markers which may help you accomplish the task. We recommend you to kindly see the following sub-topics (with examples) for your reference:

If you still could not evaluate, kindly do provide your input file (having markers) with data and your expected file (you may create the files in MS Excel manually), we will check it soon.

PS. please zip the files prior attaching.

@Amjad_Sahi,
Thank you for your response.
I did see all the links you mentioned.
Unfortunatly, it can’t help me with my use case. Or, maybe I’m not seeing how it can :slightly_smiling_face:
Please find attached:

  • input.xlsx containing smart markers
  • expected_output.xlsx containing the expected result
  • output.xlsx containing the actual result
  • Program.cs where I create the data

I want to group by id and repeat the block of rows but I don’t see any example showing this feature.
I also couldn’t find a way to concatenate business line name to get: Business Line : BL1

Thank you in advance for your help.

input.zip (22.1 KB)

@anissou,
We have analyzed the requirement but we need to look into it more. We have logged the issue in our database for investigation and for a sample code(if possible). Once, we will have some news for you, we will update you in this topic.

This issue has been logged as

CELLSNET-47206 – Grouping data with Horizontal Smart Markers and nested data source

@anissou,
Now we only support the attached input file. We will look into how to implement horizontal smart marker with nested data source later. input.zip (45.2 KB)

@anissou,

We are pleased to inform you that we have fixed the issue now. We will publish the fix in the next few days after performing QA and incorporating other enhancements and fixes.

The issues you have found earlier (filed as CELLSNET-47206) have been fixed in this update. This message was posted using Bugs notification tool by simon.zhao