Aylık arşivler: Ocak 2016

bi platform support tool – java izleme – desteklenen platformlar

BI Platform Support Tool, Sap Business Objects uygulama sunucularının servislerinin özelliklerini, parametrelerini ve ölçütlerini (metrics) pdf ya da xml dosyasına çıkarmaya yarar. Çıkarılan dosya ile danışmanlar, adminler BI platforma doğrudan bağlı olmadıklarında sistem özelliklerine erişebilir. Sap’den destek istendiğinde platformunun özetini göndermek için kullanılabilir. Ayrıca BI Support Tool sistemi analiz ederek performansı optimize edecek öneriler verebilir.

Sap Business Objects uygulama servislerini izlemek (java monitor) için BO Suite içinde gelen jconsole (sap_bo_bip_kurulum_dizini/SAP BusinessObjects Enterprise XI 4.0/win64_x64/sapjvm/bin/jconsole.exe) kullanılabilir, ya da visual vm kurularak izlenebilir. Not: Sap BO Java Servisleri (Central Configuration Manager) hangi işletim sistemi kullanıcısı ile çalıştırılıyorsa java izleme araçları da aynı kullanıcı ile çalıştırılmalıdır.

Sap Business Objects için Desteklenen Platform Ürün Uyumluluk Matrisi (Supported Platforms, Product Avalibility Matrix, PAM) ile sunucularda veya istemciler platform ile uyumlu olan işletim sistemlerinin, tarayıcıların, java sürümlerinin, sistemlerin listesi yer alıyor.
sap_bo_bi_supported_platforms_pam

Kaynaklar:
SAP BI Platform Support Tool
Java and the SAP BO BI platform 4
Visual VM Project Kenai
SAP BusinessObjects BI 4.1 Supported Platforms (PAM)

sap bo webi bilgi istenen raporları zamanlamak

Sap Business Objects Web Intelligence ortamında bilgi istenen (prompt) raporları dinamik tarih (değer) ile zamanlamak (schedule) için ve veya mantıksal operatörleri aşağıdaki gibi kullanılabilir. Bilgi isteme opsiyonel (optional prompt) olmalıdır.

sap_bo_webi_schedule_prompt

Kaynak:
Scheduled Reports & User input in Prompts

dijkstra algoritması python

Dijkstra algoritması, Veri Madenciliğinde (Optimizasyonda) kullanılan Dna’ların benzemezliklerine (benzerliklerine) göre kümeleme algoritmasının Python kodu. (Dijkstra’s Algorithm, Data Mining, Optimization, Clustering Dissimilarity Matrix Calculation)

Ödev Soru 2: (pdf)

A group of plant biologists has identified 12 new species in a restricted geographical area. Based on a DNA sequence study, they have calculated a dissimilarity index (out of 100) for each pair. The resulting dissimilarity matrix is given below. They would like to understand how these species are related with each other. Are they all closely related to each other? Or, are they related to each other in group(s)? In order to answer these questions, they aim to cluster/organize them in groups for which
* dissimilarity within the group is minimal, and
* dissimilarity between the groups is maximal.
To achieve this goal, they use the following procedure:
Step 1. Given a threshold value (D) for dissimilarity index, construct a dissimilarity network where there is an arc between any two species with a dissimilarity index less than or equal to D. Identify each connected component and declare them as groups.
Step 2. Within each group construct a minimum spanning tree of dissimilarity so that the group’s similarity score can be calculated as the ratio of number of species in the group to the total dissimilarity index of the corresponding spanning tree.
As a result of this study, they will also identify a viable threshold value D.
Implement the above classification algorithm using a generic programming language (such as Python) for different values of D, identify each class and calculate the group similarity index for at least three different threshold values where the elements of the clusters and/or clusters’ similarity scores change.

dissimilarity_matrix

dissimilarity_cluster.py


# similarity cluster

import sets

dissimilarity_cluster = [
  [-1,50,21,41,44,18,91,12,90,77,89,31],
  [50,-1,81,88,36,70,19,49,67,100,35,74],
  [21,81,-1,40,98,79,65,84,60,15,37,60],
  [41,88,40,-1,18,49,31,96,78,93,41,38],
  [44,36,98,18,-1,36,77,94,70,52,49,31],
  [18,70,79,49,36,-1,87,40,15,90,0,46],
  [91,19,65,31,77,87,-1,40,31,34,22,60],
  [12,49,84,96,94,40,40,-1,15,25,3,87],
  [90,67,60,78,70,15,31,15,-1,60,17,100],
  [77,100,15,93,52,90,34,25,60,-1,21,83],
  [89,35,37,41,49,0,22,3,17,21,-1,15],
  [31,74,60,38,31,46,60,87,100,83,15,-1]
]

t = 15 # threshold

items = sets.Set() # 1..12

for i in range(1,len(dissimilarity_cluster)+1):
  items.add(i)

tree_list_set = [] # result list of cluster sets
tls = 0

comps = sets.Set() # compare set
comps.add(items.pop())

new_added_flag = 1

while (len(items)>0):
  # print items
  # print comps
  # print tls
  if (new_added_flag==0):
    tree_list_set.append( comps.copy() )
    comps.clear()
    comps.add(items.pop())
    new_added_flag = 1
    tls += 1
  else:
    new_added_flag = 0
  items_tmp = items.copy()
  comps_tmp = comps.copy()
  for i in comps_tmp:
    items_tmp = items.copy()
    comps_tmp = comps.copy()
    for j in items_tmp:
      if dissimilarity_cluster[i-1][j-1]<=t:
        # print "i: "+str(i)+"   j: "+str(j)
        items.remove(j)
        comps.add(j)
        new_added_flag = 1

if len(comps)>0:
  tree_list_set.append( comps.copy() )
  tls += 1

print tree_list_set

sap bo webi serbest sql veri kaynağı (free hand sql)

Sap Business Objects 4.1 Sp 5 ile serbestçe sql yazabilmeye imkan sağlayan Free Hand Sql özelliği geldi. Excel Veri Kaynağı özelliği gibi sadece Java Applet ile kullanılabiliyor. Web Intelligence’da varolan Custom Sql özelliği gibi aynı veri tipinde objeler kullanılma zorunluluğu kalkıyor ve Sql sonucu her bir kolonun veri tipi belirlenebiliyor.

sap_bo_webi_free_hand_sql

Kaynaklar:
Free-Hand SQL Feature now available with Web Intelligence 4.1 SP5
Free-Hand SQL Extension Sample for Web Intelligence for 4.1 SP5

python Türkçe karakter

Metin içindeki İngilizce alfabede yer almayan Türkçe karakterleri çeviren ayrıca alfabe ve rakam harici karakterleri temizleyen python kodu.


#!/usr/bin/python
# -*- coding: utf-8 -*-

meaning_chars = [ '-', '_' ] # .

def tr2en(str):
  replace_chars = [ ('ı','i'), ('İ','I'), ('ü','u'), ('Ü','U'), ('ö','o'), ('Ö','O'), ('ç','c'), ('Ç','C'), ('ş','s'), ('Ş','S'), ('ğ','g'), ('Ğ','G') ]
  for search, replace in replace_chars:
    str = str.replace(search, replace)
  return str

def only_chars(str):
  chars = [ 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z'
            'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'
            '0', '1', '2', '3', '4', '5', '6', '7', '8', '9'
          ]
  str2 = ''
  for s in str:
    if s in chars:
      str2 += s
    else:
      str2 += ' '
  return str2

def clear_spaces(str):
  l = str.split(' ')
  l2 = []
  for li in l:
    if len(li)>0:
      l2.append(li)
  return ' '.join(l2)

def clear_chars(str):
  return clear_spaces(only_chars(tr2en(str)))

print clear_chars("as,")

sap bo upgrade management tool internal_use_only_noversioncheck

Sap Business Objects ortamları arasında obje taşımaları Promotion Management ile yapılması önerilir. Eğer aynı versiyonlar arası taşıma Upgrade Management Tool ile yapılmak istenirse UMT 20012 hatası alınır. Genel tecrübem (kanaatim) çok sayıda objenin Promotion Management ile taşınmasının daha uzun sürdüğü yönünde. Bu sebepten veya farklı sebeplerden dolayı aynı versiyonlar arası obje taşınması Upgrade Management Tools ile yapılmak istenirse -internal_use_only_noversioncheck parametresi ile çalıştırılarak yapılabilir.

sap_bo_umt_noversioncheck

Kaynaklar:
BO4 – Upgrade Management Tool – internal_use_only_noversioncheck
BO4 – Upgrade Management tool error