Nested Matrix Group Subtotals

Hi -
Does anyone know how to make a standard matrix report give subtotals for a level 1 group?
Scenario:
standard matrix report
level 1 and level 2 row groups
one column group
I need the report to give me subtotals for each of my level 1 groups per column. Because this is a nested matrix report, I cannot use the Matrix with a Group design - it blows up.
Thanks for your help.
~SM

i am sure there is a way to do that using summary columns, placeholder columsn and some pl/sql code .. however it is hard to give the exact solution without knowing your report in detail.
thanks,
ph.

Similar Messages

  • Column break in nested matrix

    Hi guys,
    I created a report of some quality test results containing table with nested matrix for details. I need the
    sub-matrix  to be grouped by row and by
    column and limit the number of result columns in row (to fit the width of report neatly). I went trough the articles about doing column group break already:
    http://social.msdn.microsoft.com/Forums/sqlserver/en-US/32f28407-e1ca-457e-92fd-d292e32dde4e/limit-no-of-columns-in-ssrs-matrix-report?forum=sqlreportingservices 
    http://social.msdn.microsoft.com/Forums/sqlserver/en-US/ea9d795b-8d17-41d2-a1d7-a4069ebb4539/forum-faq-how-do-i-achieve-column-break-in-a-matrix?forum=sqlreportingservices (I have used the 2nd workaround)
    My solution without the column count limit feature works perfectly. But when trying to break, the report seems to associate the column groups related to another parent table row, because the number of result grouped columns in row is
    less or equal to the set number (=4) as follows:
    Test type Test
    A A1
    Parameter A1-1 A1-2 A1-3 A1-4 // OK - break made after 4 columns of A1
    Min x x x x
    Max y y y y
    Measured z z z z
    Parameter A1-5 A1-6 // OK - break made after test type A1 (?Bug cause: "column count 2 for now")
    Min x x
    Max y y
    Measured z z
    A2
    Parameter A2-1 // OK - break made after test type A2 (?Bug cause: "column count 3 for now")
    Min x
    Max y
    Measured z
    B B1
    Parameter B1-1 // Not OK - break already made after 1st column (?Bug cause: "column count 4 for now:"=>BREAK)
    Min x
    Max y
    Measured z
    Parameter B1-2 B1-3 B1-4 // OK - break made after test type B1
    Min x x x
    Max y y y
    Measured z z z
    C C1
    Parameter C1-1 C1-2 C1-3 C1-4 // OK - break made after 4 columns of C1
    Min x x x x
    Max y y y y
    Measured z z z z
    Parameter C1-5 C1-6 // OK - break made after test type C1
    Min x x
    Max y y
    Measured z z
    I have modified the proposed function script for my purposes - set the reset of ID counter in the header of  parent row test, set the column ID  as concatenation of all level values (test type, test and watched parameter),  played with ordering
    of data and extra grouping, but with no success.
    Does anybody have a suggestion what is going on and how to solve this issue?
    Thanks,
    Marion
    PS: I'm sorry for the table illustration (done the best that I could). As a newbie I'm not allowed to post with picture. 
    Edit: Do you need some extra information to help? Does somebody have an idea how to achieve the same design with column break some other way?

    Hi,
    The column break needs to reset when it starts a new row grouping.  The customer code therefore needs parameters for the row grouping and for the column grouping.
    The code below is slightly different to a lot of examples.
    Creating hashtables would keep a record of every column value, so for large reports, this would use a small but significant amount of memory.  It only needs to know when it changes.  I've also used static variables as the scope only needs to be
    the function and not global, plus this makes it a single module of code which helps on larger projects.
    The ceiling calculation has been replaced with some integer maths to prevent odd rounding issues that cause hard to trace/reproduce bugs.  E.G. a 4 column should be 4-4-4-4-4 but 16 /4 should be 4 but might be
    4.000000000000001.  Ceilling then returns 5 so you end up with a column jumping to the next line :- 4-3-5-4-4.
    Note that everything that used to calculate the row grouping should be concatenated as a single parameter for the most robust solution.  In the example the sub group is unique for the entire dataset so is not an issue, but if a sub group is only unique
    in the group, there is a small change of a miscalculation.
    Here's my solution:
    In the code
    Function GroupFunction(
    ByVal NewGroup as string ,
    ByVal NewColumn as string ,
    ByVal ColumnBreak as Integer ) As Integer
    static OldGroup as string = ""
    static OldColumn as string = ""
    static RecordCount as integer = 0
    if (OldGroup <> NewGroup ) then
    OldGroup = NewGroup
    OldColumn = ""
    RecordCount = RecordCount + ( ColumnBreak - RecordCount Mod ColumnBreak )
    end if
    if (OldColumn <> NewColumn) then
    OldColumn = NewColumn
    RecordCount = RecordCount +1
    end if
    GroupFunction =RecordCount +
    ( ColumnBreak - (RecordCount - 1) Mod ColumnBreak )
    End Function
    In the report
    = Code.GroupFunction( Fields!MainGroup.Value & ":" & Fields!SubGroup.Value   , Fields!Parameter.Value , 4 )
    If you want a different number of columns, you can change the 4 to a report parameter.
    Output
    A
    A1
    Value Type
    A1-01
    A1-02
    A1-03
    A1-04
    Max
    2
    5
    8
    11
    Measured
    3
    6
    9
    12
    Min
    1
    4
    7
    10
    Value Type
    A1-05
    A1-06
    A1-07
    A1-08
    Max
    14
    1
    1
    1
    Measured
    15
    1
    1
    1
    Min
    13
    16
    1
    1
    Value Type
    A1-09
    A1-10
    Max
    1
    1
    Measured
    1
    1
    Min
    1
    1
    A
    A2
    Value Type
    A2-01
    Max
    1
    Measured
    1
    Min
    1
    B
    B1
    Value Type
    B1-01
    B1-02
    B1-03
    B1-04
    Max
    1
    1
    1
    1
    Measured
    1
    1
    1
    1
    Min
    1
    1
    1
    1
    Value Type
    B1-05
    Max
    1
    Measured
    1
    Min
    1
    C
    C1
    Value Type
    C1-01
    C1-02
    C1-03
    C1-04
    Max
    1
    1
    1
    1
    Measured
    1
    1
    1
    1
    Min
    1
    1
    1
    1
    Value Type
    C1-05
    C1-06
    Max
    1
    1
    Measured
    1
    1
    Min
    1
    1
    Best Regards
    Fergus

  • Problem with nesting repetitive groups, using PDF as template

    We are trying to use a pdf file (Acrobat 5.0) as a template for BI Publisher reports.
    Our report uses as a data source a xml file (facturas.xml) with data from several bills.
    In each bill, there are areas where multiple lines must be displayed. We use the tag BODY_START/BODY_END to define the area of repetition for the lines.
    The problem arises when we want to nest two or more BODY_START/BODY_END. In this case the fields are displayed outside the place where they were defined.
    We do not know the way to do it and the syntax for nesting repetitive groups.
    BI Publisher Version: Oracle BI Publisher 10.1.3.4.1
    Plattform: Windows 2003 R2 64 bits.
    Acrobat: Using Acrobat 5.0 file format.
    Editor: Adobe Acrobat 9, saving as 5.0 file format.

    I have found some solution whcih guide you to how to create links in PDF file. Follow this interesting PDF guide here.
    Video Guide of How To Create eBook using Adobe Acrobat.
    Hope it helps you.

  • PDF template - Looking for syntax to handle non-nesting repeat groups

    All,
    I followed XML publisher documentation for the first repeat group using BODY_START, T1_G1, T1_G2,,,,BODY_END. It works as expected. Could anyone post the syntax to handle more than one repeat group within a PDF template. These are not nesting repeat groups.
    Really appreciate any help to point me in the right direction.
    Thanks in advance
    Gopal

    Your question was "... but the font on the footer is much larger than that of the template", yes?
    I only can repeat, look at the difference of:
    1. index.html (Font-size > medium) >
    2. Calendar.html (Font-size > no entry):
    > "... font on the footer is much larger than that of the template",
    Hans-Günter
    P.S.
    See us again - maybe - at Monday > we will do a nice little trip to Austria.

  • How can shrink matrix group very urgent

    hello programmers
    how r u all? i have a little problem. i want to shrink my matrix frame when i donot want to print all columns of matrix group in report. suppose i haev three matrix groups and i want matrix group 2 all columns to be hide at runtime and matrix three group will automatically come at the position of matrix 2 group. please if ant body have any idea about it please email me. this is very urgent problem which i am facing.
    thanks for any reply
    kamran ahmed

    It's not very clear what you're looking for. However, one of the following may work for you:
    a) Restrict the data at query time through use of parameters and bind variables.
    b) Use format triggers to dynamically hide values at runtime (by returning false).
    If neither of these solutions works then please provide more details of the problem you're facing.
    Thanks,
    Danny

  • Is it possible to increase the nested layer group limit on Photoshop CS4

    Hi all,
    Does anyone know if it is possible to increase the limit on nested layer groups in Photoshop CS4. To do a test, I made a group with a blank layer inside, then duplicated this group several times and nested them within each other. Once I have nested groups (5 deep) I can't nest any more.
    This is quite frustrating as I'm sure I could cope with a just two or three more levels of depth.
    Thanks.

    Thanks for the reply.
    That's rather annoying. I guess I will have to live with it for now. :-(

  • Strange Matrix group by date question

    I have the following data:
    name
    date
    value
    bob
    1/1/2015
    5
    jane
    1/1/2015
    7
    jim
    1/1/2015
    9
    bob
    1/2/2015
    2
    jane
    1/2/2015
    5
    jim
    1/2/2015
    5
    bob
    1/2/2015
    4
    I am using a matrix with a group by date to produce the following:
    1/1/2015
    1/2/2015
    bob
    5
    4
    jane
    7
    5
    jim
    9
    5
    As you can see it only selected one value for bob on 1/2.
    Is is possible to show all of the values while still grouping by date?
    I would  prefer something like 
    1/1/2015
    1/2/2015
    1/2/2015
    bob
    5
    2
    4
    jane
    7
    5
    jim
    9
    5

    Hi ,
    I have created sample report based on your question. Steps are listed below:-
    Sample query is modified to get one more Column rowid as shown in below SQL query:-
    select *,row_number() over(partition by name,date order by date )rowid from
    SELECT 'bob' name, '1/1/2015' date ,5 value
    UNION
    SELECT 'jane' , '1/1/2015' , 7
    UNION
    SELECT 'jim' , '1/1/2015' , 9
    UNION
    SELECT 'bob' , '1/2/2015' , 2
    UNION
    SELECT 'jane' , '1/2/2015' , 5
    UNION
    SELECT 'jim' , '1/2/2015' , 5
    UNION
    SELECT 'bob' , '1/2/2015' , 4
    )T
    Now Create the matrix report rows --> Name
    Columns---> Date
    Detail---> Value
    After creation of matrix, just go to the Group Properties of Column group and add as shown below
    After this setting , run the report, it will give result as shown below:-
    RDL Code for reference:-
    <?xml version="1.0" encoding="utf-8"?>
    <Report xmlns="http://schemas.microsoft.com/sqlserver/reporting/2008/01/reportdefinition" xmlns:rd="http://schemas.microsoft.com/SQLServer/reporting/reportdesigner">
    <Body>
    <ReportItems>
    <Tablix Name="matrix1">
    <TablixCorner>
    <TablixCornerRows>
    <TablixCornerRow>
    <TablixCornerCell>
    <CellContents>
    <Textbox Name="textbox3">
    <CanGrow>true</CanGrow>
    <KeepTogether>true</KeepTogether>
    <Paragraphs>
    <Paragraph>
    <TextRuns>
    <TextRun>
    <Value />
    <Style>
    <FontFamily>Tahoma</FontFamily>
    </Style>
    </TextRun>
    </TextRuns>
    <Style />
    </Paragraph>
    </Paragraphs>
    <rd:DefaultName>textbox3</rd:DefaultName>
    <Style>
    <Border>
    <Color>LightGrey</Color>
    <Style>Solid</Style>
    </Border>
    <PaddingLeft>2pt</PaddingLeft>
    <PaddingRight>2pt</PaddingRight>
    <PaddingTop>2pt</PaddingTop>
    <PaddingBottom>2pt</PaddingBottom>
    </Style>
    </Textbox>
    </CellContents>
    </TablixCornerCell>
    </TablixCornerRow>
    </TablixCornerRows>
    </TablixCorner>
    <TablixBody>
    <TablixColumns>
    <TablixColumn>
    <Width>1in</Width>
    </TablixColumn>
    </TablixColumns>
    <TablixRows>
    <TablixRow>
    <Height>0.21in</Height>
    <TablixCells>
    <TablixCell>
    <CellContents>
    <Textbox Name="textbox2">
    <CanGrow>true</CanGrow>
    <KeepTogether>true</KeepTogether>
    <Paragraphs>
    <Paragraph>
    <TextRuns>
    <TextRun>
    <Value>=Sum(Fields!value.Value)</Value>
    <Style>
    <FontFamily>Tahoma</FontFamily>
    </Style>
    </TextRun>
    </TextRuns>
    <Style />
    </Paragraph>
    </Paragraphs>
    <rd:DefaultName>textbox2</rd:DefaultName>
    <Style>
    <Border>
    <Color>LightGrey</Color>
    <Style>Solid</Style>
    </Border>
    <PaddingLeft>2pt</PaddingLeft>
    <PaddingRight>2pt</PaddingRight>
    <PaddingTop>2pt</PaddingTop>
    <PaddingBottom>2pt</PaddingBottom>
    </Style>
    </Textbox>
    </CellContents>
    <DataElementOutput>Output</DataElementOutput>
    </TablixCell>
    </TablixCells>
    </TablixRow>
    </TablixRows>
    </TablixBody>
    <TablixColumnHierarchy>
    <TablixMembers>
    <TablixMember>
    <Group Name="matrix1_date">
    <GroupExpressions>
    <GroupExpression>=Fields!date.Value</GroupExpression>
    <GroupExpression>=Fields!rowid.Value</GroupExpression>
    </GroupExpressions>
    </Group>
    <SortExpressions>
    <SortExpression>
    <Value>=Fields!date.Value</Value>
    </SortExpression>
    </SortExpressions>
    <TablixHeader>
    <Size>0.21in</Size>
    <CellContents>
    <Textbox Name="date">
    <CanGrow>true</CanGrow>
    <KeepTogether>true</KeepTogether>
    <Paragraphs>
    <Paragraph>
    <TextRuns>
    <TextRun>
    <Value>=Fields!date.Value</Value>
    <Style>
    <FontFamily>Tahoma</FontFamily>
    <FontWeight>Bold</FontWeight>
    <Color>White</Color>
    </Style>
    </TextRun>
    </TextRuns>
    <Style />
    </Paragraph>
    </Paragraphs>
    <rd:DefaultName>date</rd:DefaultName>
    <Style>
    <Border>
    <Color>LightGrey</Color>
    <Style>Solid</Style>
    </Border>
    <BackgroundColor>#6e9eca</BackgroundColor>
    <PaddingLeft>2pt</PaddingLeft>
    <PaddingRight>2pt</PaddingRight>
    <PaddingTop>2pt</PaddingTop>
    <PaddingBottom>2pt</PaddingBottom>
    </Style>
    </Textbox>
    </CellContents>
    </TablixHeader>
    <DataElementOutput>Output</DataElementOutput>
    <KeepTogether>true</KeepTogether>
    </TablixMember>
    </TablixMembers>
    </TablixColumnHierarchy>
    <TablixRowHierarchy>
    <TablixMembers>
    <TablixMember>
    <Group Name="matrix1_name">
    <GroupExpressions>
    <GroupExpression>=Fields!name.Value</GroupExpression>
    </GroupExpressions>
    </Group>
    <SortExpressions>
    <SortExpression>
    <Value>=Fields!name.Value</Value>
    </SortExpression>
    </SortExpressions>
    <TablixHeader>
    <Size>1in</Size>
    <CellContents>
    <Textbox Name="name">
    <CanGrow>true</CanGrow>
    <KeepTogether>true</KeepTogether>
    <Paragraphs>
    <Paragraph>
    <TextRuns>
    <TextRun>
    <Value>=Fields!name.Value</Value>
    <Style>
    <FontFamily>Tahoma</FontFamily>
    <FontWeight>Bold</FontWeight>
    <Color>White</Color>
    </Style>
    </TextRun>
    </TextRuns>
    <Style />
    </Paragraph>
    </Paragraphs>
    <rd:DefaultName>name</rd:DefaultName>
    <Style>
    <Border>
    <Color>LightGrey</Color>
    <Style>Solid</Style>
    </Border>
    <BackgroundColor>#6e9eca</BackgroundColor>
    <PaddingLeft>2pt</PaddingLeft>
    <PaddingRight>2pt</PaddingRight>
    <PaddingTop>2pt</PaddingTop>
    <PaddingBottom>2pt</PaddingBottom>
    </Style>
    </Textbox>
    </CellContents>
    </TablixHeader>
    <DataElementOutput>Output</DataElementOutput>
    <KeepTogether>true</KeepTogether>
    </TablixMember>
    </TablixMembers>
    </TablixRowHierarchy>
    <RepeatColumnHeaders>true</RepeatColumnHeaders>
    <RepeatRowHeaders>true</RepeatRowHeaders>
    <DataSetName>DataSet1</DataSetName>
    <Top>0.37in</Top>
    <Height>0.42in</Height>
    <Width>2in</Width>
    <Style />
    </Tablix>
    <Textbox Name="textbox1">
    <CanGrow>true</CanGrow>
    <KeepTogether>true</KeepTogether>
    <Paragraphs>
    <Paragraph>
    <TextRuns>
    <TextRun>
    <Value>Strange Matrix Group by Date</Value>
    <Style>
    <FontFamily>Tahoma</FontFamily>
    <FontSize>14pt</FontSize>
    <FontWeight>Bold</FontWeight>
    <Color>SteelBlue</Color>
    </Style>
    </TextRun>
    </TextRuns>
    <Style>
    <TextAlign>Center</TextAlign>
    </Style>
    </Paragraph>
    </Paragraphs>
    <rd:DefaultName>textbox1</rd:DefaultName>
    <Height>0.37in</Height>
    <Width>5in</Width>
    <ZIndex>1</ZIndex>
    <Style>
    <PaddingLeft>2pt</PaddingLeft>
    <PaddingRight>2pt</PaddingRight>
    <PaddingTop>2pt</PaddingTop>
    <PaddingBottom>2pt</PaddingBottom>
    </Style>
    </Textbox>
    </ReportItems>
    <Height>1.04in</Height>
    <Style />
    </Body>
    <Width>5in</Width>
    <Page>
    <LeftMargin>1in</LeftMargin>
    <RightMargin>1in</RightMargin>
    <TopMargin>1in</TopMargin>
    <BottomMargin>1in</BottomMargin>
    <Style />
    </Page>
    <AutoRefresh>0</AutoRefresh>
    <DataSources>
    <DataSource Name="DataSource1">
    <DataSourceReference>DataSource1</DataSourceReference>
    <rd:SecurityType>None</rd:SecurityType>
    <rd:DataSourceID>b2ebe046-5f1b-45c9-82e7-5baa7ed2460a</rd:DataSourceID>
    </DataSource>
    </DataSources>
    <DataSets>
    <DataSet Name="DataSet1">
    <Query>
    <DataSourceName>DataSource1</DataSourceName>
    <CommandText> select *,row_number() over(partition by name,date order by date )rowid from
    SELECT 'bob' name, '1/1/2015' date ,5 value
    UNION
    SELECT 'jane' , '1/1/2015' , 7
    UNION
    SELECT 'jim' , '1/1/2015' , 9
    UNION
    SELECT 'bob' , '1/2/2015' , 2
    UNION
    SELECT 'jane' , '1/2/2015' , 5
    UNION
    SELECT 'jim' , '1/2/2015' , 5
    UNION
    SELECT 'bob' , '1/2/2015' , 4
    )T</CommandText>
    <rd:UseGenericDesigner>true</rd:UseGenericDesigner>
    </Query>
    <Fields>
    <Field Name="name">
    <DataField>name</DataField>
    <rd:TypeName>System.String</rd:TypeName>
    </Field>
    <Field Name="date">
    <DataField>date</DataField>
    <rd:TypeName>System.String</rd:TypeName>
    </Field>
    <Field Name="value">
    <DataField>value</DataField>
    <rd:TypeName>System.Int32</rd:TypeName>
    </Field>
    <Field Name="rowid">
    <DataField>rowid</DataField>
    <rd:TypeName>System.Int64</rd:TypeName>
    </Field>
    </Fields>
    </DataSet>
    </DataSets>
    <Language>en-US</Language>
    <ConsumeContainerWhitespace>true</ConsumeContainerWhitespace>
    <rd:ReportUnitType>Inch</rd:ReportUnitType>
    <rd:ReportID>dfd8f7e8-fcc1-4636-991e-d86824825c30</rd:ReportID>
    </Report>
    Thanks
    Prasad
    Mark this as Answer if it helps you to proceed on further.

  • Shared services ( Nesting of groups)

    Hi,
    In case of Group nesting If in Group B another group A is added ( or nested) as GRoup member. Does the provisioning of Group B also Applies to Group A? Or is it required to provision Group A seperately?

    When I right click a group A and go to the tab Group Members. The group names (. Group1, Group 2 etc)that I see in Group Members tab are called nested/Child groups and the GroupA is a parent group. Please correct me if I am not right.That's correct. Glad I was able to help.
    Cheers,
    Mehmet

  • OAM 10g - obmygroups and nested dynamic groups

    I've run into an issue with the obmygroups header action in OAM 10g, and I'm not sure whether this is by design or not.
    The obmygroups will return static and dynamic group names for which the user is a member, and it will return static groups that contain nested static groups where the user is a member of the nested group. However, it doesn't seem to static groups with nested dynamic groups where the user is a member of the nested dynamic group.
    Is that by design? Is there any way to nest dynamic groups so that obmygroups will return the parent group name? I'd like to have a group that contains both nested static and nested dynamic groups, and have the obmygroups action return the name of the parent group.
    Thanks,
    Matt

    Return Attribute Action in authentication or authorization rules
    obmygroups:<ldap_url> special attribute returns those groups to which the user belongs that also satisfy the criteria <ldap_url> filter specifies.
    EX: "obmygroups:ldap:///cn=Groups,dc=myorg,dc=com??sub(group_type=role) returns all the groups in cn=Groups,dc=myorg,dc=com tree for which the logged-in user is a member and the group_type is role.
    For more information check OAM Access Administration Guide

  • Retrieve nested LDAP groups independent from the network env. (five different approaches)

    Hi all,
    I want to retrieve a list of nested LDAP groups per user from the Active Directory. I have been searching google for half a day now, but I'm still not sure what approach to use. I have the following requirements:
    * The script/program must run in different network environments (I can't be sure if there is a global catelog or AD DS or AD LDS, etc). I will write my own program.
    * The membership info will be used in combination with directory ACL's and must be as complete as possible (global groups, universal groups, local groups, perhaps different domains). Distribution groups are not really necessary, because they are not used in
    the directory ACL's.
    * It would be nice to support other LDAP implementations than Active Directory using the same code, but that not a hard requirement. I could use another approach to support a different LDAP.
    Now I have figured out five possible approaches (info comes from different sites, please correct me if I'm wrong):
    1) tokengroups attribute:
    - The attribute contains Univeral groups of the forest, global groups from the local domain, domain local groups from the local domain (assuming native mode) and local groups from the local machine.
    - Returns a list of SIDs which will have to be translated to group names
    - The tokenGroups attribute exists on both AD DS and AD LDS
    - For AD DS, the tokenGroups attribute is not present if no GC server is available to evaluate the transitive reverse memberships.
    - quote from site "Now that I have had a chance to test it though I can definitely say that tokenGroups WILL get the Universal groups from the other domains even if is NOT a GC. I just did it in my test lab."
    - Token Groups cannot be retrieved if no Global Catalog is present to retrieve the transitive reverse memberships.
    2) tokenGroupsGlobalAndUniversal
    - A subset of the tokenGroups attribute. Only the global and universal group SIDs are included.
    - If you want consistent results, read tokenGroupsGlobalAndUniversal that will return the same result no matter which DC you are connected to. However, it will not include local groups.
    - other source says "tokenGroups will give you all the security groups this user belongs to, including nested groups and domain users, users, etc tokenGroupsGlobalAndUniversal will include everything from tokenGroups AND distribution groups". Not
    sure if this is correct, I think it doesn't contain local groups.
    - The tokenGroupsGlobalAndUniversal attribute exists on AD DS but not on AD LDS.
    3) LDAP_MATCHING_RULE_IN_CHAIN / 1.2.840.113556.1.4.1941
    - Use a recursive search query which returns all nested groups for user at once.
    - Returns all groups except for the primary group
    - It's a fast approach, see performance test from Richard Mueller:
    http://social.technet.microsoft.com/Forums/fr-FR/f238d2b0-a1d7-48e8-8a60-542e7ccfa2e8/recursive-retrieval-of-all-ad-group-memberships-of-a-user?forum=ITCG
    - It only works on Active Directory, not for other LDAP implementations
    4) Recursive retrieval of the memberOf attribute
    - Retrieves all groups except the primary group. (also local groups from other domains??)
    - works for all LDAP implementations
    - executes a lot of queries to the LDAP, especially if you want to scan all users/groups (perhaps limited on OU, but still)
    5) Store memberOf attribute in local database and calculate the nested groups using recursive queries to the local database
    - No heavy load to the LDAP
    - Needs space to store the user/group info locally (embedded Derby database perhaps)
    - Performs fast since the queries are executed locally
    - Works for all LDAP implementations
    My thoughts on these different approaches:
    * appreach 1) I understand that the tokengroups attribute is not present if no GC server is available. In how many network environments is this the case? This option won't work because I want to support different network environments.
    * approach 2) The tokenGroupsGlobalAndUniversal attribute exists on AD DS but not on AD LDS. Same here, in how many network environments is this the case? I don't think I can rely on this approach.
    * approach 3) Seems to be a good option. How will it perform compared to approach 5 (local recursive queries)? Won't work for other LDAP implementations
    * approach 4) I don't think I want to execute that many queries to the LDAP. I can limit the scan on OU, but still companies can have thousands of users and groups.
    * approach 5) Perhaps the best approach. I want to store user/group info locally for fast filtering / reporting (only group DNs, user names, databse id's and membership info as id-id pairs). I only need the memberOf attribute of users and groups, recursive
    loops are done locally. It will work for all LDAP implementations.
    What do you guys think? I'm not a network admin, but a programmer, so I'm no expert in network setups and when to use AD DS or AD LDS. The thing is I want to use this code at different customers without knowing their network setup (except for the domain name(s),
    LDAP host/port and bind user to connect to LDAP).
    Thanks a lot!
    Paul

    I want to write a tool that can answer questions like "what users from group ABC have delete permission in all the (sub)directories of server MyDataServer?". This results in a list of directories and users and includes nested group membership. So it's about
    effective permissions. That's why I want all information in a SQL database so I can answer these questions with a single query in milliseconds. Otherwise, in order to answer these questions, I would have to get all members from group ABC and determine the
    nested groups for all these members (which can be thousands) for every report. Using a SQL database I can retrieve this information once a night for all the members.
    But I guess I will use the LDAP_MATCHING_RULE_IN_CHAIN syntax which gives me all nested groups for a member and should work for all AD installations from W2K3 SP2 and higher. When I want to support other LDAPs I will use another method for that specific
    LDAP.
    Again - note that this question has nothing to do with LDAP or AD.  It just asks what group has permissions on what resources.
    I really think you would do well to spend time understanding the NTFS and its security along with how we sue security in Windows.  By assuming this has something to do with AD you are making it a bigger issue than needed.  AD is a repository for
    accounts and trusts and manages authentication and security group membership.  All file security is managed by the OS that hosts the files and not by AD.  Users are not normally granted access to resources through direct inclusion in the DACL but
    are given access through membership in one or more groups.  Loading AD into a SQLL database will not help you.
    ¯\_(ツ)_/¯

  • "Nested layer groups" warning message disabling

    I am using Photoshop CS6 and if I have nested layer groups whose depth is greater than 5 I get the following error message. "This document contains nested layer groups that may change in apprearance if opened in applications older than Photoshop CS6".
    I can click on "don't show this message again" before pressing ok, but is there a way to disable it by running a script?

    I have no idea but there is a dedicated scripting forum.
    http://forums.adobe.com/community/photoshop/photoshop_scripting

  • AME - Nested Approver Groups

    Hi
    I am trying to setup a nested approver group. The setups I have done are as follows:
    Create a dynamic approver group - A - There is a SQL attached to retrieve the members of this group
    Create a second dynamic approval group B - There is a SQL attached to retrieve the members of this group as well.
    Create a static approver group C and enter the Group members as Approver Type - Nested Group and Approver is Group A and Group B.
    The transaction goes for approval to the the member of approver group A and dayanoes not go any further. It should also have gone to the members of
    Approver Group B since they are nested and part of the group.
    The transaction exists in hr_api_transactions and the notifications appear in wf_notifcations as well.
    Any help would be greatly appreciated.
    Regards
    Narayan Pillai

    Hi
    I am trying to setup a nested approver group. The setups I have done are as follows:
    Create a dynamic approver group - A - There is a SQL attached to retrieve the members of this group
    Create a second dynamic approval group B - There is a SQL attached to retrieve the members of this group as well.
    Create a static approver group C and enter the Group members as Approver Type - Nested Group and Approver is Group A and Group B.
    The transaction goes for approval to the the member of approver group A and dayanoes not go any further. It should also have gone to the members of
    Approver Group B since they are nested and part of the group.
    The transaction exists in hr_api_transactions and the notifications appear in wf_notifcations as well.
    Any help would be greatly appreciated.
    Regards
    Narayan Pillai

  • Nested Security Groups in Device Collections

    Hi all,
    Is it possible to create a device collection with a dynamic query containing nested Security Groups(Active directory).
    Following is the a sample-
    Security Group 'A' has the following members-
    1) Security Group 'C'
    2) Security Group 'D'
    3) User 'John'
    4) User 'Dave'
    I'm trying to create a device-collection in SCCM 2012 referencing this Security Group 'A' and my intent is to have all members of SG 'C' & 'D' to be part of it along with John & Dave.
    thanks in advance.

    Within ConfigMgr, "Security Group A" will be listed as a Security Group Name with all the direct members of "Security Group A" and the members of "Security Group B" and "Security Group C".
    So, simply querying for "Security Group A" should be sufficient.
    My Blog: http://www.petervanderwoude.nl/
    Follow me on twitter: pvanderwoude

  • Nesting Virtual Groups

    Hi All-
    I want to know if it is possible to nest virtual groups within portal. I have the groups being created correctly however when I go (in User Administration) to assign parent or child groups to any virtual group I receive two alerts:
    -Group attributes successfully modified
    -An error occurred while adding group assignments; to see the correct status, perform a new assigned groups search.
    .....And no assignment is made. If I try to make the same type of assignment with non-virtual groups, all is OK.
    Is this a limitation to virtual groups?
    Tim

    Hi Tim,
    You cannot nest virtual groups nor assign other groups to virtual groups. Virtual groups are based on the value of a configured user attribute and determined at runtime. You can however make a virtual group a member of another group.
    http://help.sap.com/saphelp_nw04s/helpdata/en/46/1051e7b4d84251e10000000a1553f6/frameset.htm
    -Michael

  • Nested User Groups (Groups In Groups) to add in Local Built-in Administrators group of a workstation

    Hi,
    I'm a little bit confused with the way Microsoft design the nested groups.
    Scenario:
    We implement Restricted groups group policy to control the members of built-in Administrators group of every workstation in our office. The design was, to make managers domain user account to be member of built-in Administrators group of their subordinates
    workstations if ever they need administrative rights. So, result was there were many group policies created because we have some 30 departments. We come up to the solution that we create a domain global security group and add all the managers account as members
    and corporate help desk group, create a one single policy and join the created global security group, corporate help desk group and domain admins group to the built-in Administrators group of every workstation.
    Problem:
    We test the policy before we implement it, and a member of our created global security group successfully done an administrative action. But when we implement it, some manager user account doesn't recognize as administrator to the workstation. We did a little
    bit of research and supports the idea that nested groups was not good in the implementation of Nested groups.
    http://bittangents.com/2010/07/13/nested-user-groups-groups-in-groups-built-in-local-groups-issue/
    Question:
    Why is there a different effect of the policy? In our testing environment, it was successful, even a member of a nested group successfully done an administrative action, but some members of the global group declared as local Administrator group of the workstation
    was not?
    Appreciate any feedback.
    thanks.

    > when we implement it, some manager user account doesn't recognize as
    > administrator to the workstation.
    How many group memberships does this account have?
    run "dsquery user -samid <userid> | dsget user -memberof -expand" to
    enumerate.
    If the number is above 80 or 100, you might experience token bloat:
    http://blogs.technet.com/b/shanecothran/archive/2010/07/16/maxtokensize-and-kerberos-token-bloat.aspx
    Greetings/Grüße,
    Martin
    Mal ein
    gutes Buch über GPOs lesen?
    Good or bad GPOs? - my blog…
    And if IT bothers me -
    coke bottle design refreshment (-:

Maybe you are looking for

  • How do I prevent the ping sound in Firefox 4.0?

    Since recently upgrading to Firefox 4.0 I have been hearing a loud 'ping' type sound when certain websites are visited eg Google Mail. This is a new and unwelcome distraction! How can I stop it?

  • Keyboard mapping not working well

    Hi, I have this weird problem. My keyboard starting typing junk characters (the ones which comes after pressing option key). Apple tech guys told me that my keyboard needs to be replaced and I replaced it but still the same problem. Please refer the

  • Empty schema in master catalog

    Hi, I just did the basic setup CCM 2.0 on WAS 7.0 Now I see the master catalog has no standard schema yet. I read this willl be generated the first time it gets edited, but it is not. Is this right, and do I have to build this schema on my own, or is

  • How do I delete a message I posted?

    Hi, I've inadvertently posted an incomplete message on the forum & can't find how to delete! Please explain. Thanks, Paul Towle.

  • Xcode will not log on

    When I try to accesss the help files on x-code the system requires me to log on. When I try to put in my password the system tells me that index.xml is locked, when I try to unlock I am told that it is a remote file.  What do I need to unlock or chan