当我使用SUM时,编辑器的intellisense向我展示了我的表的列,但是当我使用IF或Switch时,我没有显示任何列。
在If(https://powerbi.microsoft.com/es-es/documentation/powerbi-desktop-tutorial-create-calculated-columns/)的这个示例中,[]之间的列工作正常但是当我将列放在[]之间时我有错误
错误
请问好吗?
此致
答案 0 :(得分:0)
我可以看到你正在创建一个度量,而在教程中他们正在创建一个计算列。度量和计算列的行为不同,在创建计算列时,您使用的表达式会占用每行的上下文,因此您可以通过class PhotoAlbumViewController: UIViewController, UICollectionViewDataSource, UICollectionViewDelegate, MKMapViewDelegate {
var pin: Pin!
lazy var context: NSManagedObjectContext = {
let appDelegate = UIApplication.shared.delegate as! AppDelegate
return appDelegate.stack!.context
}()
lazy var fetchedResultsController: NSFetchedResultsController<NSFetchRequestResult> = {
let fetchedRequest = NSFetchRequest<NSFetchRequestResult>(entityName: "Photo")
fetchedRequest.sortDescriptors = []
fetchedRequest.predicate = NSPredicate(format: "pins == %@", argumentArray: [self.pin])
return NSFetchedResultsController(fetchRequest: fetchedRequest, managedObjectContext: self.context, sectionNameKeyPath: nil, cacheName: nil)
}()
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
do {
try fetchedResultsController.performFetch()
} catch let error as NSError {
print("Unable to perform fetch: \(error.localizedDescription)")
}
let fetchedObjects = fetchedResultsController.fetchedObjects
print(fetchedObjects.count) //returns 1 only
}
直接引用任何列。
但是,度量会在不同的上下文中进行评估,因此需要aggregation函数来确定列的值。
示例:计算列。
[Column]
示例:措施。
Is Red Calculated Column = IF([Color]="Red","Yes","No")
注意我使用Is Red Measure = IF(FIRSTNONBLANK([Color],0)="Red","Yes","No")
聚合函数从度量中访问FIRSTNONBLANK
列。
根据您的衡量标准,上述表达方式可能对您不起作用,我仅将其用于示例目的。
如果这有帮助,请告诉我。
答案 1 :(得分:0)
我找到了答案
TotalHoras = SUMX(Horas;if(Horas[Tipo]="M";Horas[Duration]/60;Horas[Duration]))
与@alejandrozuleta一样,说措施需要聚合功能才能运作