CFChart Dynamic Column HELP

I looked over the posts on CFChart but did not find anything
that addresses my specific problem with the cfchart. So if you can
help, I'd appreciate it very much!
What I want to do is take the dynamic name of the column
derived from the first query and use that name in the Legend. E.G.
A_R1_DIS is the first dataset, A_R1_J is the second dataset, and
A_R1_PPLI is the third dataset. Then show a line graph with each
dataset based on the first query. The X Axis displays the Date/Time
value and the Y Axis displays the number of points for each record
of time for each dataset individually. I was able yesterday to get
all three datasets to display individually but when I tried to show
the legend it either displayed only the first Dataset name
"A_R1_DIS" or it displayed "NONE". Currently the code will not
display any line on the chart and the legend repeats the A_R1_DIS
as many times as there are records in the table (60+).
I use the following query to get the dynamic column name
"SelectedDatasetColName" from the MasterDataList table.
<CFQUERY name="getSelectedDatasetColName"
datasource="#getcfdbname.EventCFDBName#">
SELECT MDL_TestName + '_' + MDL_DatasetID + '_' +
MDL_MeaningfulName as SelectedDatasetColName
FROM MasterDataList
</CFQUERY>
Here is where I'm using the "SelectedDatasetColName" value:
******************************************* queries
<CFQUERY name="DatasetHistogramQry"
datasource="#getcfdbname.EventCFDBName#">
SELECT
<cfset i = 1>
<cfloop query="getSelectedDatasetColName">
#SelectedDatasetColName# as col#i#,
<cfset i = i + 1>
</cfloop>
JDay, TheHour, TheMinute,
convert(varchar(12), JDay, 114) + ' ' + convert(varchar(12),
TheHour, 114) + ':' + convert(varchar(12), TheMinute, 114) as
DateTime
FROM vPositionHistogram
ORDER BY JDay, TheHour, TheMinute
</CFQUERY>
Here is the code for the table; which works correct:
**************************** Report Code
<TABLE>
<TR>
<TH>Day</TH>
<TH>Hour</TH>
<TH>Minute</TH>
<CFOUTPUT QUERY="getSelectedDatasetColName">
<TH>#SelectedDatasetColName# Message Count</TH>
</CFOUTPUT>
</TR>
<CFOUTPUT QUERY="DatasetHistogramQry">
<TR BGCOLOR="###IIF(DatasetHistogramQry.currentrow MOD 2,
DE('DCDCDC'), DE('FFFFFF'))#">
<TD ALIGN="center">#JDay#</TD>
<TD ALIGN="center">#TheHour#</TD>
<TD ALIGN="center">#TheMinute#</TD>
<CFSET i = 1>
<CFLOOP INDEX="X" FROM="1"
TO="#getSelectedDatasetColName.recordcount#">
<TD ALIGN="center">#evaluate("col#i#")#</TD>
<CFSET i = i + 1>
</CFLOOP>
</TR>
</CFOUTPUT>
</TABLE>
Here is the output for the table; Dynamic Column Name used to
repeat counts for each dataset.
********************************* output
Day Hour Minute A_R1_DIS Message Count A_R1_J Message Count
A_R1_PPLI Message Count
37 17 36 0 2 35
37 17 37 19 6 32
37 17 38 28 30 33
37 17 39 40 27 27
37 17 40 66 64 32
Here is the problem code. I have tried several variations on
this code but currently all it does is display a blank chart.
**************************** Chart Code
<CFCHART FORMAT="flash" CHARTHEIGHT="340" CHARTWIDTH="600"
SHOWXGRIDLINES="yes" SHOWYGRIDLINES="yes" SHOWBORDER="no"
FONTBOLD="no" FONTITALIC="no" XAXISTITLE="Timeline (Day
Hour:Minute)" YAXISTITLE="Message Counts" SHOW3D="no" ROTATED="no"
SORTXAXIS="no" SHOWLEGEND="yes" TIPSTYLE="MouseOver"
SHOWMARKERS="no">
<CFOUTPUT QUERY="DatasetHistogramQry">
<CFSET i = 1>
<CFLOOP INDEX="X" FROM="1"
TO="#getSelectedDatasetColName.recordcount#">
<CFCHARTSERIES QUERY="DatasetHistogramQry" TYPE="line"
ITEMCOLUMN="#DateTime#" VALUECOLUMN="#evaluate("col#i#")#"
SERIESLABEL="#getSelectedDatasetColName.SelectedDatasetColName#">
<CFSET i = i + 1>
</CFLOOP>
</CFOUTPUT>
</CFCHART>
Please let me know if you need any additional info on my
problem and if you can help, it is greatly appreciated!!!!
- Debra

DateTime is a column in the vPositionHistogram (View). Col#i#
is the variable used to loop through the column names derived from
the getSelectedDatasetColName query. The view is populated
dynamically and the columns in it vary depending on the dataset
used to populate the view. The view can have 1 to many columns.
That is why I pull the column names from the MasterDataList table
and use a variable to get the values from each column. My column
names end up being Col1, Col2, Col3, and so on. I use that variable
in the loop to get the data from vPositionHistogram for each column
in the report/chart. I made some headway on Friday before I called
it a day, but I will try the last suggestion and post my findings
in a little while. Thanks!

Similar Messages

  • How Can I get multi column values from dynamic search help?

    Hi Gurus;
    I'm using dynamic search help in my program.
    I want to get multi column values from search help. But I dont know solution for this issue.
    I'm using F4IF_INT_TABLE_VALUE_REQUEST FM.
    How Can I get multi column values from dynamic search help?
    Thanks.

    Believe it or not, the same FM worked for me in a dynpro. I will try to explain here how it works in custom screen and then you can do your work for other screens or program types. I am not going to write my actual work but will explain in general.
    I have 4 fields (FLD1, FLD2, FLD3, FLD4) and i made the search based on FLD2 and when user click on a line (could be any field), then this would bring the line on to the screens.
    There are like 3 steps.
    You have your value_tab for my fields FLD1, FLD2, FLD3 and FLD4. This is just the data that we pass into the FM. (data: IT_VALTAB type table of ZVAL_TABLE)
    Next map the screen fields into an internal table (data: It_dynpfld type table of dselc ). I also have other internal tables defined  (just to keep it straight, i will be putting here) data:  It_return type standard table of ddshretval.
    Next step is to call the function module. Make sure you have values in IT_VALTAB.
    call function 'F4IF_INT_TABLE_VALUE_REQUEST'
    exporting
            retfield        = 'FLD2'
            value_org       = 'S'
          tables
            value_tab       = It_VALTAB
            return_tab      = It_return
            dynpfld_mapping = It_dynpfld
          exceptions
            parameter_error = 1
            no_values_found = 2
            others          = 3.
        if sy-subrc <> 0.
          message id sy-msgid type sy-msgty number sy-msgno
          with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
        else.
          perform get_selected_fields tables It_return.
        endif.
    The code within the perform GET_SELECTED_FIELDS  - We need to map the result fields after user selects it. The code goes like this. This is step is to update the dynpro fields.
    I need a internal table as well as a work area here. like,
    data: lt_fields type table of dynpread,
            la_fields type dynpread.
      field-symbols: <fs_return> type ddshretval.
    so fill out LT_FIELDS from the IT_RETURN table
    loop at lt_return assigning <fs_return>.
        la_fields-fieldname = <fs_return>-retfield.
        la_fields-fieldvalue = <fs_return>-fieldval.
        append la_fields to lt_fields.
        clear: la_fields.
      endloop.
    Call the FM to update the dynpro
    call function 'DYNP_VALUES_UPDATE'
        exporting
          dyname               = sy-repid
          dynumb               = '1002' "This is my screen number. You could use 1000 for selection screen (hope so)
        tables
          dynpfields           = lt_fields
        exceptions
          invalid_abapworkarea = 1
          invalid_dynprofield  = 2
          invalid_dynproname   = 3
          invalid_dynpronummer = 4
          invalid_request      = 5
          no_fielddescription  = 6
          undefind_error       = 7
          others               = 8.
      if sy-subrc <> 0.
        message id sy-msgid type sy-msgty number sy-msgno
                with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
      endif.
    good luck

  • Dynamic Column in PDF

    Hello All,
    I have a requirement to generate dynamic column in the PDF.
    I have got the same running using the below code
    HEADER : <?split-column-header:XXX_TIME?><?split-column-width:@width?><?XXX_TIME_FROM?>
    DATA : <?split-column-data:XXX_START?><?EMP_NO?>
    The issue I am having is if i generate the output in pdf with small amount of data,it will work but I am not sure how much data can come at run time.
    It can be sometime more than 50 or more columns also.In that case it truncates the data.
    How can i do the same.
    Pls help.
    Thanks
    Sk

    Increase the page size and printable page size, and reduce the column lengths,
    so that you can accomadate them in single row.
    BIP will run in single row, but we have option of making it to next row too.
    But even if you make it in single row, page size has to support the length of the single row you are making :)..
    so you got to increase the page width to Max

  • Importing From Flat File with Dynamic Columns

    HI
    I am using ssis 2008,i have folder in which I have Four(4) “.txt” files each file will have 2 columns(ID, NAME). I loaded 4
    files in one destination, but today I receive one more “.txt” file here we have 3 columns (ID, NAME, JOB) how can I get a message new column will receive in source. And how can I create in extra column in my destination table dynamically …please help me

    Hi Sasidhar,
    You need a Script Task to read the names and number of columns in the first row of the flat file each time and store it in a variable, then create a staging table dynamically based on this variable and modify the destination table definition if one ore more
    new columns need to be added, and then use the staging table to load the destination table. I am afraid there is no available working script for your scenario, and you need some .NET coding experience to achieve your goal. Here is an example you can refer
    to:
    http://www.citagus.com/citagus/blog/importing-from-flat-file-with-dynamic-columns/ 
    Regards,
    Mike Yin
    TechNet Community Support

  • Problem with dynamic column in SBWP

    Hi Friends,
    In SWL1 I have created two attributes with header as "CANCELLED" and " DESCRIPTION" for a particular task.But my SBWP is still showing columns as "Dynamic column" for the workitems of that task.
    Please help me on this.
    Thanks.
    Dilip

    Hi Dilip,
    The column headings will only appear in the task-specific view. In other words, by default the headers will be generic because you can have mixed tasks in the worklist, and column 1 can be a date for one task and a company name for another.
    The user needs to expand the tree on the left hand side and navigate to the "Approve Purchase Order" (or whatever) node to show only items of that task, then column headers should show up.
    Regards,
    Mike

  • Problem with dynamic columns in smartforms.

    Dear SDN Experts,
    I have a requirement in smartforms for dynamic columns.
    i have used template with 10 columns, So from these 10 columns,Columns may vary monthly MIN 2 to MAX 10 depending on
    readings with them  for that month.
    i cannot fix column headings also,Because headings also changes dynamically.
    So Problem is if there is no data in columns,Columns is displayng empty.
    For EX: In this month i have 2 columns data remaining all columns is displaying empty boxes.
    Please suggest me a solution  is this posible in smartforms if i use table also.
    <removed by moderator>
    Regrds,
    MNR
    Edited by: Thomas Zloch on Sep 11, 2011 3:50 PM

    Hi friend,
    See the link below it is having the solution of hiding the columns in smart forms
    Hide table columns in smart form?
    Create a table to display your values with 12 col and hide the columns based on the idea provided in the link above.
    I think this will solve your issue if you still have queries please revert back to me i will help you.
    Thanks,
    Sri Hari

  • Dynamic column names

    I created a line chart with the following sql statement:
    select null link, periode_jaar, sum(totaal) total from V_KPL_VZ_OWB@rapportage_dwhtest
    where periode_jaar = (Select max(periode_jaar) from V_KPL_VZ_OWB@rapportage_dwhtest)
    group by periode_jaar
    order by periode_jaar
    In the legend of the chart the line is named total. I would like have it named for example: Total 2009
    So how i create the dynamic column? Any ideas? Tnx in advnaced

    tnx for helping, i posted my xml code below where to put the tag: <format>{%Name} ({%Value})</format>
    i assume i have to replace %Name with my sirie name and the %Value with the name i wanted?
    Is it possible to replace %Value with an item like :p1_year
    &#60;?xml version = "1.0" encoding="utf-8" standalone = "yes"?&#62;
    &#60;root&#62;
    &#60;type&#62;
    &#60;chart type="2DLine"&#62;
    &#60;animation enabled="yes" appearance="size" speed="10" /&#62;
    &#60;hints auto_size="yes"&#62;
    &#60;text&#62;&#60;![CDATA[{NAME}, {VALUE}]]&#62;&#60;/text&#62;
    &#60;font type="Verdana" size="10" color="0x000000" /&#62;
    &#60;/hints&#62;
    &#60;names show="yes" width="150" placement="chart" position="bottom" &#62;
    &#60;font type="Verdana" size="10" color="0x000000" /&#62;
    &#60;/names&#62;
    &#60;values show="no" prefix="" postfix="%" decimal_separator="," decimal_places="0" /&#62;
    &#60;arguments show="no" /&#62;
    &#60;line_chart left_space="5" right_space="5"&#62;
    &#60;block_names enabled="no" /&#62;
    &#60;/line_chart&#62;
    &#60;/chart&#62;
    &#60;workspace&#62;
    &#60;background enabled="yes" type="solid" color="0xffffff" alpha="0" /&#62;
    &#60;base_area enabled="no" /&#62;
    &#60;chart_area enabled="yes" x="80" y="50" width="380" height="280" deep="0"&#62;
    &#60;background enabled="no"/&#62;
    &#60;border enabled="yes" size="1"/&#62;
    &#60;/chart_area&#62;
    &#60;x_axis name="Jaar" smart="yes" position="center_bottom" &#62;
    &#60;font type="Verdana" size="14" color="0x000000" bold="no" align="center" /&#62;
    &#60;/x_axis&#62;
    &#60;y_axis name="%" smart="yes" position="left_center" &#62;
    &#60;font type="Verdana" size="14" color="0x000000" bold="no" align="center" /&#62;
    &#60;/y_axis&#62;
    &#60;grid&#62;
    &#60;values /&#62;
    &#60;/grid&#62;
    &#60;/workspace&#62;
    &#60;legend enabled="yes" x="480" y="50"&#62;
    &#60;font type="Verdana" size="10" color="0x000000" /&#62;
    &#60;/names&#62;
    &#60;values enabled="YES"/&#62;
    &#60;scroller enabled="no"/&#62;
    &#60;header enabled="no"/&#62;
    &#60;background alpha="0"/&#62;
    &#60;/legend&#62;
    &#60;/type&#62;
    #DATA#
    &#60;/root&#62;

  • Dynamic column selection

    I want to select specific columns from a table dynamically which are basically the columns returned by quering the user_tab_columns data dictionary which in turn has to satisfy certain condition for me.
    So, what I want to do is something like:
    SELECT b.(dynamic column list from a)
    FROM b,
    (SELECT column_name FROM user_tab_columns WHERE table_name='STH' AND ........) a
    any help will be greatly appreciated.

    sql>create or replace procedure p_dynamic_sql
      2  is
      3    v_sql varchar2(4000);
      4  begin
      5    v_sql := 'select ';
      6    for r in (select column_name
      7                from user_tab_cols
      8               where table_name = 'EMP'
      9                 and column_name like 'E%') loop
    10      v_sql := v_sql || r.column_name || ',';
    11    end loop;
    12    v_sql := rtrim(v_sql, ',') || ' from emp';
    13    dbms_output.put_line( v_sql );
    14    -- do something with SQL (open cursor, etc.)   
    15  end;
    16  /
    Procedure created.
    sql>exec p_dynamic_sql
    select EMPNO,ENAME from emp
    PL/SQL procedure successfully completed.

  • Dynamic Column Selector in OBIEE - Solution required

    Hello Experts,
    I am pretty new to OBIEE. Please help me to get OBIEE solution for below requirement.
    I have one 25 column dimension table in database. Created OBIEE .rpd file and published in BI server. Now I need to provide one user interface in which user should be able to chose any number of columns of his choice and he should get record set of those selected columns. Something in my mind is like this.
    I should be providing list of 25 column names with check box to select one or many. Assuming that if user selects Col1, Col3,Col5 and Col7 then he should get the result in excel file with record set of those 4 columns.
    I am using OBIEE 10g.
    Any solution for this is highly appreciated.
    Edited by: user7850154 on Dec 5, 2010 9:22 AM

    user,
    Usually, dynamic column seletor is implemented through "column selector view" available within compund layout of OBIEE Answers.
    But, it does allow you to select only single column rather than multiple columns - which in your case is required.
    J
    -bifacts
    http://www.obinotes.com

  • Dynamic column names in Oracle

    HI SOS!! calling for help...
    i am trying to query the following. I want to remove the duplicates in the ID, and combine them into one... While doing so, I want to keep the data as it is by creating dynamic columns reason_1, reason_2, reason_3 with their corresponding TIME. In case of same reasons, I want to add the TIME. The database is as follows:
    ID     REASON     TIME
    A     41A..........     27
    A     93K..........16
    B     89C...........3
    B     93K...........7
    B     48C..........     4
    C     93K..........     24
    C     93K..........     7
    C     48C.........10
    Expected Result is
    ID     REASON_1......TIME_1.... REASON_2...TIME_2....REASON_3.........TIME_3
    A........ 41A............ 27........... 93K............16          
    B........ 89C............ 3............ 93K............7...........48C.................. 4
    C........ 93K........... 31.......... 48C..............10          
    Would be grateful if someone could try helping me out of this as early as possible.
    Edited by: 968125 on Oct 28, 2012 11:01 PM

    You still haven't made it clear what the requirement is.
    Is there a maximum number of reasons that can occur per ID? If so, you can code the pivoting of your data with something like:
    SQL> ed
    Wrote file afiedt.buf
      1  with t as (select 'A' as ID, '41A' as reason, 27 as time from dual union all
      2             select 'A', '93K', 16 from dual union all
      3             select 'B', '89C', 3 from dual union all
      4             select 'B', '93K', 7 from dual union all
      5             select 'B', '48C', 4 from dual union all
      6             select 'C', '93K', 24 from dual union all
      7             select 'C', '93K', 7 from dual union all
      8             select 'C', '48C', 10 from dual)
      9  --
    10  -- END OF TEST DATA TABLE SIMULATED USING 'WITH' CLAUSE
    11  -- SIMPLY USE THE SELECT STATEMENT BELOW ON YOUR OWN TABLE
    12  --
    13  select id
    14        ,max(decode(rn,1,reason)) as reason_1
    15        ,max(decode(rn,1,time)) as time_1
    16        ,max(decode(rn,2,reason)) as reason_2
    17        ,max(decode(rn,2,time)) as time_2
    18        ,max(decode(rn,3,reason)) as reason_3
    19        ,max(decode(rn,3,time)) as time_3
    20        ,max(decode(rn,4,reason)) as reason_4
    21        ,max(decode(rn,4,time)) as time_4
    22        ,max(decode(rn,5,reason)) as reason_5
    23        ,max(decode(rn,5,time)) as time_5
    24  from (/* assign some row numbers within each ID, ordering by 'reason' then 'time' */
    25        select id, reason, time
    26              ,row_number() over (partition by id order by reason, time) as rn
    27        from   t
    28       )
    29* group by id
    SQL> /
    I REA     TIME_1 REA     TIME_2 REA     TIME_3 REA     TIME_4 REA     TIME_5
    A 41A         27 93K         16
    B 48C          4 89C          3 93K          7
    C 48C         10 93K          7 93K         24In this example, it will cater for up to 5 reasons/times per ID... and you can code for more if you need very easily.
    Also, as you're using 11g, you can use the new PIVOT query, for which you can find plenty of examples if you google or search these forums, or follow the FAQ link.
    If you don't have any idea how many reasons there could be, then you really are looking at generating columns dynamically.
    The problem with that is, because Oracle needs to know the SQL projection (see the FAQ link already provided), it has to know how many columns are going to be returned from a query before any data is fetched... but you are saying that the columns returned have to be based on the data itself. To do that you have two main options:
    1) You query the data once to determine how many columns you are going to need and then dynamically build up a query in PL/SQL code with the right number of columns (or use one of the other dynamic methods shown in the FAQ)
    or
    2) You step back and ask yourself if SQL is really the best place to be trying to produce this output. Reporting tools are often better suited to this requirement as they are made to query the data back from a database and then pivot and layout the data based on the data returned.

  • How to add  dynamic column  in jfreereport

    hi,
    i am working on a project aboit accounting package.
    i had created a report in jfreereport .. buti am facing the problem of dynamic column addition in that..
    i have to create the number of column as per user given range that will from 2 to 365
    i had generated column for that
    that should be like
    1 - 5 , 6 -10 , 11 - 15 , etc...
    how can i represent that alll column in print preview i can't represent that report in horizontal fashion . is there any way to display it ..
    this report has no bound in horizontal or verticle means i have any number of rows or columns..
    pls help.
    kamlesh

    hi,
    that means u have fixed columns right? ie 5 columns in a report
    if it write, than u can find out how u can rename the columns with exiting
    one.
    that means while runing report u have to pass all the 5 columns to report
    instead of the exiting columns (ie rename the columns that u want add
    columns)
    u have to search in code for renaming in the code ie jfreereport package.
    i think u understood.
    daya

  • Generating dynamic column in planning layout

    Hi Guys,
    I am new to BPS.. My task is user inputs calendar year thru variable, based on the year it has generate dynamic columns as month of the year entered by the user.
    Dnt know i am right or wrong based on the sdn threads. i think i have to create user input variable, and create a FM to read the user input value. Upto to this i can understand, after reading the user input how to calculate the months and generate 12 columns dynamically for each month...
    Kindly help me in this scenario..
    Edited by: kevin peterson on Jun 6, 2008 5:23 AM

    Hi,
    I hope you are using calendar year/month and calendar year characteristics. Create an user input variable for calendar year,
    create one exit variable for calendar year month.
    Inside this exit, read the value of the user input variable, append the year with all 12 months, so u get 12values for this exit variable.
    Now keep calendar year in header, restricted by user input variable, create one data column dynamic for calendar year month restricted by this exit variable. This will generate 12columns dynamically.
    Bindu

  • Multiple dynamic column in cross table

    Hi all,
    I have a cross table which stored the sale's quantity and amount.
    The layout in view result likes below:
    saler     quantity1 quantity2 quantity3 quantitysummary amount1 amount2 amount3 amount4 amountsummary
    S3           100           20
    S2           50             30
    S1           300           40
    The layout in view structure likes below:
    saler     quantity quantitysummary amount amountsummary
    S3           100           20
    S2           50             30
    S1           300           40
    the quantity1...n and amount1...n columns is not fixed.the 2 columns is dynamic.
    It's easy that only one column is dynamic,but now there are two columns is dynamic,I don't know how to achieve it.
    Has anyone an idea how to accomplish this?
    Thank you trying to help me!

    You cant do this on BO , you can add static columns but if you put some dynamic column in the left or right i turns dynamic...
    Regards

  • "Dynamic column" in the workplace

    Hi experts.
    Do somebody know the possible uses of the "Dynamic column" field in the task registers of the Workflow inbox? You can add some dynamic columns via the "select layout" menu of the workplace but they seem to be empty.
    I'm wondering if I can put some custom dynamic information on them via workflow definition (information such like users names or maybe some filter criteria) in order to help the user to show and order the active tasks easily.
    Any help on this topic will be interesting for me.
    Thank you all!!
    Ismael

    Hi Ismael,
    Dynamic columns are specific to each task, you can define them using tx SWL1.
    Once defined, the dynamic column fields should now be available. However they do take a performance hit and obviously the fields are not applicable to all tasks. For this reason it is not a good idea to have a dynamic column as a default layout, but to use them in the in the task-based inbox views:
    In the workplace view Inbox -> Workflow -> Grouped by task -> the task you just defined (you must have a workitem of that task already in your inbox). Define a layout and save it as a default, teach your users to navigate to a task if they want to use the columns.
    Of course some users can still create their own workflow inbox view with dynamic columns if e.g. the majority of their work is a particular task.
    Cheers,
    Mike

  • Draw Dynamic Column with Static Columns

    Hi All
    I have to show dynamic columns with static columns including column header and I am choosing the Cross Tab style. I have done this already in SSRS but failed to do in Crystal Report version (Crystal Report Basic for Visual Studio 2008).
    Name             Hair Color      City        Age           Mobile                        Email
    Jannie            Brown          Dublin        15         +353 122 1234567     Email Address
    John               Black            Dublin       20          +353 145 1234567      Email Address
    Dynamic Columns
    Name , Hair Color , City Age
    Static Column
    Mobile, Email
    I also face empty rows in cross tab report.
    Please help and give me a chance of thanks.

    Thank you very much for your kind response. Actually i have dynamic Store Procedure  results based on parameters and yes static column will never changed
    Store Procedure Result
    Mobile                        Age            Email                       Key              Value
    +3531221234567     15             Email Address         Name           Jannie
    +3531221234567     15             Email Address         Hair Color    Brown
    +3531221234567     15             Email Address         City              Dublin
    +3531451234567     20             Email Address         Name           John
    +3531451234567     20             Email Address         Hair Color     Black
    +3531451234567     20             Email Address         City              Dublin
    And I want to draw report in following style
    Name     Hair Color     City      Age      Mobile                       Email
    Jannie   Brown          Dublin   15     +3531221234567       Email Address
    John     Black             Dublin   20     +3531451234567       Email Address

Maybe you are looking for