c# pdf viewer wpf : How to move pdf pages around software control project winforms azure html UWP vaug11-part502

The following display shows an example of pivoting by three values in the 
Product_Category column.
Display 9.7 Pivot Values
3
After the unique values for the column are loaded, select the check boxes for the 
values to use in the summarization. Click Apply.
The following display shows an example of the Column Editor tab when a pivot by 
column is used. The minimum and maximum Total_Retail_Price are calculated for each 
Customer_ID and are then pivoted by (transposed by) three values of the 
Product_Category column.
Display 9.8 Column Editor Tab with a Pivot By Column
Using the Pivot By Feature
71
How to move pdf pages around - re-order PDF pages in C#.net, ASP.NET, MVC, Ajax, WinForms, WPF
Support Customizing Page Order of PDF Document in C# Project
how to rearrange pages in a pdf file; how to move pages around in a pdf document
How to move pdf pages around - VB.NET PDF Page Move Library: re-order PDF pages in vb.net, ASP.NET, MVC, Ajax, WinForms, WPF
Sort PDF Document Pages Using VB.NET Demo Code
how to reorder pdf pages in reader; pdf move pages
TIP  TRP is specified as a label for the Total_Retail_Price column. Look at the next 
display to see how the label is used to create labels for the new columns.
The following display shows how pivoting the Customer_ID column by three values of 
the Product_Category column results in additional output columns. A substring of the 
pivot by values is used as a prefix to each column name and the aggregate function is 
used as a suffix. The pivot by column label and aggregate function are used in the 
output column label.
Display 9.9 Output Columns Tab with Pivot By Values
72
Chapter 9 9 / / Working with Columns
C# HTML5 PDF Viewer SDK to view PDF document online in C#.NET
Page: Replace PDF Pages. Page: Move Page Position. Page: Extract, Copy and Paste PDF Pages. View PDF document in continuous pages display mode. 10. Zoom out.
how to move pages in pdf files; how to rearrange pdf pages online
VB.NET PDF- View PDF Online with VB.NET HTML5 PDF Viewer
Page: Replace PDF Pages. Page: Move Page Position. Page: Copy, Paste PDF Pages. Page: Rotate a PDF Page. View PDF document in continuous pages display mode.
reorder pages pdf file; change pdf page order reader
10
Working with Query Filters
About Filtering Data 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
73
Specifying a WHERE Clause 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
73
Specifying a HAVING Clause 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
75
Best Practices for Filters 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
76
About Filtering Data
You can use the Where and Having tabs to filter data in SAS Visual Data Builder.
The SQL expression on the Where tab is applied to the input data. This SQL expression 
is often used to subset data on the columns in the source tables.
The SQL expression on the Having tab can be applied to either the input data or the 
calculated columns. This SQL expression is typically used to subset data on calculated 
columns in the output table.
Specifying a WHERE Clause
To add a WHERE clause to a query:
1
Click the Where tab.
73
C# WPF PDF Viewer SDK to view PDF document in C#.NET
Page: Replace PDF Pages. Page: Move Page Position. Page: Extract extract, copy, paste, C#.NET rotate PDF pages, C#.NET document on RasterEdge C#.NET WPF PDF Viewer
how to move pages in pdf; move pages in pdf document
VB.NET PDF - View PDF with WPF PDF Viewer for VB.NET
Page: Replace PDF Pages. Page: Move Page Position. Page: Copy extract, copy, paste, C#.NET rotate PDF pages, C#.NET document on RasterEdge VB.NET WPF PDF Viewer.
reverse page order pdf online; change page order in pdf online
On the Fields tab, expand the table node, and select the column to use for filtering 
data.
TIP You can type in Filter fields to locate the column.
3
Double-click the column or drag and drop it in the SQL expression area.
(Optional) You can click the Functions tab and select the functions to use with 
filtering.
5
For character variables, you can click Unique Values to load the unique values of 
the column. Select the check boxes to specify the unique values to include in the 
filter.
Click Apply to add the unique values to the SQL expression area.
Edit the WHERE clause in the SQL expression area as follows:
Number of Values
Edit
Example
A single character value
Add an equal sign between 
the column name and the 
unique value.
CARS.Make 
= 'Acura'
More than one character 
value
Specify an IN operator and 
enclose the unique values in 
parentheses.
CARS.Make 
IN (
'Acura', 'Audi'
)
Numeric comparison
Specify a numeric operator 
and a constant, or specify a 
numeric operator and 
another column name.
CARS.Cylinders 
>= 6
PRDSALE.Actual 
> PRDSALE.Estimate
7
Click 
to save the filter with the query.
74
Chapter 10 0 / / Working with Query Filters
Specifying a HAVING Clause
To add a HAVING clause to a query:
1
Click the Having tab.
On the Fields tab, expand the table node, and select the column to use for filtering 
data. The Output Columns node includes the calculated columns.
TIP You can type in Filter fields to locate the column.
3
Double-click the column or drag and drop it in the SQL expression area.
(Optional) You can click the Functions tab and select the functions to use with 
filtering.
5
For character variables, you can click Unique Values to load the unique values of 
the column. Select the check boxes to specify the unique values to include in the 
filter.
Click Apply to add the unique values to the SQL expression area.
Edit the HAVING clause in the SQL expression area as follows:
Number of Values
Edit
Example
A single character value
Add an equal sign between 
the column name and the 
unique value.
CARS.Make 
= 'Acura'
More than one character 
value
Specify an IN operator and 
enclose the unique values in 
parentheses.
CARS.Make 
IN (
'Acura', 'Audi'
)
Specifying a HAVING Clause
75
Number of Values
Edit
Example
Numeric comparison
Specify a numeric operator 
and a constant, or specify a 
numeric operator and 
another column name.
AVG(CARS.Horsepower) 
>= 165
PRDSALE.Actual 
> PRDSALE.Estimate
7
Click 
to save the filter with the query.
Best Practices for Filters
SAS Visual Data Builder provides the Where and Having tabs for filtering data. Follow 
these best practices:
n
Filter on the Where tab first because the WHERE clause reduces the rows to 
consider for further subsetting.
n
When you specify a filter on a column that is an index or primary key, avoid using a 
function whenever it is possible. Using a function, such as CAST(order_id as 
DOUBLE), risks performing a full-table scan rather than using the index.
n
Filter on the table that has the smallest number of rows first.
n
If you need to remove a table that is used on the Where or Having tabs, then 
remove the reference to the table from the filters before you remove the table from 
the query. Otherwise, if you remove a table that is referenced in a filter, then all of 
the filtering conditions are cleared.
76
Chapter 10 0 / / Working with Query Filters
11
Working with Joins
About Joins 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
77
How Does the Automatic Join Feature Work? 
. . . . . . . . . . . . . . . . . . . . . . 
78
Feature Overview 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
78
Using Foreign and Primary Keys 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
78
Matching by Name 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
79
Selecting the Join Type 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
79
Adding a Join 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
80
Dragging and Dropping Join Lines 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
80
Using the Joins Tab 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
80
Removing a Join 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
81
Managing Joins in a Query 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
81
Best Practices for Managing Joins 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
82
About Joins
SAS Visual Data Builder supports joins for tables and subqueries. You can join tables to 
each other, including self joins. You can join subqueries to tables and join subqueries to 
subqueries. When you use a subquery in a join, the join condition is made against the 
output table for the subquery. The data builder supports joining up to 256 tables.
When you drop a table or subquery onto the workspace, the data builder attempts to 
determine a join condition automatically. When the data builder creates a join 
77
automatically using foreign keys or by matching columns, the join is added as an inner 
join. The data builder also supports left, right, and full joins. You need to specify the join 
type manually if you do not want an inner join.
In addition to easily adding joins to a query, SAS Visual Data Builder generates an SQL 
statement with all of the joins declared explicitly. For example, you can specify an inner 
join in a WHERE clause, such as WHERE t1.order_id=t2.order_id. However, 
mixing inner joins in a WHERE clause and outer join types in a single query can be 
complex to read and understand.
SAS Visual Data Builder always generates an SQL statement with inner joins declared 
explicitly. For example, see the following code sample:
LEFT JOIN
LIB1.TRANSACTION_TYPE_DIM TRANSACTION_TYPE_DIM 
ON CASH_FLOW_FACT.TRANSACTION_TYPE_KEY = 
TRANSACTION_TYPE_DIM.TRANSACTION_TYPE_KEY 
INNER JOIN
LIB1.TRANSACTION_DIM TRANSACTION_DIM 
ON PARTY_DIM.SEGMENT_ID = TRANSACTION_DIM.SEGMENT_ID 
AND PARTY_DIM.TRANSACTION_KEY = TRANSACTION_DIM.TRANSACTION_KEY
How Does the Automatic Join Feature 
Work?
Feature Overview
SAS Visual Data Builder attempts to join tables and queries automatically as you add 
them to the workspace. When you drag and drop a table or query onto the workspace, 
information about the table or query is retrieved from the SAS Metadata Server. For 
subqueries, the metadata for the output table is retrieved.
Using Foreign and Primary Keys
If primary key or foreign key information is registered in the metadata for the table that 
you drag and drop onto the workspace, then the data builder retrieves the foreign key 
and primary key information.
78
Chapter 11 1 / / Working with Joins
The data builder then iterates over each of the tables that are already in the workspace 
in the same sequence in which they were added to the workspace. The data builder 
retrieves the foreign key and primary key information for the table, and compares the 
length, type, and name with the key columns for the newly added table. If a match is 
found, then the tables are used in the join, and the columns are added as a join 
condition. The data builder continues to search for matches between the two tables, and 
it adds join conditions when possible. After a set of join tables is identified, the data 
builder does not continue iterating over the tables that are already in the workspace.
Matching by Name
If there is no foreign key or primary key information for the table that is dragged and 
dropped onto the workspace, then the data builder does not use foreign key or primary 
key information for the tables already in the workspace.
The data builder retrieves the column information for all of the columns in the newly 
added table. The data builder then iterates over each of the tables that are already in 
the workspace in the same sequence in which they were added to the workspace. The 
data builder compares the length, type, and name for each column with each column in 
the newly added table. If a match is found, then the tables are used in the join, and the 
columns are added as a join condition. The data builder does not continue to search for 
matches between the two tables, and it does not continue iterating over the tables that 
are already in the workspace.
Selecting the Join Type
When the data builder finds the first set of matching columns by comparing keys or 
matching names, it sets the join type for the two tables. The data builder checks the 
metadata for the columns to determine whether the columns are nullable. The data 
builder performs the following steps to set the join type:
1
If the column for the existing table is not nullable, but the column for the newly added 
table is nullable, the tables use a left join.
If the column for the existing table is nullable, but the column for the newly added 
table is not nullable, the tables use a right join.
How Does the Automatic Join Feature Work?
79
If both columns for the existing table and newly added table are nullable, the tables 
use a full join.
4
If none of the previous conditions are met, the tables use an inner join.
You can specify the join type by right-clicking on the join icon, and selecting the join 
type from the menu.
Adding a Join
Dragging and Dropping Join Lines
To add a join by selecting a column name and dragging your pointer to another column:
Place your pointer on one of the columns in a table to use, and then click and drag 
your pointer to a column in the other table to use in the join.
2
If you want a join type other than an inner join, select the join, right-click, and then 
select the join type.
TIP The first table that is added to the workspace is always set as the left table. You 
can switch the right table and left table by using the Joins tab.
Using the Joins Tab
To add a join condition by specifying the join properties:
Click the Joins tab.
2
Click 
.
3
Use the menus to replace Not Selected with the table names to use in the join. Click 
Save.
80
Chapter 11 1 / / Working with Joins
Documents you may be interested
Documents you may be interested