Reporting Services 2: 参数化报表
这篇随笔介绍一下Reporting Services的参数化报表(Parameterized Report)。 按照报表内容的可变性,报表分为静态报表和参数化报表,数据驱动的参数化报表更符合人们的需求习惯。 首先来看一下使用Reporting Services创建参数化报表的步骤: 1、在项目AWRepor
这篇随笔介绍一下Reporting Services的参数化报表(Parameterized Report)。
按照报表内容的可变性,报表分为静态报表和参数化报表,数据驱动的参数化报表更符合人们的需求习惯。
首先来看一下使用Reporting Services创建参数化报表的步骤:
1、在项目AWReport中使用右键菜单“添加”→“新建项”→“报表”添加一个新的报表rptPR.rdl;
2、在报表rptPR.rdl的“数据”选项卡中,单击数据集下来列表新建数据集DataEmployee(如图1所示),单击“通用查询设计器”切换到查询设计状态,添加表HumanResources.Employee,并选择所有列作为输出。
图1 新建数据集
参数名称
数据类型
提示
pTitle
String
头衔
pMStatus
String
婚姻状况
pGender
String
性别
pSFlag
Boolean
是否带薪
pBDate
DateTime
生日
表1 参数名称、数据类型和提示的设置
4、切换到报表的“数据”选项卡,为相应字段添加图2所示的筛选条件。
图2 为字段添加参数作为筛选条件
5、切换到报表的“布局”选项卡,为报表设计图3所示的布局。
图3 报表布局
6、在预览状态下,在报表中显示的参数项目中为参数指定不同的值,就可以看到图4所示的参数化报表了。
图4 预览状态下的参数化报表
“婚姻状况”的实际取值有两种——M(Married,已婚的)和S(Single或Sole,未婚的),而对于用户来说,该参数的值使用文本框来接受输入显然是不合适的,例如输入单词的全拼或Unmarried的第一个字母U就查不出任何结果,可以考虑在“报表参数”对话框的“可用值”区域进行图5所示的设置,这样“婚姻状况”参数的输入就可以使用下拉列表来进行了。“性别”参数应该进行同样的设置。
图5 为“婚姻状况”设置可用值
如果用户对于公司雇员的头衔不熟悉或者头衔有不同的叫法,同样会带来上面的困扰,而“头衔”字段的值并不是固定的,系统维护时很可能出现增加或减少的情况,这时候可以考虑从查询中为该参数指定“可用值”。需要注意的是,如果使用同一数据集DataEmployee中的Title字段作为可用值的来源,而Title字段又是第一个参数时会出现前向依赖错误,因为此时Title字段的取值是由后面的参数决定的;而如果将Title字段作为最后一个参数时,每次更改其它参数的值都会引起Title参数下拉列表中数据的刷新和变动(这个可用来做如省/市/县等的联动)。此时,应该考虑,通过图1所示的方法另外新建一个数据集DataTitle,并指定其数据来源为:
SELECT Distinct Title FROM HumanResources.Employee
然后按照图6所示的设置指定“头衔”参数的可用值。
图6 为“头衔”设置可用值
另外,可以为每个参数指定“默认值”,减少常见查询时的数据输入。
报表在一个Web项目中的显示如图7所示。
图7 Web项目中显示的参数化报表(点击小图看大图)
Reporting Services在一定程度上满足了用户对参数化报表的需求,但是也存在一些可以改进的地方,如一旦定义参数就不能忽略参数的值进行报表的查看。

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen











Neue Funktion der PHP5.4-Version: So verwenden Sie aufrufbare Typhinweisparameter, um aufrufbare Funktionen oder Methoden zu akzeptieren. Einführung: Die PHP5.4-Version führt eine sehr praktische neue Funktion ein: Sie können aufrufbare Typhinweisparameter verwenden, um aufrufbare Funktionen oder Methoden zu akzeptieren. Mit dieser neuen Funktion können Funktionen und Methoden entsprechende aufrufbare Argumente ohne zusätzliche Prüfungen und Konvertierungen direkt angeben. In diesem Artikel stellen wir die Verwendung von aufrufbaren Typhinweisen vor und stellen einige Codebeispiele bereit.

Produktparameter beziehen sich auf die Bedeutung von Produktattributen. Zu den Bekleidungsparametern gehören beispielsweise Marke, Material, Modell, Größe, Stil, Stoff, anwendbare Gruppe, Farbe usw.; zu den Lebensmittelparametern gehören Marke, Gewicht, Material, Gesundheitslizenznummer, anwendbare Gruppe, Farbe usw.; Dazu gehören Marke, Größe, Farbe, Herkunftsort, anwendbare Spannung, Signal, Schnittstelle und Leistung usw.

Die Sicherheitsüberprüfung von C++-Parametertypen stellt durch Überprüfungen zur Kompilierungszeit, Laufzeitüberprüfungen und statischen Behauptungen sicher, dass Funktionen nur Werte erwarteter Typen akzeptieren, wodurch unerwartetes Verhalten und Programmabstürze verhindert werden: Typüberprüfung zur Kompilierungszeit: Der Compiler überprüft die Typkompatibilität. Überprüfung des Laufzeittyps: Verwenden Sie Dynamic_cast, um die Typkompatibilität zu überprüfen und eine Ausnahme auszulösen, wenn keine Übereinstimmung vorliegt. Statische Behauptung: Typbedingungen zur Kompilierzeit geltend machen.

Während des Entwicklungsprozesses kann es vorkommen, dass wir auf die folgende Fehlermeldung stoßen: PHPWarning: in_array()expectsparameter. Diese Fehlermeldung wird bei Verwendung der Funktion in_array() angezeigt. Sie kann durch eine falsche Parameterübergabe der Funktion verursacht werden. Werfen wir einen Blick auf die Lösung dieser Fehlermeldung. Zunächst müssen Sie die Rolle der Funktion in_array() klären: Überprüfen Sie, ob ein Wert im Array vorhanden ist. Der Prototyp dieser Funktion ist: in_a

Hyperbelfunktionen werden mithilfe von Hyperbeln anstelle von Kreisen definiert und entsprechen gewöhnlichen trigonometrischen Funktionen. Es gibt den Verhältnisparameter in der hyperbolischen Sinusfunktion aus dem angegebenen Winkel im Bogenmaß zurück. Aber machen Sie das Gegenteil, oder anders gesagt. Wenn wir einen Winkel aus einem hyperbolischen Sinus berechnen wollen, benötigen wir eine umgekehrte hyperbolische trigonometrische Operation wie die hyperbolische Umkehrsinusoperation. In diesem Kurs wird gezeigt, wie Sie die hyperbolische Umkehrsinusfunktion (asinh) in C++ verwenden, um Winkel mithilfe des hyperbolischen Sinuswerts im Bogenmaß zu berechnen. Die hyperbolische Arkussinusoperation folgt der folgenden Formel -$$\mathrm{sinh^{-1}x\:=\:In(x\:+\:\sqrt{x^2\:+\:1})}, Wo\:In\:ist\:natürlicher Logarithmus\:(log_e\:k)

Der i9-12900H ist ein 14-Kern-Prozessor und die Threads sind ebenfalls sehr hoch. Einige Parameter wurden verbessert und können den Benutzern ein hervorragendes Erlebnis bieten . Überprüfung der Parameterbewertung des i9-12900H: 1. Der i9-12900H ist ein 14-Kern-Prozessor, der die q1-Architektur und die 24576-KB-Prozesstechnologie übernimmt und auf 20 Threads aktualisiert wurde. 2. Die maximale CPU-Frequenz beträgt 1,80! 5,00 GHz, was hauptsächlich von der Arbeitslast abhängt. 3. Im Vergleich zum Preis ist es sehr gut geeignet. Das Preis-Leistungs-Verhältnis ist sehr gut und für einige Partner, die eine normale Nutzung benötigen, sehr gut geeignet. i9-12900H Parameterbewertung und Leistungsbenchmarks

Obwohl große Sprachmodelle (LLM) eine starke Leistung aufweisen, kann die Anzahl der Parameter leicht Hunderte oder Hunderte von Milliarden erreichen, und der Bedarf an Computerausrüstung und Speicher ist so groß, dass sich normale Unternehmen diese nicht leisten können. Bei der Quantisierung handelt es sich um eine gängige Komprimierungsoperation, die einen Teil der Modellleistung im Austausch für eine schnellere Inferenzgeschwindigkeit und einen geringeren Speicherbedarf opfert, indem die Genauigkeit der Modellgewichte (z. B. 32 Bit auf 8 Bit) verringert wird. Bei LLMs mit mehr als 100 Milliarden Parametern können die vorhandenen Komprimierungsmethoden jedoch weder die Genauigkeit des Modells aufrechterhalten, noch können sie effizient auf der Hardware ausgeführt werden. Kürzlich haben Forscher vom MIT und NVIDIA gemeinsam eine universelle Post-Training-Quantisierung (GPQ) vorgeschlagen.

Ein Open-Source-Modell, das GPT-4 schlagen kann, ist erschienen! Der neueste Kampfbericht der großen Modellarena: Das Open-Source-Modell CommandR+ mit 104 Milliarden Parametern kletterte auf den 6. Platz, gleichauf mit GPT-4-0314 und übertraf GPT-4-0613. Image Dies ist auch das erste Modell mit offenem Gewicht, das GPT-4 im Bereich der großen Modelle übertrifft. Die große Modellarena ist einer der wenigen Testbenchmarks, denen der Meister Karpathy vertraut. Bild CommandR+ vom KI-Einhorn Cohere. Mitbegründer und CEO dieses großen Modell-Startups ist kein geringerer als Aidan Gomez, der jüngste Autor von Transformer (auch „der Weizenernter“ genannt). Sobald dieser Kampfbericht herauskam, startete eine weitere Welle großer Modellclubs
