有人詢問 Excel 堆疊長條圖上,要如何顯示各堆疊的百分比
資料準備,百分筆資料是利用公式從基礎資料產生
利用基礎資料產生堆疊長條圖後,點選 "台北資料標籤" ,選擇分隔符號為"換行"並勾選儲存格的值、點選資料範圍
選擇台北 Q1 - Q4 的百分比資料為資料來源,重複進行台中、高雄的設定
設定完成圖,如下
使用 Office 2013 來練習實做的
星期四, 1月 29, 2015
星期三, 1月 28, 2015
[SSRS] 分頁固定筆數
延續 [SSRS] 強迫分頁 這篇文章的問題,論壇問題出處
利用 CTE 跑出每個部門每頁 10 筆資料 Table,EX:部門有 12 位,該部門就要有 20 筆資料存在
下圖可見,雖然 Purchasing 部門只有 12 筆資料,但經過處理會產生 20 筆資料
品名下每六筆資料就進行換頁,換頁的部分我已經有爬過 Google 上面的文章搞定了,但問題出在不滿六筆該如何把它補滿六筆以下文章練習:
- 每頁要補滿 10 筆資料,沒有資料也要把資料空間顯示出來
- 設定群組檔頭,讓每一頁都可以顯示檔頭資訊
利用 CTE 跑出每個部門每頁 10 筆資料 Table,EX:部門有 12 位,該部門就要有 20 筆資料存在
;
WITH CTE AS
(
SELECT
D.DepartmentID AS DepID ,
1 AS StartNO ,
(((COUNT(D.DepartmentID) - 1) / 10) + 1) * 10 AS EndNO
FROM Person.Person AS P
JOIN HumanResources.EmployeeDepartmentHistory AS H ON P.BusinessEntityID = H.BusinessEntityID
JOIN HumanResources.Department AS D ON H.DepartmentID = D.DepartmentID
WHERE H.EndDate IS NULL
GROUP BY D.DepartmentID
UNION ALL
SELECT
DepID ,
StartNO + 1 ,
EndNO
FROM CTE
WHERE StartNO < EndNO
)
SELECT
T1.DepID ,
T2.DepName,
((T1.StartNO - 1) / 10 ) + 1 AS Group10 ,
T1.StartNO AS GroupNO,
T2.LastName,
T2.FirstName,
T2.EmailAddress
FROM CTE AS T1
LEFT JOIN
(
SELECT
D.DepartmentID AS DepID ,
D.Name AS DepName ,
ROW_NUMBER() OVER (PARTITION BY D.DepartmentID ORDER BY D.DepartmentID,P.LastName) AS GroupNO,
P.LastName ,
P.FirstName ,
A.EmailAddress
FROM Person.Person AS P
JOIN Person.EmailAddress AS A ON P.BusinessEntityID = A.BusinessEntityID
JOIN HumanResources.EmployeeDepartmentHistory AS H ON P.BusinessEntityID = H.BusinessEntityID
JOIN HumanResources.Department AS D ON H.DepartmentID = D.DepartmentID
WHERE H.EndDate IS NULL
) AS T2 ON T1.DepID = T2.DepID
AND T1.StartNO = T2.GroupNO
ORDER BY T1.DepID , T1.StartNO
OPTION (maxrecursion 0)
下圖可見,雖然 Purchasing 部門只有 12 筆資料,但經過處理會產生 20 筆資料
星期二, 1月 27, 2015
[VS] XML 註解
星期一, 1月 26, 2015
[Azure] 安裝、設定 PowerShell
學習 Azure 時,發現到有些設定,目前沒有辦法透過管理介面來設定,還是必須透過 PowerShell 來完成。
Step1:下載安裝 PowerShell
從 Windows Azure 官網 => 下載 Tag => Azure 命令列介面 => Windows 安裝
透過 Web Platform installer 5.0 來安裝 PowerShell,安裝過程會先安裝 MicrosoftAzure Cross-platform Command Line Tools
之後必須再安裝 Windows Azure PowerShell 和 Microsoft Azure PowerShell (Standalone)(Chinese)
Step1:下載安裝 PowerShell
從 Windows Azure 官網 => 下載 Tag => Azure 命令列介面 => Windows 安裝
透過 Web Platform installer 5.0 來安裝 PowerShell,安裝過程會先安裝 MicrosoftAzure Cross-platform Command Line Tools
之後必須再安裝 Windows Azure PowerShell 和 Microsoft Azure PowerShell (Standalone)(Chinese)
星期六, 1月 24, 2015
[C#] 存取修飾詞
遠距教學時提到,順道整理以前的資料
MSDN 說明
表格化
簡易圖式範例
在一個 solution 中有兩個 project,在 class A 內宣告各種存取修飾詞變數,並分別在其他 class 中標示可存取的變數
MSDN 說明
宣告存取範圍 | 意義 |
---|---|
public | 存取沒有限制 |
protected | 存取只限於包含的類別或衍生自包含類別的型別 |
internal | 存取只限於目前的組件 |
protected internal | 存取只限於目前的組件或衍生自包含類別的型別 |
private | 存取只限於包含類別 |
表格化
存取權 | base class | derived class | assembly | world |
---|---|---|---|---|
private | X | |||
protected | X | X | ||
internal | X | X | ||
protected internal | X | X | X | |
public | X | X | X | X |
簡易圖式範例
在一個 solution 中有兩個 project,在 class A 內宣告各種存取修飾詞變數,並分別在其他 class 中標示可存取的變數
- 顏色說明
- 灰色代表 Project (Assembly)
- 橘色代表 class
- 棕色代表變數
- 紅色代表可存取 class A 的變數
- 綠色代表繼承,class C 繼承 class A
宣告 | 預設值 |
---|---|
namespace | public |
class | internal |
member | private |
星期五, 1月 23, 2015
[SSRS] 強迫分頁
在 [SSRS] 分頁頁碼 中有網友詢問,問題如下
Step1:修正 T-SQL 語法
在 T-SQL 語法內把各組人員再進行分組,每 10 位為一組,T-SQL 邏輯可參考這篇 Blog 筆記 [SQL] 次序函數應用-資料分組
你好,我有個也是關於顯示筆數的問題想請教你,若你有閒餘時間,期望你能撥空幫我想想,我的問題如下:把 [SSRS] 分頁頁碼 這篇筆記繼續往下延伸,目標是把各組別內的人員,每 10 位為一頁
我的報表內需要顯示兩個欄位,並顯示在同一行;其中主要的欄位是品名,另一欄位則是品名的雜項支出,雜項支出顯示在每個品名的下面緊鄰著品名;目前我的品名是直接顯示在父報表內,雜項支出我是用子報表顯示於品名下方。
Question:請問我可以控制品名和雜項支出一頁只顯示六筆,超過就放下一頁。
Step1:修正 T-SQL 語法
在 T-SQL 語法內把各組人員再進行分組,每 10 位為一組,T-SQL 邏輯可參考這篇 Blog 筆記 [SQL] 次序函數應用-資料分組
SELECT
D.DepartmentID AS DepID ,
D.Name AS DepName ,
((ROW_NUMBER() OVER (PARTITION BY D.DepartmentID ORDER BY D.DepartmentID,P.LastName) - 1) / 10) + 1 AS Group10,
P.LastName ,
P.FirstName ,
A.EmailAddress
FROM Person.Person AS P
JOIN Person.EmailAddress AS A ON P.BusinessEntityID = A.BusinessEntityID
JOIN HumanResources.EmployeeDepartmentHistory AS H ON P.BusinessEntityID = H.BusinessEntityID
JOIN HumanResources.Department AS D ON H.DepartmentID = D.DepartmentID
WHERE H.EndDate IS NULL
從下圖可以看見 Purchasing 部門有 12 筆資料,也就是說 SSRS 那應該分為兩頁來顯示星期一, 1月 19, 2015
[Azure] 自動調整規模
該篇筆記為 [Azure] VM - 負載平衡和高可用性 延伸,自動調整規模是依照實際使用量自動增加或減少 "雲端服務規模"。
沒有設定可用性群組的雲端服務是無法進行自動調整規模
有設定可用性群組的雲端服務 => 調整規模 => 設定排程時間
沒有設定可用性群組的雲端服務是無法進行自動調整規模
有設定可用性群組的雲端服務 => 調整規模 => 設定排程時間
星期五, 1月 16, 2015
[SQL] 複製欄位描述
論壇問題
須先建立 Source DB 和 Destination DB ,兩個 DB 中內含的 Employ Table
要把 Source DB Table 欄位描述複製至目地 DB Table 中測試環境簡易說明
須先建立 Source DB 和 Destination DB ,兩個 DB 中內含的 Employ Table
USE [Source] -- 須先建立 Source DB 和 Destination DB,然後根據需求來切換 DB
GO
-- 建立 Employ Table
CREATE TABLE [dbo].[Employ]
(
[EmpNO] [int] NOT NULL,
[EmpName] [nvarchar](20) NULL,
[Birthday] [date] NULL,
CONSTRAINT [PK_Employ] PRIMARY KEY CLUSTERED
(
[EmpNO] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
-- Destination DB 內的 Employ 則不需要下面這段
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'員工編號' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Employ', @level2type=N'COLUMN',@level2name=N'EmpNO'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'員工姓名' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Employ', @level2type=N'COLUMN',@level2name=N'EmpName'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'生日' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Employ', @level2type=N'COLUMN',@level2name=N'Birthday'
GO
星期一, 1月 12, 2015
[Azure] VM - 負載平衡和高可用性
閱讀 MVA 上影片後的筆記文,以下為建立負載平衡和高可用性步驟
加入 => 網路服務 => 虛擬網路 => 自訂建立
輸入虛擬網路名稱、選擇位置和訂用帳戶,之後兩個設定頁面保持預設值(直接下一步,不截圖說明)
已建立的 LBInternet 虛擬網路
- Step1:建立虛擬網路
- Step2:建立雲端服務
- Step3:建立 VM 並設定 Load Balance
- Step4:Load Balance 測試
- Step5:建立高可用性群組
加入 => 網路服務 => 虛擬網路 => 自訂建立
輸入虛擬網路名稱、選擇位置和訂用帳戶,之後兩個設定頁面保持預設值(直接下一步,不截圖說明)
已建立的 LBInternet 虛擬網路
星期一, 1月 05, 2015
[Azure] 兩台 Azure VM 使用內部 IP 互 ping
在 Windows Azure 上同一個虛擬網路中的 VM 可以自由傳遞訊息,不同虛擬網路則不行
先建立一個虛擬網路
輸入名稱、選擇訂用帳戶和位置
不指定的情況下,Azure 會自動指派 DNS 伺服器
用預設子網路就行
完成虛擬網路(VMInternet)的建立
先建立一個虛擬網路
輸入名稱、選擇訂用帳戶和位置
不指定的情況下,Azure 會自動指派 DNS 伺服器
用預設子網路就行
完成虛擬網路(VMInternet)的建立