This example shows a selection of programming code document references specified in the documentRef attribute of the codeTemplate for 1 analysis method, and the programmingCode for 1 analysis and 2 outputs:the definition and results for a single analysis, "Summary of Subjects by Treatment and Sex", including the definitions of the grouping factors and method referenced by the analysis. This example illustrates the use of the groupingId and groupId attributes of the ResultGroup class to associate results with groups in results-by-group grouping factors with predefined groups.
Xfancy |
---|
|
Lines 1-33: | Show the definitions of the 2 grouping factors referenced by the analysis, both of which are not data-driven (dataDriven = false, shown on lines 6 and 24): - Lines 2-19: Show the definition of the "Treatment" grouping factor, which has 3 groups: "Placebo", "Xanomeline Low Dose", and "Xanomeline High Dose".
- Lines 20-33: Show the definition of the "Sex" grouping factor, which has 2 groups: "Male" and "Female".
| Lines 34-48: | Show the definition of the method referenced by the analysis, "Summary by group of a categorical variable", which has 2 operations: - Lines 38-42: Show the definition of the "Count of subjects" operation.
- Lines 43-47: Show the definition of the "Percent of subjects" operation.
| Lines 49-62: | Show the definition of the analysis: - Lines 53-54: Show that this is an analysis of the USUBJID variable in the ADSL dataset.
- Line 55: Shows the reference to the "Summary by group of a categorical variable" method.
- Lines 56-62: Show the references to the 2 grouping factors, both of which are marked as producing a result for each group in the grouping factor (resultsByGroup = true, shown on lines 58 and 61).
| Lines 63-161 | Show the list of results for the analysis. Each entry in the list (starting with the operationId attribute preceded by a hyphen) represents an instance of the OperationResult class and contains: - The identifier value of the statistical operation performed, which is in the operationId attribute.
- In the resultGroups attribute, a reference to both grouping factor groups associated with the result (indicated by the values of the groupingId and groupId attributes)
- The raw result value in the rawValue attribute, and
- In the formattedValue attribute, the result value formatted according to the pattern specified in the resultPattern attribute of the operation referenced by the operationId value. The specified patterns are shown on rows 42 and 47.
|
|
Code Block |
---|
title | YAML Example |
---|
linenumbers | true |
---|
|
analysisGroupings:
- id: AnlsGrouping_01_Trt
name: Treatment
groupingDataset: ADSL
groupingVariable: TRT01A
dataDriven: false
groups:
- id: AnlsGrouping_01_Trt_1
name: Placebo
order: 1
...
- id: AnlsGrouping_01_Trt_2
name: Xanomeline Low Dose
order: 2
...
- id: AnlsGrouping_01_Trt_3
name: Xanomeline High Dose
order: 3
...
- id: AnlsGrouping_02_Sex
name: Sex
groupingDataset: ADSL
groupingVariable: SEX
dataDriven: false
groups:
- id: AnlsGrouping_02_Sex_1
name: Male
order: 1
...
- id: AnlsGrouping_02_Sex_2
name: Female
order: 2
...
|
Xfancy |
---|
|
Lines 2-7: | Show the code template specified for the "Analysis of variance group comparison for a continuous variable" analysis method, which indicates that relevant R version 4.2.3 program statements can be found in the reference document identified as "anova_R". As there is no page reference, this indicates that the whole reference document contains relevant program statements. |
Lines 11-25: | Show the programming code specification for the "Comparison of Age Group by Treatment" analysis, which indicates that relevant SAS version 9.4 program statements can be found in the reference document identified as "PROGRAM_CATALOG_SAS" which, in this example, is a single file containing a combined set of programs, with a bookmark created for each program. The sponsor chose to create two separate page references in order to provide a descriptive label for each. |
Lines 29-34: | Show the programming code specification for the "Summary of TEAE by System Organ Class and Preferred Term" output, which indicates that relevant SAS version 9.4 program statements can be found in the reference document identified as "at14-5-01_sas". As there is no page reference, this indicates that the whole reference document contains relevant program statements. |
Code Block |
---|
title | YAML Example |
---|
linenumbers | true |
---|
|
methods:
- id: Mth01_CatVar_Summ_ByGrp
name: Summary by group of a categorical variable
operations:
- id: Mth01_CatVar_Summ_ByGrp_1_n
name: Count of subjects
label: n
order: 1
resultPattern: XXX
- id: Mth01_CatVar_Summ_ByGrp_2_pct
name: Percent of subjects
label: '%'
order: 2
resultPattern: ( XX.X)
...
...
analyses:
- id: An03_03_Sex_Summ_ByTrt
name: Summary of Subjects by Treatment and Sex
version: 11
dataset: ADSL
variable: USUBJID
methodId: Mth01_CatVar_Summ_ByGrp
analysisSetId: AnalysisSet_02_SAF
orderedGroupings:
- order: 1
resultsByGroup: true
groupingId: AnlsGrouping_01_Trt
- order: 2
resultsByGroup: true
groupingId: AnlsGrouping_02_Sex
results:
- operationId: Mth01_CatVar_Summ_ByGrp_1_n
resultGroups:
- groupingId: AnlsGrouping_01_Trt
groupId: AnlsGrouping_01_Trt_1
- groupingId: AnlsGrouping_02_Sex
groupId: AnlsGrouping_02_Sex_1
rawValue: '33'
formattedValue: '33'
- operationId: Mth01_CatVar_Summ_ByGrp_1_n
resultGroups:
- groupingId: AnlsGrouping_01_Trt
groupId: AnlsGrouping_01_Trt_1
- groupingId: AnlsGrouping_02_Sex
groupId: AnlsGrouping_02_Sex_2
rawValue: '53'
formattedValue: '53'
- operationId: Mth01_CatVar_Summ_ByGrp_1_n
resultGroups:
- groupingId: AnlsGrouping_01_Trt
groupId: AnlsGrouping_01_Trt_2
- groupingId: AnlsGrouping_02_Sex
groupId: AnlsGrouping_02_Sex_1
rawValue: '34'
formattedValue: '34'
- operationId: Mth01_CatVar_Summ_ByGrp_1_n
resultGroups:
- groupingId: AnlsGrouping_01_Trt
groupId: AnlsGrouping_01_Trt_2
- groupingId: AnlsGrouping_02_Sex
groupId: AnlsGrouping_02_Sex_2
rawValue: '50'
formattedValue: '50'
- operationId: Mth01_CatVar_Summ_ByGrp_1_n
resultGroups:
- groupingId: AnlsGrouping_01_Trt
groupId: AnlsGrouping_01_Trt_3
- groupingId: AnlsGrouping_02_Sex
groupId: AnlsGrouping_02_Sex_1
rawValue: '44'
formattedValue: '44'
- operationId: Mth01_CatVar_Summ_ByGrp_1_n
resultGroups:
- groupingId: AnlsGrouping_01_Trt
groupId: AnlsGrouping_01_Trt_3
- groupingId: AnlsGrouping_02_Sex
groupId: AnlsGrouping_02_Sex_2
rawValue: '40'
formattedValue: '40'
- operationId: Mth01_CatVar_Summ_ByGrp_2_pct
resultGroups:
- groupingId: AnlsGrouping_01_Trt
groupId: AnlsGrouping_01_Trt_1
- groupingId: AnlsGrouping_02_Sex
groupId: AnlsGrouping_02_Sex_1
rawValue: '38.372093023255815'
formattedValue: ( 38.4)
- operationId: Mth01_CatVar_Summ_ByGrp_2_pct
resultGroups:
- groupingId: AnlsGrouping_01_Trt
groupId: AnlsGrouping_01_Trt_1
- groupingId: AnlsGrouping_02_Sex
groupId: AnlsGrouping_02_Sex_2
rawValue: '61.627906976744185'
formattedValue: ( 61.6)
- operationId: Mth01_CatVar_Summ_ByGrp_2_pct
resultGroups:
- groupingId: AnlsGrouping_01_Trt
groupId: AnlsGrouping_01_Trt_2
- groupingId: AnlsGrouping_02_Sex
groupId: AnlsGrouping_02_Sex_1
rawValue: '40.476190476190474'
formattedValue: ( 40.5)
- operationId: Mth01_CatVar_Summ_ByGrp_2_pct
resultGroups:
- groupingId: AnlsGrouping_01_Trt
groupId: AnlsGrouping_01_Trt_2
- groupingId: AnlsGrouping_02_Sex
groupId: AnlsGrouping_02_Sex_2
rawValue: '59.523809523809526'
formattedValue: ( 59.5)
- operationId: Mth01_CatVar_Summ_ByGrp_2_pct
resultGroups:
- groupingId: AnlsGrouping_01_Trt
groupId: AnlsGrouping_01_Trt_3
- groupingId: AnlsGrouping_02_Sex
groupId: AnlsGrouping_02_Sex_1
rawValue: '52.38095238095238'
formattedValue: ( 52.4)
- operationId: Mth01_CatVar_Summ_ByGrp_2_pct
resultGroups:
- groupingId: AnlsGrouping_01_Trt
groupId: AnlsGrouping_01_Trt_3
- groupingId: AnlsGrouping_02_Sex
groupId: AnlsGrouping_02_Sex_2
rawValue: '47.61904761904762'
formattedValue: ( 47.6)
...
... |
The results for this analysis could be represented in tabular format as shown in the following table, where the value of the id attribute of the analysis is shown in the "analysisId" column and the groupingId and groupId values from the 2 two instances of the ResultGroup class found in the resultGroups attribute for each each result are represented in separate pairs of columns ("resultGroup1_groupingIdgroupingId1"/"resultGroup1_groupIdgroupId1" and "resultGroup2_groupingIdgroupingId2"/"resultGroup2_groupIdgroupId2") so that each result is represented on a single row:
Dataset2 |
---|
analysis_idresultGroup1_groupingId | resultGroup1_groupId | resultGroup2_groupingId | resultGroup2_groupIdgroupingId1 | groupId1 | groupingId2 | groupId2 | rawValue | formattedValue |
---|
An03_03_Sex_Summ_ByTrt | Mth01_CatVar_Summ_ByGrp_1_n | AnlsGrouping_01_Trt | AnlsGrouping_01_Trt_1 | AnlsGrouping_02_Sex | AnlsGrouping_02_Sex_1 | 33 | 33 | An03_03_Sex_Summ_ByTrt | Mth01_CatVar_Summ_ByGrp_1_n | AnlsGrouping_01_Trt | AnlsGrouping_01_Trt_1 | AnlsGrouping_02_Sex | AnlsGrouping_02_Sex_2 | 53 | 53 | An03_03_Sex_Summ_ByTrt | Mth01_CatVar_Summ_ByGrp_1_n | AnlsGrouping_01_Trt | AnlsGrouping_01_Trt_2 | AnlsGrouping_02_Sex | AnlsGrouping_02_Sex_1 | 34 | 34 | An03_03_Sex_Summ_ByTrt | Mth01_CatVar_Summ_ByGrp_1_n | AnlsGrouping_01_Trt | AnlsGrouping_01_Trt_2 | AnlsGrouping_02_Sex | AnlsGrouping_02_Sex_2 | 50 | 50 | An03_03_Sex_Summ_ByTrt | Mth01_CatVar_Summ_ByGrp_1_n | AnlsGrouping_01_Trt | AnlsGrouping_01_Trt_3 | AnlsGrouping_02_Sex | AnlsGrouping_02_Sex_1 | 44 | 44 | An03_03_Sex_Summ_ByTrt | Mth01_CatVar_Summ_ByGrp_1_n | AnlsGrouping_01_Trt | AnlsGrouping_01_Trt_3 | AnlsGrouping_02_Sex | AnlsGrouping_02_Sex_2 | 40 | 40 | An03_03_Sex_Summ_ByTrt | Mth01_CatVar_Summ_ByGrp_2_pct | AnlsGrouping_01_Trt | AnlsGrouping_01_Trt_1 | AnlsGrouping_02_Sex | AnlsGrouping_02_Sex_1 | 38.3720930232558 | ( 38.4) | An03_03_Sex_Summ_ByTrt | Mth01_CatVar_Summ_ByGrp_2_pct | AnlsGrouping_01_Trt | AnlsGrouping_01_Trt_1 | AnlsGrouping_02_Sex | AnlsGrouping_02_Sex_2 | 61.6279069767442 | ( 61.6) | An03_03_Sex_Summ_ByTrt | Mth01_CatVar_Summ_ByGrp_2_pct | AnlsGrouping_01_Trt | AnlsGrouping_01_Trt_2 | AnlsGrouping_02_Sex | AnlsGrouping_02_Sex_1 | 40.4761904761905 | ( 40.5) | An03_03_Sex_Summ_ByTrt | Mth01_CatVar_Summ_ByGrp_2_pct | AnlsGrouping_01_Trt | AnlsGrouping_01_Trt_2 | AnlsGrouping_02_Sex | AnlsGrouping_02_Sex_2 | 59.5238095238095 | ( 59.5) | An03_03_Sex_Summ_ByTrt | Mth01_CatVar_Summ_ByGrp_2_pct | AnlsGrouping_01_Trt | AnlsGrouping_01_Trt_3 | AnlsGrouping_02_Sex | AnlsGrouping_02_Sex_1 | 52.3809523809524 | ( 52.4) | An03_03_Sex_Summ_ByTrt | Mth01_CatVar_Summ_ByGrp_2_pct | AnlsGrouping_01_Trt | AnlsGrouping_01_Trt_3 | AnlsGrouping_02_Sex | AnlsGrouping_02_Sex_2 | 47.6190476190476 | ( 47.6) |
|
Alternatively, to aid readability, each of the identifier values could be used to retrieve and include additional the name or label (or any other descriptive information) from the definitions of the analysis, operations, grouping factors, and groups:
Dataset2 |
---|
analysis_id | analysis_nameanalysisId | operationId | operation_label |
---|
resultGroup1_groupingIdresultGroup1_labelresultGroup1_groupIdresultGroup1_labelresultGroup2_groupingIdresultGroup2_labelresultGroup2_groupIdresultGroup2_labelname2 | rawValue | formattedValue |
---|
An03_03_Sex_Summ_ByTrt | Summary of Subjects by Treatment and Sex | Mth01_CatVar_Summ_ByGrp_1_n | n | AnlsGrouping_01_Trt | Treatment | AnlsGrouping_01_Trt_1 | Placebo | AnlsGrouping_02_Sex | GenderSex | AnlsGrouping_02_Sex_1 | Male | 33 | 33 | An03_03_Sex_Summ_ByTrt | Summary of Subjects by Treatment and Sex | Mth01_CatVar_Summ_ByGrp_1_n | n | AnlsGrouping_01_Trt | Treatment | AnlsGrouping_01_Trt_1 | Placebo | AnlsGrouping_02_Sex | GenderSex | AnlsGrouping_02_Sex_2 | Female | 53 | 53 | An03_03_Sex_Summ_ByTrt |
Summary of Subjects by Treatment and Sex | Mth01_CatVar_Summ_ByGrp_1_n | n | AnlsGrouping_01_Trt | Treatment | AnlsGrouping_01_Trt_2 | Xanomeline Low Dose | AnlsGrouping_02_Sex | GenderSex | AnlsGrouping_02_Sex_1 | Male | 34 | 34 | An03_03_Sex_Summ_ByTrt | Summary of Subjects by Treatment and Sex | Mth01_CatVar_Summ_ByGrp_1_n | n | AnlsGrouping_01_Trt | Treatment | AnlsGrouping_01_Trt_2 | Xanomeline Low Dose | AnlsGrouping_02_Sex | GenderSex | AnlsGrouping_02_Sex_2 | Female | 50 | 50 | An03_03_Sex_Summ_ByTrt |
Summary of Subjects by Treatment and Sex | Mth01_CatVar_Summ_ByGrp_1_n | n | AnlsGrouping_01_Trt | Treatment | AnlsGrouping_01_Trt_3 | Xanomeline High Dose | AnlsGrouping_02_Sex | GenderSex | AnlsGrouping_02_Sex_1 | Male | 44 | 44 | An03_03_Sex_Summ_ByTrt | Summary of Subjects by Treatment and Sex | Mth01_CatVar_Summ_ByGrp_1_n | n | AnlsGrouping_01_Trt | Treatment | AnlsGrouping_01_Trt_3 | Xanomeline High Dose | AnlsGrouping_02_Sex | GenderSex | AnlsGrouping_02_Sex_2 | Female | 40 | 40 | An03_03_Sex_Summ_ByTrt | Summary of Subjects by Treatment and Sex | Mth01_CatVar_Summ_ByGrp_2_pct | % | AnlsGrouping_01_Trt | Treatment | AnlsGrouping_01_Trt_1 | Placebo | AnlsGrouping_02_Sex | GenderSex | AnlsGrouping_02_Sex_1 | Male | 38.3720930232558 | ( 38.4) | An03_03_Sex_Summ_ByTrt | Summary of Subjects by Treatment and Sex | Mth01_CatVar_Summ_ByGrp_2_pct | % | AnlsGrouping_01_Trt | Treatment | AnlsGrouping_01_Trt_1 | Placebo | AnlsGrouping_02_Sex | GenderSex | AnlsGrouping_02_Sex_2 | Female | 61.6279069767442 | ( 61.6) | An03_03_Sex_Summ_ByTrt | Summary of Subjects by Treatment and Sex | Mth01_CatVar_Summ_ByGrp_2_pct | % | AnlsGrouping_01_Trt | Treatment | AnlsGrouping_01_Trt_2 | Xanomeline Low Dose | AnlsGrouping_02_Sex | GenderSex | AnlsGrouping_02_Sex_1 | Male | 40.4761904761905 | ( 40.5) | An03_03_Sex_Summ_ByTrt | Summary of Subjects by Treatment and Sex | Mth01_CatVar_Summ_ByGrp_2_pct | % | AnlsGrouping_01_Trt | Treatment | AnlsGrouping_01_Trt_2 | Xanomeline Low Dose | AnlsGrouping_02_Sex | GenderSex | AnlsGrouping_02_Sex_2 | Female | 59.5238095238095 | ( 59.5) | An03_03_Sex_Summ_ByTrt |
Summary of Subjects by Treatment and Sex | Mth01_CatVar_Summ_ByGrp_2_pct | % | AnlsGrouping_01_Trt | Treatment | AnlsGrouping_01_Trt_3 | Xanomeline High Dose | AnlsGrouping_02_Sex | GenderSex | AnlsGrouping_02_Sex_1 | Male | 52.3809523809524 | ( 52.4) | An03_03_Sex_Summ_ByTrt |
Summary of Subjects by Treatment and Sex | Mth01_CatVar_Summ_ByGrp_2_pct | % | AnlsGrouping_01_Trt | Treatment | AnlsGrouping_01_Trt_3 | Xanomeline High Dose | AnlsGrouping_02_Sex | GenderSex | AnlsGrouping_02_Sex_2 | Female | 47.6190476190476 | ( 47.6) |
|