Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Đếm MDX theo thời gian mà không có phân cấp cụ thể

Tôi đã gặp sự cố tương tự và đã giải quyết nó như sau:

SSAS thực sự không thể cho bạn biết bạn đang ở hệ thống phân cấp nào, vì vậy bạn không thể làm điều này đơn giản như trong ví dụ của bạn. tuy nhiên, những điều sau đây đã làm việc cho tôi. Tôi đã cố gắng làm lại nó theo cách đặt tên của bạn, vì vậy hãy kiểm tra các lỗi cú pháp rõ ràng ...

Tất cả điều này nằm trong tập lệnh tính toán khối lập phương của bạn, bạn có thể cần sử dụng 'chế độ xem tập lệnh' thay vì 'chế độ xem khối'.

CREATE MEMBER CURRENTCUBE.[Measures].[Commitment Total] AS NULL;

Sau đó, xác định nó sau trong tập lệnh cho từng phân cấp:

SCOPE (DESCENDANTS([Date Dim].[FY Hierarchy],,AFTER));    
[Measures].[Commitment Total] =
sum(
[Date Dim].[FY Hierarchy].[Fiscal Year].members(0):[Date Dim].[FY Hierarchy].currentMember
, [Measures].[Commitment Count]);
END SCOPE;

SCOPE (DESCENDANTS([Date Dim].[CY Hierarchy],,AFTER));    
[Measures].[Commitment Total] =
sum(
[Date Dim].[CY Hierarchy].[Calendar Year].members(0):[Date Dim].[CY Hierarchy].currentMember
, [Measures].[Commitment Count]);
END SCOPE;

Bây giờ nó sẽ hoạt động tương ứng, phụ thuộc vào hệ thống phân cấp có trong truy vấn. Lưu ý rằng nó sẽ là NULL nếu không có phân cấp nào trong truy vấn.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Có cần sử dụng # để tạo bảng tạm trong máy chủ SQL không?

  2. Sử dụng SSDT, làm cách nào để giải quyết lỗi SQL71561 khi tôi có dạng xem tham chiếu đến các đối tượng trong cơ sở dữ liệu khác?

  3. TSQL Shred XML - Điều này có đúng không hay có cách nào tốt hơn (newbie @ shredding XML)

  4. cách hiển thị giá trị cột chỉ một lần nếu nó được lặp lại và để trống cho đến khi giá trị khác xuất hiện trong sql

  5. Lệnh SQL INSERT đang hoạt động nhưng dữ liệu không xuất hiện trong bảng