Multiple Rows for Same Value in Matrix Report

Hello
I am trying to create a matrix report that shows different page for each Category. Report looks like follows:
Page1( for Category '1')
Agent |
Calls |
Sales
TestAgent1 18
3
TestAgent1 5
1
Page2( for Category '2')
Agent |
Calls |
Sales
TestAgent1 26
5
TestAgent1 13
2
The issue is as you can see in above table, that i am getting repeated rows for same agents. I have tried making a parent group on Agent but it would still keep showing multiple rows. Ideally, it should show each agent only once in each page.
Any help would be appreciated.
PS: I am new to SSRS and this is my first time on microsoft blog, so i apologize if i wasn't able to follow the protocols/culture here.
Thanks

Hi M Adnan,
According to your description, you want to show a total Calls and total Sales for same agent so that it has only one row for each agent in your category group. Right?
In this scenario, if you only have a row group for category, it will show all “detail rows” in this groups even the agent of these rows are same one. So we can add a row group, set those detail rows group by agent and use Sum function to get the total Calls
and Sales. It looks like below:
If we want to display each Page in horizontal, we just need one Category column group for grouping rows and use sum function to get total Calls and Sales for each agent. It looks like below:
Reference:
Understanding Groups (Report Builder and SSRS)
If you have any question, please feel free to ask.
Best Regards,
Simon Hou
  

Similar Messages

  • Update multiple row for different values

    hi,
    Please provide me the sql query to update multiple row in a table with different values.
    i need to change the old date to new date
    we have only 3 column id,name,old date.now i need to update the old date to new date
    ID name old date new date
    1 A 2012-12-20 12/7/2012
    2 B 2012-12-20 12/9/2012
    3 c 2012-12-20 12/5/2012
    thank you.

    Here are two ways to do this. Thanks to ranit for the table creation script, which I adapted.create table test_x
    as
    select 1 id, 'A' name, to_date('2012-12-20','yyyy-mm-dd') old_date
    from dual UNION ALL
    select 2 id, 'B' name, to_date('2012-12-20','yyyy-mm-dd') old_date
    from dual UNION ALL
    SELECT 3 ID, 'C' NAME, TO_DATE('2012-12-20','yyyy-mm-dd') OLD_DATE
    from dual;First method using MERGE:MERGE INTO TEST_X O
    USING (
      select 1 id, to_date('12/7/2012','mm/dd/yyyy') new_date
      from dual UNION ALL
      select 2 id, to_date('12/9/2012','mm/dd/yyyy') new_date
      from dual UNION ALL
      SELECT 3 ID, TO_DATE('12/5/2012','mm/dd/yyyy') NEW_DATE
      FROM DUAL
    ) n
    ON (O.ID = N.ID)
    WHEN MATCHED THEN UPDATE SET OLD_DATE = n.NEW_DATE;Second method using UPDATE:UPDATE TEST_X SET OLD_DATE =
      CASE WHEN ID = 1 THEN TO_DATE('12/7/2012','mm/dd/yyyy')
           WHEN ID = 2 THEN TO_DATE('12/9/2012','mm/dd/yyyy')
           WHEN ID = 3 THEN TO_DATE('12/5/2012','mm/dd/yyyy')
      END
    where id between 1 and 3;
    You probably don't want to use these methods.*
    You say the "user" will enter these values. Will he always enter exactly 3 values?
    The "user" will enter values into a screen I suppose. What language is the user interface programmed in?

  • Counting one of multiple rows with same value for same ID

    Hello,
    I have this query:
    SELECT
    count( case when EXISTS (
                SELECT *
                FROM  business_log bl, subject su
                WHERE  su.ID_SUBJECT = s.ID_SUBJECT
                and bl.id_subject = su.id_subject
                AND    bl.value = 'Solved'
    then 1 else null end) num_solved
    FROM subject s
    It is posible that one subject is more than once 'Solved' in table BUSINESS_LOG
    I want to count only one row solved for one subject.
    I must to use only SUBJECT table in the main query because of other counts.
    Thank You very much.
    Regards
    Milos
    Message was edited by: 2796614

    so in case you have no solved entry...you get NULL back instead of 0.....
    and....there is no need for the group by ....as you are only looking for one subject
    SELECT COALESCE((SELECT max(1)
                      FROM  business_log bl
                     WHERE bl.id_subject = s.id_subject
                       AND bl.value = 'Solved'),0) num_solved
      FROM subject s
    but....I would like to have a proof, that this one is faster than the outer-join solution.
    So...perhaps we'll see an execution plan for both of them.
    corrected....missing bracket

  • Merge multiple rows of same ID into Single row

    Hi All,
    I need the requirements of merging multiple rows of same ID as single row.
    My Table Data:
    ID     Language1 Language2 Language3 Language4
    1001 NULL         JAPANESE  NULL          NULL
    1001 SPANISH   NULL          NULL          NULL
    1001 NULL        NULL           NULL         ENGLISH
    1001 NULL        NULL           RUSSIAN    NULL
    Required Output Should be,
    ID     Language1 Language2 Language3 Language4
    1001 SPANISH    JAPANESE  RUSSIAN   ENGLISH
    Please help me to achieve this output.
    Tried grouping but its not working also producing the same result.
    Thanks.
    Live freee....Joy forever................ :)

    Try the below:
    create Table Test_Sample(ID int,Language1 varchar(50), Language2 varchar(50), Language3 varchar(50), Language4 varchar(50))
    Insert into Test_SAmple Values(1001,NULL,'JAPANESE', NULL, NULL),
    (1001,'SPANISH', NULL, NULL, NULL),
    (1001,NULL, NULL, NULL, 'ENGLISH'),
    (1001,NULL, NULL, 'RUSSIAN', NULL)
    Select ID,MAX(Language1),MAX(Language2),MAX(Language3),MAX(Language4)
    From Test_Sample
    Group by ID
    Drop table Test_Sample

  • *a bit urgent * How to take multiple rows of same input?

    Hi,
    I need to make an user interface which takes multiple rows of same input.
    For eg.. online eGreetings sites..
    You select the the number of eCard receipents froma drop down and the page refreshes and that many number of text fields appear.. where you can put in multiple addresses..
    Its like a dataTable.. but instead of showing the data it should input data...in each row
    I hope I could clarify myself..
    I would like to know
    - how to map the fields to the managed bean
    - how to create the user interface
    Some could be appreciated..
    Thanks and regards

    arijit_datta wrote:
    Its like a dataTable.. but instead of showing the data it should input data...in each rowThen just change h:outputText by h:inputText?

  • How to make RECORD for saving multiple rows for each employee..

    Hi,
    How can I create a record for saving multiple rows for each employee... (parent child relationship)
    I have created all required fields, then created a record, and then created a page. in that page i dragged-n-dropped a scroll area on that page and dropped all required fields from record into that scroll-area.
    whats is happening that its saving ONE (the first) record fine, but for the second record its not storing EMPLID for that row..
    Will I have to make some change at RECORD level ?
    OR Will i have to make some configuration in parent component ?

    Hi, the problem is solved. The record will be created in same way. just create more then one keys (allowing to make composite key in DB table)

  • Getting wrong values  for decimal value in Bex report

    Hi,
         I am getting some problem in Bexreport decimal values.
       In ODS i am able to look the values for this key figure
      (Total PO Release Val)= 140.692,00,the same value in Bex report looks like this $ 140,692.00.
         Here one calculation is going with these above values
       % Used = 'Total PO Release Val' / 'Target Value' * 100
        as per ODS value calculation  it is correct = 140.692/1000 * 100 =14.692
       as per Bex  it is coming like this = 140,692.00/1000 *100 = 142.692.
        in Bex report Percentage valus is not considering value is taking as 140,692.00 rather than 140.692.I mean to say decemal values are ignoring while calculation in Bexreport.can you any please advice me how to comeout of this problem.Appreciate your help.
    Regards
    Ramesh

    <i> "(Total PO Release Val)= 140.692,00,the same value in Bex report looks like this $ 140,692.00."
    </i>
    How do you check the ODS value? The amount will only have two decimal places after it, so you can't have a value like 140.692,00. It seems to be an issue of user's decimal notation (where decimal is represented by comma, and thousand seperator by '.'). Go to user profile, change this setting (in default tab) to correct one (ie decimal being represented by '.') and login again and check it. The value that you see in ODS is 'one hundred forty thousand six hundred ninety two, the same that you get in Bex, only the representation is different).

  • Reg:Multiple UOMs for same item

    Hi,
    How to define the multiple UOMs for same item.And the item should be converted in one UOM.
    Iam using 9.0 PL.08

    Hi,
    Please check SAP help file:
    http://help.sap.com/saphelp_sbo900/helpdata/en/89/7ca0a701c64e4a97f4ea5a4edca8b2/content.htm?frameset=/en/44/c4c1cd7ca22e17e10000000a114a6b/frameset.htm
    Thanks & Regards,
    Nagarajan

  • How to avoid multiple listing for same artist?

    How to avoid multiple listing for same artist?

    Sounds like there might be blanks in the artist name.
    For instance "Lou Reed" and "Lou Reed_" will not match.
    (Pretend the underscore _ is a blank).
    Select all the Lou Reed songs, Get Info, and type "Lou Reed" in the artist field. That should fix it.

  • Comma separated column into rows for each value

    experts,
    I have a two column table. The second column has comma separated string values. How can I put the values separate for each comma separated and make one row for each value?
    example,
    column1 |   StringColumn
    s1          |   test, joy, happy
    s2          |  USA, England, India
    I want the result to be like below
    column1   |     StringColumn
    s1            |      test
    s1            |      joy
    s1            |      happy
    s2            |     USA
    s2            |     England
    s2            |     India
    thanks in advance
    ebro

    Hello ebro,
    See the following for a possible solution:
    http://gallery.technet.microsoft.com/scriptcenter/Convert-Small-CSV-Value-to-ffc142ff
    Olaf Helper
    [ Blog] [ Xing] [ MVP]

  • How to insert multiple rows in same table at once

    hi ,
    How can I insert more than one row in the same database table on single submit button.
    (i am using the ADF , EJB and Toplink for this example.)
    EMPLOYEEand DEPARTMENT tables will hold a common coloum deptno
    The method I have tried is as follows.
    I have created the UI that holds EMPLOYEE(DETAIL) details and a DEPARTMENT(MASTER) table and I have created two separate bean classes which hold the getters and setters for the corresponding tables.
    I have created a method in Department bean which will be called when we add the employee details
    public String addEmpdetails() {
    this.employeedetailslist.add(empdetails);
    return null;
    where employeedetailslist is a Arraylist and I want to pass the reference of employeebean in the array list.
    But this method will fail as I need to create the new employee bean object every time when ever I need to pass.
    How can I store values of multiple rows in bean.
    In the EJB session bean how can I commit multiple EMPLOYEE rows and DEPARTMENT values at once.

    The use of &variable in a script is actually syntax for a "substitution variable" in the SQL*Plus tool (other tools may also do the same), not an inherent part of SQL or PL/SQL itself.
    Whenever SQL*Plus is given a script it parses through it and if it encounters one of these it prompts for a value. This value is then substituted into the script before the script actually get's sent to the SQL or PL/SQL engine (process) on the database server. Once the script has gone to the database server it executes there and the results are passed back for SQL*Plus to display. However, the SQL and PL/SQL processes on the database server have no way to interface to the client machine, so they themselves cannot prompt for input from the client and you can't expect to prompt inside a loop as you are doing.
    What you need is a user interface on the client that can prompt repeatedly for values and then re-send the script, or call a procedure on the database each time. This can be done using shell scripts or dos batch files (depending on your client being unix/dos based) or using a front end application tool such as Java, .NET, Powerbuilder, PHP, Application Express (APEX) etc.

  • Row column group hiding in matrix report

    Hi ,
    I need to hide the repeated rows in matrix report,in below with red rounded (4%,4%) is coming twice for single resource.
    I need to show only one 4% for this resource.How to do this in matric report.
    thanks
    bhupesh.r

    those rows are not duplicates as far as SSRS is concerned as date values for them are different. So you need to change the logic at your backend query to return one out of these two records. Logic you alone can come up with as we dont know your business
    rules, neither your tables and you've not posted anything barring a report screenshot.
    Alternatively, if you want our help on this post your backend tables with some sample data and explain your rules for getting the required output.
    Please Mark This As Answer if it helps to solve the issue Visakh ---------------------------- http://visakhm.blogspot.com/ https://www.facebook.com/VmBlogs

  • Sorting and null for monetary values in a report

    All,
    I think this should be an easy one, and I've just missed something obvious.
    I have a standard report in APEX 3.2.1 that includes a column with a monetary amount in it. I want the column to show the UK Pound sign, be sortable, and show nulls where appropriate.
    The issue I have is I can't find a way to achieve all 3 in a satisfctory way. As I see it the options would be:
    1) In the SQL for the report, concat the pound sign to the column required, e.g. SELECT '£'||amount FROM....
    The issue is that this makes this field a CHAR field, so sorting would not sort in the same way as for a number field.
    2) Use the Number format FML999...etc. in the Column Attribute.
    The problem with this is that this is a multi-country database, and the default monetary unit is set to the US dollar.
    3) Use the HTML expression box in the Column attribute to display £#COL#
    This fulfills the pound sign and retaining the number format, but unfortunately a null value is displayed as a £ sign with no numbers. I can't think how to get it to leave that value in the report as completely blank.
    As I said, I'm sure I've missed soemthing obvious. If anyone can spot how to achieve this it'd be much appreciated.
    Regards,
    Jon.

    >
    2) Use the Number format FML999...etc. in the Column Attribute.
    The problem with this is that this is a multi-country database, and the default monetary unit is set to the US dollar.
    >
    The NLS currency symbol can be modified on the fly if you have some means of identifying user location/preference: {thread:id=990848} (ignore the last post)
    However, it probably doesn't make sense to do that&mdash;£100 &ne; $100 (at least I hope not!)&mdash;unless there's some kind of conversion occurring in the report? Is there a currency stored along with the amount?
    >
    3) Use the HTML expression box in the Column attribute to display £#COL#
    This fulfills the pound sign and retaining the number format, but unfortunately a null value is displayed as a £ sign with no numbers. I can't think how to get it to leave that value in the report as completely blank.
    >
    Use 2 columns, one for the amount, and one for the currency, with a switch to include or exclude the latter as necessary:
    select
              ename
            , comm amount
            , nvl2(comm, '£', null) currency
    from
              emp
    where
              job in ('SALESMAN', 'MANAGER')
    ENAME      AMOUNT                 CURRENCY                        
    ALLEN      300                    £                               
    WARD       500                    £                               
    JONES                                                             
    MARTIN     1400                   £                               
    BLAKE                                                             
    CLARK                                                             
    TURNER     0                      £                                Then use both columns in the Amount HTML Expression:
    #CURRENCY##AMOUNT#

  • Finalize() method being called multiple times for same object?

    I got a dilly of a pickle here.
    Looks like according to the Tomcat output log file that the finalize method of class User is being called MANY more times than is being constructed.
    Here is the User class:
    package com.db.multi;
    import java.io.*;
    import com.db.ui.*;
    import java.util.*;
    * @author DBriscoe
    public class User implements Serializable {
        private String userName = null;
        private int score = 0;
        private SocketImage img = null;
        private boolean gflag = false;
        private Calendar timeStamp = Calendar.getInstance();
        private static int counter = 0;
        /** Creates a new instance of User */
        public User() { counter++;     
        public User(String userName) {
            this.userName = userName;
            counter++;
        public void setGflag(boolean gflag) {
            this.gflag = gflag;
        public boolean getGflag() {
            return gflag;
        public void setScore(int score) {
            this.score = score;
        public int getScore() {
            return score;
        public void setUserName(String userName) {
            this.userName = userName;
        public String getUserName() {
            return userName;
        public void setImage(SocketImage img) {
            this.img = img;
        public SocketImage getImage() {
            return img;
        public void setTimeStamp(Calendar c) {
            this.timeStamp = c;
        public Calendar getTimeStamp() {
            return this.timeStamp;
        public boolean equals(Object obj) {
            try {
                if (obj instanceof User) {
                    User comp = (User)obj;
                    return comp.getUserName().equals(userName);
                } else {
                    return false;
            } catch (NullPointerException npe) {
                return false;
        public void finalize() {
            if (userName != null && !userName.startsWith("OUTOFDATE"))
                System.out.println("User " + userName + " destroyed. " + counter);
        }As you can see...
    Every time a User object is created, a static counter variable is incremented and then when an object is destroyed it appends the current value of that static member to the Tomcat log file (via System.out.println being executed on server side).
    Below is the log file from an example run in my webapp.
    Dustin
    User Queue Empty, Adding User: com.db.multi.User@1a5af9f
    User Dustin destroyed. 0
    User Dustin destroyed. 0
    User Dustin destroyed. 0
    User Dustin destroyed. 0
    User Dustin destroyed. 0
    USER QUEUE: false
    INSIDE METHOD: false
    AFTER METHOD: false
    User Dustin destroyed. 1
    User Dustin destroyed. 1
    User Dustin destroyed. 1
    User Dustin destroyed. 1
    USER QUEUE: false
    INSIDE METHOD: false
    AFTER METHOD: false
    User Dustin destroyed. 2
    User Dustin destroyed. 2
    User Dustin destroyed. 2
    User Dustin destroyed. 2
    User Dustin destroyed. 2
    User Dustin destroyed. 2
    User Dustin destroyed. 2
    User Dustin destroyed. 2
    USER QUEUE: false
    INSIDE METHOD: false
    AFTER METHOD: false
    User Dustin destroyed. 3
    User Dustin destroyed. 3
    User Dustin destroyed. 3
    User Dustin destroyed. 3
    User Dustin destroyed. 3
    User Dustin destroyed. 3
    User Dustin destroyed. 3
    User Dustin destroyed. 3
    User Dustin destroyed. 3
    USER QUEUE: false
    INSIDE METHOD: false
    AFTER METHOD: false
    User Dustin destroyed. 4
    User Dustin destroyed. 4
    User Dustin destroyed. 4
    User Dustin destroyed. 4
    User Dustin destroyed. 4
    User Dustin destroyed. 4
    User Dustin destroyed. 4
    User Dustin destroyed. 4
    User Dustin destroyed. 4
    USER QUEUE: false
    INSIDE METHOD: false
    AFTER METHOD: false
    User Dustin destroyed. 5
    User Dustin destroyed. 5
    User Dustin destroyed. 5
    User Dustin destroyed. 5
    User Dustin destroyed. 5
    User Dustin destroyed. 5
    User Dustin destroyed. 5
    User Dustin destroyed. 5
    User Dustin destroyed. 5
    USER QUEUE: false
    INSIDE METHOD: false
    AFTER METHOD: false
    User Dustin destroyed. 6
    User Dustin destroyed. 6
    User Dustin destroyed. 6
    User Dustin destroyed. 6
    User Dustin destroyed. 6
    User Dustin destroyed. 6
    User Dustin destroyed. 6
    User Dustin destroyed. 6
    User Dustin destroyed. 6
    User Dustin destroyed. 6
    Joe
    USER QUEUE: false
    INSIDE METHOD: false
    AFTER METHOD: false
    User Dustin pulled from Queue, Game created: Joe
    User Already Placed: Dustin with Joe
    User Dustin destroyed. 7
    User Dustin destroyed. 7
    User Dustin destroyed. 7
    User Dustin destroyed. 7
    User Dustin destroyed. 7
    User Dustin destroyed. 7
    User Dustin destroyed. 7
    User Dustin destroyed. 7
    User Dustin destroyed. 7
    User Dustin destroyed. 7
    INSIDE METHOD: false
    INSIDE METHOD: false
    USER QUEUE: true
    INSIDE METHOD: false
    INSIDE METHOD: false
    User Dustin destroyed. 9
    User Joe destroyed. 9
    User Dustin destroyed. 9
    User Dustin destroyed. 9
    User Dustin destroyed. 9
    User Dustin destroyed. 9
    INSIDE METHOD: true
    INSIDE METHOD: false
    USER QUEUE: true
    INSIDE METHOD: false
    INSIDE METHOD: false
    INSIDE METHOD: true
    INSIDE METHOD: false
    USER QUEUE: true
    INSIDE METHOD: false
    INSIDE METHOD: false
    It really does seem to me like finalize is being called multiple times for the same object.
    That number should incremement for every instantiated User, and finalize can only be called once for each User object.
    I thought this was impossible?
    Any help is appreciated!

    Thanks...
    I am already thinking of ideas to limit the number of threads.
    Unfortunately there are two threads of execution in the servlet handler, one handles requests and the other parses the collection of User objects to check for out of date timestamps, and then eliminates them if they are out of date.
    The collection parsing thread is currently a javax.swing.Timer thread (Bad design I know...) so I believe that I can routinely check for timestamps in another way and fix that problem.
    Just found out too that Tomcat was throwing me a ConcurrentModificationException as well, which may help explain the slew of mysterious behavior from my servlet!
    The Timer thread has to go. I got to think of a better way to routinely weed out User objects from the collection.
    Or perhaps, maybe I can attempt to make it thread safe???
    Eg. make my User collection volatile?
    Any opinions on the best approach are well appreciated.

  • ME01 LSMW multiple record for same material issue.

    Hi Experts,
    I have an issue with multiple record for the same material and plant when I upload the data from the file.  Lets I have the records.
    Material        Plant              Start date      Enddate        Vendor          Porg.
    1     0010     20060101     99991231     2     0010
    1     0010     20060101     99991231     3     0010
    When I upload the above data there are 2 IDOCs created when I am using the method LSMW-IDOC method, but only last record is getting updated and the first one is not getting updated in ME01 souce list. But I am getting the success message for both IDOC in LSMW. So I am not sure how to fix this why only last record is updated and not other records??

    why do you have 2 idocs?
    wouldn't be 1 idoc with 2 items be more logical?
    1 record in structure E1EORDH
    and 2 records in structure E1EORDM
    I believe your 2 IDOCs get posted, but I think your 2nd Idoc overwrites the values entered from the first IDOC.

Maybe you are looking for