[Microsoft][ODBC Excel Driver] Syntax error (missing operator) in query expression 'case when ...', Odbc driver returned an error (SQLExecDirectW).

OBIEE 11g'de Excel'den çektiğimiz veriler ile http://localhost:7001/analytics sayfasında yeni bir analiz oluşturmak istediğimizde bu hata ile karşılaşabiliriz. Bu hata, analize eklenen bir sütun üzerindeyken Edit Formula ekranına case when ifadesi yazdığımızda ortaya çıkar. (Genellikle iç içe case ifadeleri varsa ve bu ifadeler numeric değilse ortaya çıkar.) Bunun nedeni Excel'in Case ifadelerini desteklemiyor olmasıdır.




Hatanın ayrıntılı hali:

Error Codes: OPR4ONWY:U9IM8TAC:OI2DL65P
State: HY000. Code: 10058. [NQODBC] [SQL_STATE: HY000] [nQSError: 10058] A general error has occurred.
[nQSError: 16001] ODBC error state: 37000 code: -3100 message:
[Microsoft][ODBC Excel Driver] Syntax error (missing operator) in query expression 'CASE WHEN PRODUCT."NAME"='Bag' THEN 1 ..'
[nQSError: 16014] SQL statement preparation failed. (HY000)
SQL Issued: SELECT Product.Name saw_0, CASE WHEN PRODUCT."NAME"='Bag' THEN 1 ... END saw_1 FROM Product ORDER BY saw_0, saw_1

Hatanın çözümü şu şekildedir:
  • BI Administration da Excel verilerinin bulunduğu repository açılır.
  • Physical layer'da Excel verilerini tutan database üzerinde sağ tuş Properties->Features sekmesinde Query DBMS butonu tıklanır.
  • Yapılan değişikliğin analize etki etmesi için ve Subject Area'nın yeniden yüklenmesi için Oracle BI Answers'da Criteria->Subject Area bölümünde Reload Server Metadata tıklanır.
İyi Çalışmalar

Yorumlar

Bu blogdaki popüler yayınlar

Natural Key ve Surrogate Key Nedir?

PL/SQL'de DEĞİŞKEN TANIMLAMA, EKRANA YAZI YAZDIRMA ve GÜNCELLEME

SQL Server Analysis Services 2012’de Multidimensional Model ve Tabular Model