You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: queries/datetime-variables-example.json
+12-12Lines changed: 12 additions & 12 deletions
Original file line number
Diff line number
Diff line change
@@ -5,34 +5,34 @@
5
5
"style": "business"
6
6
},
7
7
"vars": {
8
-
"reportTitle": "시각 변수 사용 예제 (JSON)",
9
-
"department": "개발팀"
8
+
"reportTitle": "DateTime Variables Example (JSON)",
9
+
"department": "Development"
10
10
},
11
11
"sheets": [
12
12
{
13
-
"name": "기본시각함수",
13
+
"name": "BasicTimeFunctions",
14
14
"use": true,
15
-
"query": "SELECT '${reportTitle}' as 리포트제목, '${CURRENT_TIMESTAMP}' as 현재시각_UTC, '${NOW}' as 현재시각_NOW, '${CURRENT_DATE}' as 현재날짜, '${CURRENT_TIME}' as 현재시간, '${GETDATE}' as SQL서버형식"
15
+
"query": "SELECT '${reportTitle}' as ReportTitle, '${CURRENT_TIMESTAMP}' as CurrentTime_UTC, '${NOW}' as CurrentTime_NOW, '${CURRENT_DATE}' as CurrentDate, '${CURRENT_TIME}' as CurrentTime, '${GETDATE}' as SQLServerFormat"
16
16
},
17
17
{
18
-
"name": "한국시간대",
18
+
"name": "KoreanTimeZone",
19
19
"use": true,
20
-
"query": "SELECT '${KST_NOW}' as 한국현재시각, '${KST_DATE}' as 한국현재날짜, '${KST_TIME}' as 한국현재시간, '${KST_DATETIME}' as 한국날짜시간, '${KST_ISO_TIMESTAMP}' as 한국ISO형식"
20
+
"query": "SELECT '${KST_NOW}' as KST_Now, '${KST_DATE}' as KST_Date, '${KST_TIME}' as KST_Time, '${KST_DATETIME}' as KST_DateTime, '${KST_ISO_TIMESTAMP}' as KST_ISO_Format"
21
21
},
22
22
{
23
-
"name": "한국식날짜형식",
23
+
"name": "KoreanDateFormat",
24
24
"use": true,
25
-
"query": "SELECT '${KOREAN_DATE}' as 한국식날짜, '${KOREAN_DATETIME}' as 한국식날짜시간, '${KOREAN_DATE_SHORT}' as 한국식날짜짧은형식, '${WEEKDAY_KR}' as 한국어요일, '${MONTH_KR}' as 한국어월, '${YEAR_KR}' as 한국어년도"
25
+
"query": "SELECT '${KOREAN_DATE}' as KoreanDate, '${KOREAN_DATETIME}' as KoreanDateTime, '${KOREAN_DATE_SHORT}' as KoreanDateShort, '${WEEKDAY_KR}' as WeekdayKorean, '${MONTH_KR}' as MonthKorean, '${YEAR_KR}' as YearKorean"
26
26
},
27
27
{
28
-
"name": "파일명생성예제",
28
+
"name": "FilenameExample",
29
29
"use": true,
30
-
"query": "SELECT '${department}' as 부서명, 'Report_${DATE_YYYYMMDD}_${department}.xlsx' as 추천파일명, '${KOREAN_DATE} ${WEEKDAY_KR} 리포트' as 제목예시, 'WHERE created_date >= ''${DATE_YYYY_MM_DD}'' AND department = ''${department}''' as 쿼리조건예시"
30
+
"query": "SELECT '${department}' as Department, 'Report_${DATE_YYYYMMDD}_${department}.xlsx' as RecommendedFilename, '${KOREAN_DATE} ${WEEKDAY_KR} Report' as TitleExample, 'WHERE created_date >= ''${DATE_YYYY_MM_DD}'' AND department = ''${department}''' as QueryConditionExample"
31
31
},
32
32
{
33
-
"name": "타임스탬프활용",
33
+
"name": "TimestampUsage",
34
34
"use": true,
35
-
"query": "SELECT '${UNIX_TIMESTAMP}' as 유닉스타임스탬프, '${TIMESTAMP_MS}' as 밀리초타임스탬프, '${ISO_TIMESTAMP}' as ISO형식, '${DATETIME_YYYYMMDD_HHMMSS}' as 파일명용시각, 'backup_${DATE_YYYYMMDD}_${department}' as 백업파일명예시"
35
+
"query": "SELECT '${UNIX_TIMESTAMP}' as UnixTimestamp, '${TIMESTAMP_MS}' as MillisecondTimestamp, '${ISO_TIMESTAMP}' as ISOFormat, '${DATETIME_YYYYMMDD_HHMMSS}' as FilenameDateTime, 'backup_${DATE_YYYYMMDD}_${department}' as BackupFilenameExample"
"query": "SELECT CustomerCode as 고객코드, CustomerName as 고객명, ContactName as 담당자명, Email as 이메일, Phone as 전화번호, City as 도시, Region as 지역, CustomerType as 고객유형, CreditLimit as 신용한도, CASE WHEN IsActive = 1 THEN '활성' ELSE '비활성' END as 상태, FORMAT(CreatedDate, 'yyyy-MM-dd') as 등록일 FROM SampleDB.dbo.Customers ORDER BY CustomerID"
35
-
},
36
-
{
37
-
"name": "활성_고객_목록",
38
-
"use": true,
39
-
"query": "SELECT CustomerCode as 고객코드, CustomerName as 고객명, ContactName as 담당자명, Email as 이메일, Phone as 전화번호, City as 도시, Region as 지역, CustomerType as 고객유형, FORMAT(CreditLimit, 'N0') as 신용한도, FORMAT(CreatedDate, 'yyyy-MM-dd') as 등록일 FROM SampleDB.dbo.Customers WHERE IsActive = 1 ORDER BY CreditLimit DESC"
40
-
},
41
-
{
42
-
"name": "주요지역_고객",
43
-
"use": true,
44
-
"query": "SELECT CustomerCode as 고객코드, CustomerName as 고객명, ContactName as 담당자명, City as 도시, Region as 지역, CustomerType as 고객유형, FORMAT(CreditLimit, 'N0') as 신용한도 FROM SampleDB.dbo.Customers WHERE Region IN (${regionList}) AND IsActive = 1 ORDER BY Region, CreditLimit DESC"
45
-
},
46
-
{
47
-
"name": "전체_주문_목록",
48
-
"use": true,
49
-
"query": "SELECT OrderNumber as 주문번호, OrderDate as 주문일, RequiredDate as 요청일, ShippedDate as 배송일, OrderStatus as 주문상태, PaymentStatus as 결제상태, FORMAT(TotalAmount, 'N0') as 총금액, PaymentMethod as 결제방법, ShipVia as 배송업체, Notes as 비고 FROM SampleDB.dbo.Orders ORDER BY OrderDate DESC"
50
-
},
51
-
{
52
-
"name": "기간별_주문",
30
+
"name": "Orders",
53
31
"use": true,
54
-
"query": "SELECT o.OrderNumber as 주문번호, FORMAT(o.OrderDate, 'yyyy-MM-dd') as 주문일, c.CustomerName as 고객명, c.Region as 지역, o.OrderStatus as 주문상태, o.PaymentStatus as 결제상태, FORMAT(o.TotalAmount, 'N0') as 총금액, o.PaymentMethod as 결제방법 FROM SampleDB.dbo.Orders o INNER JOIN SampleDB.dbo.Customers c ON o.CustomerID = c.CustomerID WHERE o.OrderDate >= '${startDate}' AND o.OrderDate <= '${endDate}' ORDER BY o.OrderDate DESC"
32
+
"maxRows": 1000,
33
+
"aggregateColumn": "OrderStatus",
34
+
"db": "sampleDB",
35
+
"query": "SELECT * FROM Orders WHERE OrderDate >= '${startDate}' AND OrderDate <= '${endDate}'"
55
36
},
56
37
{
57
-
"name": "처리중_주문",
58
-
"use": true,
59
-
"query": "SELECT o.OrderNumber as 주문번호, FORMAT(o.OrderDate, 'yyyy-MM-dd') as 주문일, c.CustomerName as 고객명, c.ContactName as 담당자, c.Phone as 연락처, o.OrderStatus as 주문상태, o.PaymentStatus as 결제상태, FORMAT(o.TotalAmount, 'N0') as 총금액, o.Notes as 비고 FROM SampleDB.dbo.Orders o INNER JOIN SampleDB.dbo.Customers c ON o.CustomerID = c.CustomerID WHERE o.OrderStatus IN (${statusList}) ORDER BY o.OrderDate"
60
-
},
61
-
{
62
-
"name": "주문_상세_내역",
63
-
"use": true,
64
-
"query": "SELECT o.OrderNumber as 주문번호, FORMAT(o.OrderDate, 'yyyy-MM-dd') as 주문일, c.CustomerName as 고객명, od.ProductCode as 제품코드, od.ProductName as 제품명, FORMAT(od.UnitPrice, 'N0') as 단가, od.Quantity as 수량, CONCAT(od.Discount, '%') as 할인율, FORMAT(od.LineTotal, 'N0') as 금액 FROM SampleDB.dbo.Orders o INNER JOIN SampleDB.dbo.Customers c ON o.CustomerID = c.CustomerID INNER JOIN SampleDB.dbo.OrderDetails od ON o.OrderID = od.OrderID WHERE o.OrderDate >= '${startDate}' AND o.OrderDate <= '${endDate}' ORDER BY o.OrderDate DESC, od.OrderDetailID"
65
-
},
66
-
{
67
-
"name": "고객별_주문_집계",
68
-
"use": true,
69
-
"query": "SELECT c.CustomerCode as 고객코드, c.CustomerName as 고객명, c.Region as 지역, c.CustomerType as 고객유형, COUNT(o.OrderID) as 주문횟수, FORMAT(SUM(o.TotalAmount), 'N0') as 총주문금액, FORMAT(AVG(o.TotalAmount), 'N0') as 평균주문금액, MIN(FORMAT(o.OrderDate, 'yyyy-MM-dd')) as 첫주문일, MAX(FORMAT(o.OrderDate, 'yyyy-MM-dd')) as 최근주문일 FROM SampleDB.dbo.Customers c INNER JOIN SampleDB.dbo.Orders o ON c.CustomerID = o.CustomerID WHERE o.OrderDate >= '${startDate}' AND o.OrderDate <= '${endDate}' GROUP BY c.CustomerCode, c.CustomerName, c.Region, c.CustomerType ORDER BY SUM(o.TotalAmount) DESC"
70
-
},
71
-
{
72
-
"name": "월별_매출_집계",
73
-
"use": true,
74
-
"query": "SELECT YEAR(o.OrderDate) as 년도, MONTH(o.OrderDate) as 월, COUNT(o.OrderID) as 주문건수, COUNT(DISTINCT o.CustomerID) as 고객수, FORMAT(SUM(o.TotalAmount), 'N0') as 총매출, FORMAT(AVG(o.TotalAmount), 'N0') as 평균주문금액, COUNT(CASE WHEN o.OrderStatus = 'Shipped' THEN 1 END) as 배송완료, COUNT(CASE WHEN o.OrderStatus = 'Processing' THEN 1 END) as 처리중 FROM SampleDB.dbo.Orders o WHERE o.OrderDate >= '${startDate}' AND o.OrderDate <= '${endDate}' GROUP BY YEAR(o.OrderDate), MONTH(o.OrderDate) ORDER BY YEAR(o.OrderDate), MONTH(o.OrderDate)"
38
+
"name": "Customers",
39
+
"use": false,
40
+
"maxRows": 500,
41
+
"aggregateColumn": "Region",
42
+
"db": "erpDB",
43
+
"query": "SELECT * FROM Customers WHERE region IN (${regionList})"
75
44
},
76
45
{
77
-
"name": "지역별_매출_분석",
78
-
"use": true,
79
-
"query": "SELECT c.Region as 지역, COUNT(DISTINCT c.CustomerID) as 고객수, COUNT(o.OrderID) as 주문건수, FORMAT(SUM(o.TotalAmount), 'N0') as 총매출, FORMAT(AVG(o.TotalAmount), 'N0') as 평균주문금액, COUNT(CASE WHEN c.CustomerType = 'VIP' THEN 1 END) as VIP고객수, COUNT(CASE WHEN c.CustomerType = 'Premium' THEN 1 END) as Premium고객수, COUNT(CASE WHEN c.CustomerType = 'Regular' THEN 1 END) as 일반고객수 FROM SampleDB.dbo.Customers c INNER JOIN SampleDB.dbo.Orders o ON c.CustomerID = o.CustomerID WHERE o.OrderDate >= '${startDate}' AND o.OrderDate <= '${endDate}' AND c.IsActive = 1 GROUP BY c.Region ORDER BY SUM(o.TotalAmount) DESC"
46
+
"name": "Orders_By_Status",
47
+
"use": false,
48
+
"maxRows": 800,
49
+
"aggregateColumn": "OrderStatus",
50
+
"db": "sampleDB",
51
+
"query": "SELECT OrderNumber, OrderDate, OrderStatus, PaymentStatus, TotalAmount FROM Orders WHERE OrderDate >= '${startDate}' AND OrderDate <= '${endDate}' AND OrderStatus IN (${statusList})"
80
52
},
81
53
{
82
-
"name": "주문요약뷰_테스트",
54
+
"name": "Products_By_Category",
83
55
"use": false,
84
-
"query": "SELECT OrderID as 주문ID, OrderNumber as 주문번호, FORMAT(OrderDate, 'yyyy-MM-dd') as 주문일, CustomerCode as 고객코드, CustomerName as 고객명, CustomerCity as 고객도시, CustomerRegion as 고객지역, OrderStatus as 주문상태, PaymentStatus as 결제상태, FORMAT(TotalAmount, 'N0') as 총금액, ItemCount as 상품종류수, TotalQuantity as 총수량 FROM SampleDB.dbo.vw_OrderSummary ORDER BY OrderDate DESC"
56
+
"maxRows": 600,
57
+
"aggregateColumn": "CategoryName",
58
+
"db": "sampleDB",
59
+
"query": "SELECT p.ProductID, p.ProductName, c.CategoryName, p.UnitPrice FROM Products p INNER JOIN Categories c ON p.CategoryID = c.CategoryID WHERE p.CategoryID IN (${categoryIds})"
0 commit comments