Groups Based On SubGroup Totals

I'm wondering, without doing a subreport, if you can have Groups that are based on values within subgroups.
For example:
g:  Warehouse A
d:     Item #
subtotal:  Count of Item # for Warehouse A
g:  Warehouse B
d:     Item #
subtotal:  Count of Item # for Warehouse B
I want to be able to Group the Warehouses by the SubTotal values.
For Example:
g:  001-050 Items
g:  051-100 Items
Easy to do the formula logic for the If/Then/Else, but I can't see a way to implement in the report.
Thanks.

You can do this by using a correlated sub query in a SQL Command.
Something like this...
SELECT
outerq.WarehouseName,
     (SELECT COUNT(ItemID)
      FROM tblInventory AS subq
      WHERE subq.ItemID = outerq.ItemID
      AND subq.WarehouseName = outerq.WarehouseName) AS ItemCount
FROM tblInventory AS outerq
ORDER BY outerq.WarehouseName, ItemCount
This will allow the total item count to be included with the data set as it's returned from the database, before any grouping is done in CR. From there you can include the "ItemCount" field in your groups or group sorts.
HTH,
Jason

Similar Messages

  • Sort Group Based on Running Total

    Is there a way to sort the group based on the running total of the group?
    Thanks!
    Deanna

    I think it is not possible to sort the group based on a running total. You can sort based on a summary field using group sort expert. Since the running total executes whileprintingrecords we cannot sort based on running totals.
    Regards,
    Raghavendra

  • How to do the ALV report output in groups and caluculate the tOTALS(URGENT

    Hi
    In my ALV report output .I have to group the output based on the DAYS field
    0-10 days in one group
    10-30 days in one group
    above 30 days one group
    There is also a field by name "AMOUNT" in my output.
    I have to calculate SUBTOTALs at the end of every group and at the end of the report i should caluculate GRAND TOTAL.
    Please remember that i should not use any any BLOCKED ALVs and for Totals i should not use the SYMBOLS provided in the application toolbar of the report
    Thanks in Advance

    Please don't repost your questions...
    Check out my answer in your other post.
    How to make the ALV report in groups  and caluculate the TOTALS
    Regards,
    Naimesh Patel

  • Suppress a Group Based on the Results of a Formula

    Hi All,
    Been reading through this forum as I am new to Crystal.  I have a report that must display a group of records along with their detail if  TotQOH > RunningTotal.  I tried using the running totals field in Crystal but I could not reference a formula in the selection criteria since it must be evaluated later.
    Reading up on this forum I figured out how to create my own running totals (also referenced the application's help article ' Creating running totals using a formula') but now I can't seem to suppress the entire group and corresponsing detail records when TotQOH > RunningTotal.    Using the Formatting Formulas in the workshop tree of the Formula Editor, I can suppress any of the fields within the group but this leaves me with a bunch of blank lines in the output.
    I'm using Crystal 10 and simply want to suppress the entire group and the corresponding detail while printing the records when:
    TotQOH > RunningTotal
    I read this thread: Selection Formula based on Running Total, but could not get this to work for the entire group, just the fields within the group.
    Any ideas would be welcome.  Thank you very much.

    I'll have to research subreports - never worked with them.  After I suppressed all the fields, I went to the section expert and checked Suppress Blank Section, ran the report and nothing printed.  There are many records that meet the criteria TotQOH > RunningTotal, so I'm going to do more research and take a look at subreports.

  • Create a group based on row count

    I am looking for a way of reducing the size of tables I am displaying in my monthly report, by counting some rows together, and naming them 'other'
    I would like to always show all rows, where count of item is >= 50, but all rows where count of item < 50, total up and call 'other'.  I will add an example image as soon as my account has been verified
    I can hide rows using this in the visibility =iif(Count(Fields!Item.Value) >= 50, False, True)
    I have duplicated the line, and added a filter to each (one for greater than 50, one for less than 50) but my totals are still counting all the data, and not just the filtered data.
    Ideally, I would like to add a column using something like =iif(Count(Fields!Item.Value) >= 50, "Over50", "Under50"), or a group based on the same sort of idea, but I keep getting errors about using aggregates in columns.
    Any suggestions?
    Cheers

    What you can do is to add derived column in query behind like this
    SELECT other columns...,
    CASE WHEN Cnt >= 50 THEN YourGroupingField ELSE 'Other' END AS GrpName
    FROM
    SELECT *,COUNT(1) OVER (PARTITION BY YourGroupingField) AS Cnt
    FROM Table
    )t
    Then in your reports use =Fields!GrpName.Value as the Grouping column and you will get required output
    Please Mark This As Answer if it helps to solve the issue Visakh ---------------------------- http://visakhm.blogspot.com/ https://www.facebook.com/VmBlogs

  • Creating a target group based on the BP email address only in CRM

    Hi there,
    I am currently trying to create a target group based on the business partner email address only.
    I have a list of over 1000 email addresses - these email addresses equate to a BP in our CRM system, however I do not have a list of the equivalent business partner numbers, all I have to work on are the email addresses.  With these 1000 BP email addresses I need to update the marketing attributes of each of these 1000 BP records in CRM.
    What I need is a method to find the 1000 BP numbers based on the email addresses and then use the marketing expert tool (tx. CRMD_MKT_TOOLS) to change the marketing attributes on all of the 1000 BPs.
    The issue I am having is how can I find the list of BP numbers just based on the BP email address, I tried creating an infoset based on table BUT000, BUT020 and ADR6 but I after creating attribute list & data source for this I am stuck on what to do next. In the attribute list the selection criteria does not allow me to import a file for the selection range.  I can only enter a value but I have 1000 email addresses and cannot possibly email them manually in the filter for the attribute list.   I also looked at imported a file into the target group but I do not have any BP numbers so this will not work.
    Does anyone know a method where I can create a target group based on the email addresses only without having to do any code?
    Any help would be most appreciated.
    Kind regard
    JoJo

    Hi JoJo ,
    The below report will return you BP GUID from emails that is stored in a single column .xls file and assign the BP to a target group.
    REPORT  zexcel.
    * G L O B A L D A T A D E C L A R A T I O N
    TYPE-POOLS : ole2.
    TYPES : BEGIN OF typ_xl_line,
    email TYPE ad_smtpadr,
    END OF typ_xl_line.
    TYPES : typ_xl_tab TYPE TABLE OF typ_xl_line.
    DATA : t_data TYPE typ_xl_tab,
           lt_bu_guid TYPE TABLE OF bu_partner_guid,
           ls_bu_guid TYPE  bu_partner_guid,
           lt_guids TYPE TABLE OF bapi1185_bp,
           ls_guids TYPE  bapi1185_bp,
           lt_return TYPE bapiret2_t.
    * S E L E C T I O N S C R E E N L A Y O U T
    PARAMETERS : p_xfile TYPE localfile,
                  p_tgguid TYPE bapi1185_key .
    * E V E N T - A T S E L E C T I O N S C R E E N
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_xfile.
       CALL FUNCTION 'WS_FILENAME_GET'
         IMPORTING
           filename         = p_xfile
         EXCEPTIONS
           inv_winsys       = 1
           no_batch         = 2
           selection_cancel = 3
           selection_error  = 4
           OTHERS           = 5.
       IF sy-subrc <> 0.
         CLEAR p_xfile.
       ENDIF.
    * E V E N T - S T A R T O F S E L E C T I O N
    START-OF-SELECTION.
    * Get data from Excel File
       PERFORM sub_import_from_excel USING p_xfile
       CHANGING t_data.
       SELECT but000~partner_guid FROM but000 INNER JOIN but020 ON
    but000~partner =
       but020~partner
         INNER JOIN adr6 ON but020~addrnumber = adr6~addrnumber INTO TABLE
    lt_bu_guid FOR ALL ENTRIES IN t_data WHERE adr6~smtp_addr =
    t_data-email.
       CLEAR: lt_guids,ls_guids.
       LOOP AT lt_bu_guid INTO ls_bu_guid.
         ls_guids-bupartnerguid = ls_bu_guid.
         APPEND ls_guids TO lt_guids.
       ENDLOOP.
       CALL FUNCTION 'BAPI_TARGETGROUP_ADD_BP'
         EXPORTING
           targetgroupguid = p_tgguid
         TABLES
           return          = lt_return
           businesspartner = lt_guids.
    *&      Form  SUB_IMPORT_FROM_EXCEL
    *       text
    *      -->U_FILE     text
    *      -->C_DATA     text
    FORM sub_import_from_excel USING u_file TYPE localfile
    CHANGING c_data TYPE typ_xl_tab.
       CONSTANTS : const_max_row TYPE sy-index VALUE '65536'.
       DATA : l_dummy TYPE typ_xl_line,
              cnt_cols TYPE i.
       DATA : h_excel TYPE ole2_object,
              h_wrkbk TYPE ole2_object,
              h_cell TYPE ole2_object.
       DATA : l_row TYPE sy-index,
              l_col TYPE sy-index,
              l_value TYPE string.
       FIELD-SYMBOLS : <fs_dummy> TYPE ANY.
    * Count the number of columns in the internal table.
       DO.
         ASSIGN COMPONENT sy-index OF STRUCTURE l_dummy TO <fs_dummy>.
         IF sy-subrc EQ 0.
           cnt_cols = sy-index.
         ELSE.
           EXIT.
         ENDIF.
       ENDDO.
    * Create Excel Application.
       CREATE OBJECT h_excel 'Excel.Application'.
       CHECK sy-subrc EQ 0.
    * Get the Workbook object.
       CALL METHOD OF h_excel 'Workbooks' = h_wrkbk.
       CHECK sy-subrc EQ 0.
    * Open the Workbook specified in the filepath.
       CALL METHOD OF h_wrkbk 'Open' EXPORTING #1 = u_file.
       CHECK sy-subrc EQ 0.
    * For all the rows - Max upto 65536.
       DO const_max_row TIMES.
         CLEAR l_dummy.
         l_row = l_row + 1.
    * For all columns in the Internal table.
         CLEAR l_col.
         DO cnt_cols TIMES.
           l_col = l_col + 1.
    * Get the corresponding Cell Object.
           CALL METHOD OF h_excel 'Cells' = h_cell
             EXPORTING #1 = l_row
             #2 = l_col.
           CHECK sy-subrc EQ 0.
    * Get the value of the Cell.
           CLEAR l_value.
           GET PROPERTY OF h_cell 'Value' = l_value.
           CHECK sy-subrc EQ 0.
    * Value Assigned ? pass to internal table.
           CHECK NOT l_value IS INITIAL.
           ASSIGN COMPONENT l_col OF STRUCTURE l_dummy TO <fs_dummy>.
           <fs_dummy> = l_value.
         ENDDO.
    * Check if we have the Work Area populated.
         IF NOT l_dummy IS INITIAL.
           APPEND l_dummy TO c_data.
         ELSE.
           EXIT.
         ENDIF.
       ENDDO.
    * Now Free all handles.
       FREE OBJECT h_cell.
       FREE OBJECT h_wrkbk.
       FREE OBJECT h_excel.
    ENDFORM. " SUB_IMPORT_FROM_EXCEL
    Just copy paste the code and run the report select any local xls file with emails and pass the target group guid.
    snap shot of excel file:
    Let me know if it was useful.

  • I can no longer create groups that contain subgroups??

    Folks,
    I used to be able to create a group, drag existing subgroups and individuals into that group, and send emails to all by simply typing the group name into Mail.
    I can no longer do this.
    Now, to be precise. I can create what looks like a group and by dragging existing subgroups into it -- but it no longer functions as a group. When I type the name or drag it (from Contacts) into the "To:" line of Mail, the only thing that shows up are the top-level individuals (i.e., those who I put dragged in as individuals, not those who are only in one of the subgroups that I dragged in).
    If I create a group that only has subgroups (i.e., no individuals at the top level, only individuals who are members of one or more of the included subgroups) then after I type the group name in the "To:" line of mail, the group name dissappears, and nothing appears in Mail's "To:" line.
    The actual behavior is a little more subtle than this but the bottom line is that I can no longer create groups with subgroups.
    Help!!

    Hi,
    If you list the steps you have taken to fix this it will help.
    Have you tried using the File > New Event menu item?
    Have you logged the user account out/ restarted the computer?
    Have you tried un-syncing any accounts synced to Calendar?
    Is there some change made to the computer that may have triggered this?
    Best wishes
    John M

  • Dynamically creating a Record Group based on Previously entered Record Grou

    Forms [32 Bit] Version 10.1.2.3.0 (Production)
    Hi,
    I know how to dynamically create a record group based on a query and putting the code in When new form instance.
    My query is. I have a form which has multiple Record Groups and the user wants to dynamically create subsequent groups based on previous groups.
    For example
    I have a record group with selects a Location,
    when the user selects the Location from a list of values
    the 2nd record group called 'Cost Centres' will have to filter out only those with the locations selected above.
    How can I populate the 2nd record group at run-time when I do not know what site the user will select?
    If I simply populate in when new form instance as in location and just select everything, the list of values populates.
    CC field is a LIST ITEM and the list style is a POP LIST, it is not required.
    I have put the code in the Location field in the when-list-changed trigger.
    I am getting this error:
    frm-41337: cannot populate the list from the record group
    here is the code:
    DECLARE
    v_recsql Varchar2(1000); -- The SQL for creating the Record Group.
    v_recgrp RecordGroup; -- Record Group
    v_status Number; -- Return Value of Populate_Group function.
    c_where VARCHAR2(1000);
    BEGIN
         IF :location = '1' THEN
              c_where := ' substr(cost_centre,1,2) in (''01'',''02'')';
         ELSIF :location  = '2' THEN
              c_where := ' substr(cost_centre,1,2) in (''02'',''03'')';
         ELSIF :location   = '3' THEN
              c_where := ' substr(cost_centre,1,2) in (''01'',''11'',''07'')';
                   ELSE
              c_where :=  ' 1=1'; --EVERYTHING
         END IF;
    v_recsql := 'SELECT cost_centre, description  FROM   cost_centres  where '||c_where;
    -- Create the Record Group
    v_recgrp := CREATE_GROUP_FROM_QUERY('v_recgrp', v_recsql);
    IF NOT ID_NULL(v_recgrp)
    THEN -- No Error, record group has been successfully created.
    -- Populate Record Group
    v_status := POPULATE_GROUP('v_recgrp');
    IF v_status = 0
    THEN -- No Error. Record Group has been Populated.
    POPULATE_LIST('block.CC', 'v_recgrp');
    END IF; -- IF v_status = 0
    -- Delete the Record Group as it is no longer needed.
    DELETE_GROUP('v_recgrp');
    END IF; -- IF NOT ID_NULL(v_recgrp)
    END;thanks for your assistance.

    Hi,
    Once record status gets change for block you can not populate/repopulate the list item. Keep those list items as non-database item with different names and create different items as database orignal items. Than assign the values in WHEN-LIST-CHANGE trigger to the actual database items.
    -Ammad

  • Create a group based on file contents

    Hello!
    I'm investigating options to create a dynamic group based on periodic check of file content. I have a Shavlik updater which is patching custom groups based on file contents. I would like to create a dynamic group which should return all Windows Computer
    classes that are found from this file. Anything close to sensible was found at https://www.youtube.com/watch?v=gxASdzHFTOU where author created an attribute of based on "SELECT * FROM CIM_DataFile" and then created a group out from it - but it checks
    file existence, not content, would launch against all Windows Clients (and we have 1000+ of these monitored) - certainly not a valid way.
    Is there any way I could do that in a simple, straightforward way?
    Thanks in advance

    Ok, I got it. Have you tried modifying the group membership with powershell?
    Modifying Explicit Group Membership in SCOM 2012 with PowerShell
    http://blogs.msdn.com/b/rslaten/archive/2013/06/27/modifying-explicit-group-membership-in-scom-2012-with-powershell.aspx
    Automate your group creation with Powershell
    http://blog.coretech.dk/kra/automate-your-group-creation-with-powershell/
    We
    are trying to better understand customer views on social support experience, so your participation in this
    interview project would be greatly appreciated if you have time.
    Thanks for helping make community forums a great place.

  • Grouping Based on Parameters

    Hi
    can anyone lease explain me how to create a group  based on the parameters entered by the user ?

    hmm, are your parameters set to dynamic? if yes here is the solution which might work - Direct from Crystal Report Help file
    Adding dynamic grouping using parameter fields
    You can design your report so that users can change the grouping presentation of the report without refreshing information from the database. For instance, users can move from a customer-focused view of the report to either a region-focused or an order-focused view. Dynamic grouping combines the use of group selection formulas and the Parameter Panel.
    To add dynamic grouping using parameter fields
    Create a report using the sample data, Xtreme.mdb, and place the following fields from left to right in the Details section:
    {Customer.Customer Name}
    {Customer.Country}
    {Orders.Order ID}
    {Orders.Order Date}
    {Orders.Order Amount}
    Create a new parameter field and call it GroupBy.
    Select String from the Type list.
    Add the following values to your parameter:
    Customer
    Country
    Order
    Select Editable from the Show on (Viewer) Panel list, and click
    OK.
    Create a new formula field and call it GroupField.
    Type the following formula into the Formula text box.
    If {?GroupBy} = 'Customer' then
    {Customer.Customer Name}
    Else if {?GroupBy} = 'Country' then
    {Customer.Country}
    Else if {?GroupBy} = 'Order' then
    *ToText({Orders.Order ID})
    Note: Crystal Reports formulas do not allow conditions to return different data types. Both the Customer Name and Country fields return strings, so the ToText function must be used to convert the
    Order ID from a number to a string as well.
    Save your formula and close the Formula Workshop.
    In the Group Expert, select the GroupField formula as your group field, and click OK.
    Customize summary fields and section formatting as you like.
    Users can now change the grouping presentation of the report by modifying the GroupBy parameter value on the Parameter Panel.
    Note: Changing parameter values will not cause a database refresh as long as the parameter is a non-data parameter.
    hope this helps
    Regards
    Jehanzeb

  • Group based on Shared variable

    Hi Experts,
    Can we create a Group based on Shared variable in subreport?

    Hi Praveen,
    A shared variable evaluates in Pass 2 and hence No!
    You can't create a group on such formulas in the Main Report or the Subreport.
    -Abhilash

  • Insert group based on values in array

    Is it possible to do the following:
    formula 1
    currentdate - 9
    formula 2
    currentdate - 2
    create another formula that will store the dates in between formula 1 and formula 2 into an array and then insert a group based on each value in this array?
    Thank you in advance,
    Zack H.

    Yes it is possible but luckily you don't need to engage this difficult (and inefficient method). If you absolutely do need it after reading this post, then give a shout.
    @f_begin
    currentdate - 2
    @f_end
    currentdate - 9
    Then in Select Expert:
    {mytable.myDateOrDateTimeColumn} In In {@f_begin} To {@f_end}
    The create a group by pressing the Group Expert button Click on Options... button and choose "Section will be printed by: for each day". Order as you wish.
    No arrays needed.
    Does this do the trick for you?

  • Issue with AD group based collection

    Hi,
    We are using AD security group based membership. Also, we are uing the same SCCM infra to cover other domains as well.
    From Activie Direcoty, it could able to discover the machines (computer objects) belongs to other domains but those computer objects not reflecting onto the collections.
    Any suggestions woud help us!
    Many Thanks.

    Check your collection refresh interval also is any machines added to the AD group getting populated ie. from the same domain xxx ? if so, i think you need to add the IP sub-net details on the boundary and
    also  discover the another domain machines using LDAP query for it(ex. sccm discovers and manages xxx domain where as its not discovering yyy domain machines becoz its not discovered ,you can also do it using the IP subnet details ie n/w discovery) the
    machines to the ALL systems then it may get added to the collection.
    Kamala kannan.c| Please remember to click “Mark as Answer” or Vote as Helpful if its helpful for you. |Disclaimer: This posting is provided with no warranties and confers no rights

  • Search for Main Group Not all Subgroup

    Search for Main Group Not all Subgroup
    My illustrator project may have 5 main groups, which may all included 100 subgroups. I would like to search for main group without having to search through all subgroup, because too many and too long for the script.
    For the moment I have given a name to all Main group but the process is much too long.
    Marcel
    tell application "Adobe Illustrator"
                       activate
                              set groupCount to count group items in current document
                              repeat with i from 1 to groupCount
                                                    set selection of current document to {}
                                                    set groupRef to group item i of current document
                                                    set groupName to name of groupRef
                                                    if  (groupName contains "MainGroup") then
                                                                                          set selected of (groupRef) to true
                                                      display dialog groupName
                                                                        end if
                              end repeat -- with groupCounter from 1 to groupCounter
    end tell

    I don't do AS but this seems to be the culprit
    set groupCount to count group items in current document
    count your groups in the current "Layer" to narrow it down to main groups only, groups within groups will be ignored.

  • BPMOn: Is it possible to send email notification to different groups based on filter value for IDOC?

    Hi there,
                  I have setup the monitoring for idoc through interface monitoring and I am getting the alerts for the same. The alert is generated for different status values for the same idoc. Now my question is, is it possible to send email notification to two different groups based on the status values?? I mean for example , for a single idoc for some status values I want to send email notification to group1 only and for other status values I want to send notification to group2.Any help will be apperitiated.
    Thanks and regards,
    Rutvik Upadhyay

    We currently do not support that level of control for sending email notifications. If you think others are interested in this you should add an idea here: http://forums.adobe.com/community/formscentral?view=idea
    We use that to help us prioritize our work.
    Thanks,
    Randy

Maybe you are looking for